This repository was archived by the owner on Feb 26, 2024. It is now read-only.
Add support for emitting iterated inner classes. #822
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.