72 lines
1.7 KiB
TypeScript
72 lines
1.7 KiB
TypeScript
//// [recursiveComplicatedClasses.ts]
|
|
class Signature {
|
|
public parameters: ParameterSymbol[] = null;
|
|
}
|
|
|
|
function aEnclosesB(a: Symbol) {
|
|
return true;
|
|
}
|
|
|
|
class Symbol {
|
|
public bound: boolean;
|
|
public visible() {
|
|
var b: TypeSymbol;
|
|
return aEnclosesB(b);
|
|
}
|
|
|
|
}
|
|
class InferenceSymbol extends Symbol {
|
|
}
|
|
|
|
class ParameterSymbol extends InferenceSymbol {
|
|
}
|
|
|
|
class TypeSymbol extends InferenceSymbol {
|
|
}
|
|
|
|
//// [recursiveComplicatedClasses.js]
|
|
var __extends = (this && this.__extends) || function (d, b) {
|
|
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
|
|
function __() { this.constructor = d; }
|
|
__.prototype = b.prototype;
|
|
d.prototype = new __();
|
|
};
|
|
var Signature = (function () {
|
|
function Signature() {
|
|
this.parameters = null;
|
|
}
|
|
return Signature;
|
|
})();
|
|
function aEnclosesB(a) {
|
|
return true;
|
|
}
|
|
var Symbol = (function () {
|
|
function Symbol() {
|
|
}
|
|
Symbol.prototype.visible = function () {
|
|
var b;
|
|
return aEnclosesB(b);
|
|
};
|
|
return Symbol;
|
|
})();
|
|
var InferenceSymbol = (function (_super) {
|
|
__extends(InferenceSymbol, _super);
|
|
function InferenceSymbol() {
|
|
_super.apply(this, arguments);
|
|
}
|
|
return InferenceSymbol;
|
|
})(Symbol);
|
|
var ParameterSymbol = (function (_super) {
|
|
__extends(ParameterSymbol, _super);
|
|
function ParameterSymbol() {
|
|
_super.apply(this, arguments);
|
|
}
|
|
return ParameterSymbol;
|
|
})(InferenceSymbol);
|
|
var TypeSymbol = (function (_super) {
|
|
__extends(TypeSymbol, _super);
|
|
function TypeSymbol() {
|
|
_super.apply(this, arguments);
|
|
}
|
|
return TypeSymbol;
|
|
})(InferenceSymbol);
|