clutz icon indicating copy to clipboard operation
clutz copied to clipboard

incremental clutz does not handle open interfaces

Open rkirov opened this issue 6 years ago • 0 comments

If a closure file wants to reopen an interface and add a property:

goog.module('goog.bar');

const I = goog.require('goog.foo.I');

/** @const {string} */
I.prototype.foo;

Incremental clutz currently completely ignores this, while potentially it can emit an appropriate TS interface extension.

declare namespace goog.foo.I {
  interface I {...}

Note, this would be tricky to implement because it would require an emit for 'goog.foo.I', while visiting 'goog.bar';

rkirov avatar Jan 14 '19 20:01 rkirov