Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

Conversation

@rkirov
Copy link
Contributor

@rkirov rkirov commented Jan 9, 2019

Clutz does a separate pass to emit inner properties of a Closure class
(like other classes, interfaces, enums or typedefs) that in TS are not
expressable as statics. The newly found properties are emitted in a
namespace.

This works because TS allows to have a namespace
and a class that share a name (despite both being values).

Previously, this process only worked at a single depth, but with this
change we iterate at aribrary depths for classes and interface, i.e.
inner classes that have their own inner classes.

For now we only interate on classes and interfaces, but technically we
can extend this to enums and typedefs if need arises.

@rkirov rkirov requested a review from evmar January 9, 2019 00:15
@rkirov rkirov force-pushed the double_inner branch 4 times, most recently from 80a549b to 185cf2f Compare January 10, 2019 22:00
Clutz does a separate pass to emit inner properties of a Closure class
(like other classes, interfaces, enums or typedefs) that in TS are not
expressable as statics. The newly found properties are emitted in a
namespace.

This works because TS allows to have a namespace
and a class that share a name (despite both being values).

Previously, this process only worked at a single depth, but with this
change we iterate at aribrary depths for classes and interface, i.e.
inner classes that have their own inner classes.

For now we only interate on classes and interfaces, but technically we
can extend this to enums and typedefs if need arises.
@evmar evmar self-assigned this Jan 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants