2017-03-01 01:09:42 +01:00
|
|
|
// @noImplicitAny: true
|
|
|
|
// @noImplicitThis: true
|
|
|
|
|
2016-03-09 22:06:06 +01:00
|
|
|
let o = {
|
|
|
|
d: "bar",
|
|
|
|
m() {
|
|
|
|
return this.d.length;
|
2016-04-29 19:31:01 +02:00
|
|
|
},
|
|
|
|
f: function() {
|
|
|
|
return this.d.length;
|
2016-03-09 22:06:06 +01:00
|
|
|
}
|
|
|
|
}
|
2016-04-29 19:31:01 +02:00
|
|
|
|
2016-04-02 01:13:57 +02:00
|
|
|
let mutuallyRecursive = {
|
|
|
|
a: 100,
|
|
|
|
start() {
|
|
|
|
return this.passthrough(this.a);
|
|
|
|
},
|
|
|
|
passthrough(n: number) {
|
|
|
|
return this.sub1(n);
|
|
|
|
},
|
|
|
|
sub1(n: number): number {
|
|
|
|
if (n > 0) {
|
|
|
|
return this.passthrough(n - 1);
|
|
|
|
}
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var i: number = mutuallyRecursive.start();
|
|
|
|
interface I {
|
|
|
|
a: number;
|
|
|
|
start(): number;
|
|
|
|
passthrough(n: number): number;
|
|
|
|
sub1(n: number): number;
|
|
|
|
}
|
|
|
|
var impl: I = mutuallyRecursive;
|