clutz
clutz copied to clipboard
Skip emitting provided inner classes redundantly in `processUnprovidedTypes()`
Fix for https://github.com/angular/clutz/pull/822
If an inner class has a non-class-like prop (ex. enum) and the prop is referenced from other jsdoc, the prop is emitted duplicately each time it is referred.
There are the examples in closure-library:
- goog.net.WebChannel.FailureRecovery.State
- goog.net.WebChannel.FailureRecovery.FailureCondition
- goog.proto2.TextFormatSerializer.Tokenizer_.Token
- goog.proto2.TextFormatSerializer.Tokenizer_.TokenTypes
Also added a test case for goog.debug.Trace that has a special structure related this handling.