1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
=== /a.js ===
class A {
>A : Symbol(A, Decl(a.js, 0, 0))
get arguments() {
>arguments : Symbol(A.arguments, Decl(a.js, 0, 9))
return { bar: {} };
>bar : Symbol(bar, Decl(a.js, 2, 10))
}
}
class B extends A {
>B : Symbol(B, Decl(a.js, 4, 1))
>A : Symbol(A, Decl(a.js, 0, 0))
/**
* @param {object} [foo={}]
*/
m(foo = {}) {
>m : Symbol(B.m, Decl(a.js, 6, 19))
>foo : Symbol(foo, Decl(a.js, 10, 3))
/**
* @type object
*/
this.x = foo;
>this.x : Symbol(B.x, Decl(a.js, 10, 14))
>this : Symbol(B, Decl(a.js, 4, 1))
>x : Symbol(B.x, Decl(a.js, 10, 14))
>foo : Symbol(foo, Decl(a.js, 10, 3))
/**
* @type object
*/
this.y = super.arguments.bar;
>this.y : Symbol(B.y, Decl(a.js, 14, 15))
>this : Symbol(B, Decl(a.js, 4, 1))
>y : Symbol(B.y, Decl(a.js, 14, 15))
>super.arguments.bar : Symbol(bar, Decl(a.js, 2, 10))
>super.arguments : Symbol(A.arguments, Decl(a.js, 0, 9))
>super : Symbol(A, Decl(a.js, 0, 0))
>arguments : Symbol(A.arguments, Decl(a.js, 0, 9))
>bar : Symbol(bar, Decl(a.js, 2, 10))
}
}
|