を拡張した場合、私は閉鎖コンパイラでコンパイルするとき、別のクラスから継承するすべてのECMAScriptの6クラスの警告を取得しています:閉鎖コンパイラは、「不正な型注釈を未知のタイプを...。」警告するのECMAScript 6クラスが
私はしました可能な限り物事を落として、まだ警告を受け取ります:
/src/main/js/com/tm/dev/Dog.js: WARNING - Bad type annotation. Unknown type module$$src$main$js$com$tm$dev$Animal.default
コンパイルされたコードが正しく動作します。 (私は、事態を悪化させた多くの注釈を試しました。)誰でもここで何が期待されているか知っていますか?
Animal.js:
export default class{
constructor(){
this.legs = [];
}
addLeg(legId){
this.legs.push(legId);
}
}
Dog.js:あなたはClosure Compiler's annotation inspectionに慣れていないのであれば、それは明らかに混乱することでしょうけれども
import Animal from './Animal';
export default class extends Animal {
constructor(){
super();
[1,2,3,4].forEach(leg=>this.addLeg(leg));
console.log('Legs: ' + this.legs.toString());
}
}
感謝を。これはバグです。この問題を提出できますか? https://github.com/google/closure-compiler/issues –
@ChadKillingsworth確か:-)名前のないクラスのインポート名を型として認識しないというバグはありますか? – sdgluck
([ここに提出された問題](https://github.com/google/closure-compiler/issues/1825)) – sdgluck