03dff41c9f
* Fix getting completion details for meta properties. * Move inside the worker. * Move ImportMeta handling to completions.ts * Fix property type name for new.target. * Use symbols for ImportMeta completions. * Accept baselines. * Revert lib change. * Revert needless parser change. * Missed these reverts. * Remove now unused `isMetaPropertyExpression` * Move up meta property keyword check to be done in `getSymbolAtLocation` and `getTypeOfNode` * Call `checkNewTargetMetaProperty` directly and handle when it's an error type. * Make meta property expression types synthetic. * Make event.target and import.meta properties readonly * Add a test for go to definition (I think?) * Copy built-in types/values test for go to definition. * Add tests for go to definition when not a module. * Fix "go to definition" for new.target
86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
=== tests/cases/conformance/es6/newTarget/newTarget.es5.ts ===
|
|
class A {
|
|
>A : Symbol(A, Decl(newTarget.es5.ts, 0, 0))
|
|
|
|
constructor() {
|
|
const a = new.target;
|
|
>a : Symbol(a, Decl(newTarget.es5.ts, 2, 13))
|
|
>new.target : Symbol(A, Decl(newTarget.es5.ts, 0, 0))
|
|
>target : Symbol(A, Decl(newTarget.es5.ts, 0, 0))
|
|
|
|
const b = () => new.target;
|
|
>b : Symbol(b, Decl(newTarget.es5.ts, 3, 13))
|
|
>new.target : Symbol(A, Decl(newTarget.es5.ts, 0, 0))
|
|
>target : Symbol(A, Decl(newTarget.es5.ts, 0, 0))
|
|
}
|
|
static c = function () { return new.target; }
|
|
>c : Symbol(A.c, Decl(newTarget.es5.ts, 4, 5))
|
|
>new.target : Symbol((Anonymous function), Decl(newTarget.es5.ts, 5, 14))
|
|
>target : Symbol((Anonymous function), Decl(newTarget.es5.ts, 5, 14))
|
|
|
|
d = function () { return new.target; }
|
|
>d : Symbol(A.d, Decl(newTarget.es5.ts, 5, 49))
|
|
>new.target : Symbol((Anonymous function), Decl(newTarget.es5.ts, 6, 7))
|
|
>target : Symbol((Anonymous function), Decl(newTarget.es5.ts, 6, 7))
|
|
}
|
|
|
|
class B extends A {
|
|
>B : Symbol(B, Decl(newTarget.es5.ts, 7, 1))
|
|
>A : Symbol(A, Decl(newTarget.es5.ts, 0, 0))
|
|
|
|
constructor() {
|
|
super();
|
|
>super : Symbol(A, Decl(newTarget.es5.ts, 0, 0))
|
|
|
|
const e = new.target;
|
|
>e : Symbol(e, Decl(newTarget.es5.ts, 12, 13))
|
|
>new.target : Symbol(B, Decl(newTarget.es5.ts, 7, 1))
|
|
>target : Symbol(B, Decl(newTarget.es5.ts, 7, 1))
|
|
|
|
const f = () => new.target;
|
|
>f : Symbol(f, Decl(newTarget.es5.ts, 13, 13))
|
|
>new.target : Symbol(B, Decl(newTarget.es5.ts, 7, 1))
|
|
>target : Symbol(B, Decl(newTarget.es5.ts, 7, 1))
|
|
}
|
|
}
|
|
|
|
function f1() {
|
|
>f1 : Symbol(f1, Decl(newTarget.es5.ts, 15, 1))
|
|
|
|
const g = new.target;
|
|
>g : Symbol(g, Decl(newTarget.es5.ts, 18, 9))
|
|
>new.target : Symbol(f1, Decl(newTarget.es5.ts, 15, 1))
|
|
>target : Symbol(f1, Decl(newTarget.es5.ts, 15, 1))
|
|
|
|
const h = () => new.target;
|
|
>h : Symbol(h, Decl(newTarget.es5.ts, 19, 9))
|
|
>new.target : Symbol(f1, Decl(newTarget.es5.ts, 15, 1))
|
|
>target : Symbol(f1, Decl(newTarget.es5.ts, 15, 1))
|
|
}
|
|
|
|
const f2 = function () {
|
|
>f2 : Symbol(f2, Decl(newTarget.es5.ts, 22, 5))
|
|
|
|
const i = new.target;
|
|
>i : Symbol(i, Decl(newTarget.es5.ts, 23, 9))
|
|
>new.target : Symbol(f2, Decl(newTarget.es5.ts, 22, 10))
|
|
>target : Symbol(f2, Decl(newTarget.es5.ts, 22, 10))
|
|
|
|
const j = () => new.target;
|
|
>j : Symbol(j, Decl(newTarget.es5.ts, 24, 9))
|
|
>new.target : Symbol(f2, Decl(newTarget.es5.ts, 22, 10))
|
|
>target : Symbol(f2, Decl(newTarget.es5.ts, 22, 10))
|
|
}
|
|
|
|
const O = {
|
|
>O : Symbol(O, Decl(newTarget.es5.ts, 27, 5))
|
|
|
|
k: function () { return new.target; }
|
|
>k : Symbol(k, Decl(newTarget.es5.ts, 27, 11))
|
|
>new.target : Symbol(k, Decl(newTarget.es5.ts, 28, 6))
|
|
>target : Symbol(k, Decl(newTarget.es5.ts, 28, 6))
|
|
|
|
};
|
|
|
|
|