53 lines
1 KiB
Text
53 lines
1 KiB
Text
=== tests/cases/compiler/recursiveComplicatedClasses.ts ===
|
|
class Signature {
|
|
>Signature : Signature
|
|
|
|
public parameters: ParameterSymbol[] = null;
|
|
>parameters : ParameterSymbol[]
|
|
>ParameterSymbol : ParameterSymbol
|
|
>null : null
|
|
}
|
|
|
|
function aEnclosesB(a: Symbol) {
|
|
>aEnclosesB : (a: Symbol) => boolean
|
|
>a : Symbol
|
|
>Symbol : Symbol
|
|
|
|
return true;
|
|
>true : boolean
|
|
}
|
|
|
|
class Symbol {
|
|
>Symbol : Symbol
|
|
|
|
public bound: boolean;
|
|
>bound : boolean
|
|
|
|
public visible() {
|
|
>visible : () => boolean
|
|
|
|
var b: TypeSymbol;
|
|
>b : TypeSymbol
|
|
>TypeSymbol : TypeSymbol
|
|
|
|
return aEnclosesB(b);
|
|
>aEnclosesB(b) : boolean
|
|
>aEnclosesB : (a: Symbol) => boolean
|
|
>b : TypeSymbol
|
|
}
|
|
|
|
}
|
|
class InferenceSymbol extends Symbol {
|
|
>InferenceSymbol : InferenceSymbol
|
|
>Symbol : Symbol
|
|
}
|
|
|
|
class ParameterSymbol extends InferenceSymbol {
|
|
>ParameterSymbol : ParameterSymbol
|
|
>InferenceSymbol : InferenceSymbol
|
|
}
|
|
|
|
class TypeSymbol extends InferenceSymbol {
|
|
>TypeSymbol : TypeSymbol
|
|
>InferenceSymbol : InferenceSymbol
|
|
}
|