Fix meta property symbol lookup (#48773)

This commit is contained in:
Wesley Wigham
2022-04-19 17:57:06 -07:00
committed by GitHub
parent d81a976c14
commit ce487e4fd3
19 changed files with 100 additions and 9 deletions

View File

@@ -41982,15 +41982,20 @@ namespace ts {
return propertyDeclaration;
}
}
else if (isMetaProperty(parent)) {
const parentType = getTypeOfNode(parent);
const propertyDeclaration = getPropertyOfType(parentType, (node as Identifier).escapedText);
if (propertyDeclaration) {
return propertyDeclaration;
}
if (parent.keywordToken === SyntaxKind.NewKeyword) {
else if (isMetaProperty(parent) && parent.name === node) {
if (parent.keywordToken === SyntaxKind.NewKeyword && idText(node as Identifier) === "target") {
// `target` in `new.target`
return checkNewTargetMetaProperty(parent).symbol;
}
// The `meta` in `import.meta` could be given `getTypeOfNode(parent).symbol` (the `ImportMeta` interface symbol), but
// we have a fake expression type made for other reasons already, whose transient `meta`
// member should more exactly be the kind of (declarationless) symbol we want.
// (See #44364 and #45031 for relevant implementation PRs)
if (parent.keywordToken === SyntaxKind.ImportKeyword && idText(node as Identifier) === "meta") {
return getGlobalImportMetaExpressionType().members!.get("meta" as __String);
}
// no other meta properties are valid syntax, thus no others should have symbols
return undefined;
}
}

View File

@@ -8,6 +8,7 @@
>URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --))
@@ -20,6 +21,7 @@
const size = import.meta.scriptElement.dataset.size || 300;
>size : Symbol(size, Decl(example.ts, 5, 7))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
const image = new Image();
>image : Symbol(image, Decl(example.ts, 7, 7))
@@ -57,6 +59,7 @@
export let x = import.meta;
>x : Symbol(x, Decl(moduleLookingFile01.ts, 0, 10))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
export let y = import.metal;
>y : Symbol(y, Decl(moduleLookingFile01.ts, 1, 10))
@@ -68,6 +71,7 @@ export let z = import.import.import.malkovich;
let globalA = import.meta;
>globalA : Symbol(globalA, Decl(scriptLookingFile01.ts, 0, 3))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
let globalB = import.metal;
>globalB : Symbol(globalB, Decl(scriptLookingFile01.ts, 1, 3))
@@ -80,11 +84,15 @@ export const foo: ImportMeta = import.meta.blah = import.meta.blue = import.meta
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
>ImportMeta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
import.meta = foo;
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
// @Filename augmentations.ts
@@ -108,5 +116,6 @@ const { a, b, c } = import.meta.wellKnownProperty;
>c : Symbol(c, Decl(assignmentTargets.ts, 10, 13))
>import.meta.wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))

View File

@@ -8,6 +8,7 @@
>URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --))
@@ -20,6 +21,7 @@
const size = import.meta.scriptElement.dataset.size || 300;
>size : Symbol(size, Decl(example.ts, 5, 7))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
const image = new Image();
>image : Symbol(image, Decl(example.ts, 7, 7))
@@ -57,6 +59,7 @@
export let x = import.meta;
>x : Symbol(x, Decl(moduleLookingFile01.ts, 0, 10))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
export let y = import.metal;
>y : Symbol(y, Decl(moduleLookingFile01.ts, 1, 10))
@@ -68,6 +71,7 @@ export let z = import.import.import.malkovich;
let globalA = import.meta;
>globalA : Symbol(globalA, Decl(scriptLookingFile01.ts, 0, 3))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
let globalB = import.metal;
>globalB : Symbol(globalB, Decl(scriptLookingFile01.ts, 1, 3))
@@ -80,11 +84,15 @@ export const foo: ImportMeta = import.meta.blah = import.meta.blue = import.meta
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
>ImportMeta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
import.meta = foo;
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
// @Filename augmentations.ts
@@ -108,5 +116,6 @@ const { a, b, c } = import.meta.wellKnownProperty;
>c : Symbol(c, Decl(assignmentTargets.ts, 10, 13))
>import.meta.wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))

View File

@@ -8,6 +8,7 @@
>URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --))
@@ -20,6 +21,7 @@
const size = import.meta.scriptElement.dataset.size || 300;
>size : Symbol(size, Decl(example.ts, 5, 7))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
const image = new Image();
>image : Symbol(image, Decl(example.ts, 7, 7))
@@ -57,6 +59,7 @@
export let x = import.meta;
>x : Symbol(x, Decl(moduleLookingFile01.ts, 0, 10))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
export let y = import.metal;
>y : Symbol(y, Decl(moduleLookingFile01.ts, 1, 10))
@@ -68,6 +71,7 @@ export let z = import.import.import.malkovich;
let globalA = import.meta;
>globalA : Symbol(globalA, Decl(scriptLookingFile01.ts, 0, 3))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
let globalB = import.metal;
>globalB : Symbol(globalB, Decl(scriptLookingFile01.ts, 1, 3))
@@ -80,11 +84,15 @@ export const foo: ImportMeta = import.meta.blah = import.meta.blue = import.meta
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
>ImportMeta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
import.meta = foo;
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
// @Filename augmentations.ts
@@ -108,5 +116,6 @@ const { a, b, c } = import.meta.wellKnownProperty;
>c : Symbol(c, Decl(assignmentTargets.ts, 10, 13))
>import.meta.wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))

View File

@@ -8,6 +8,7 @@
>URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --))
@@ -20,6 +21,7 @@
const size = import.meta.scriptElement.dataset.size || 300;
>size : Symbol(size, Decl(example.ts, 5, 7))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
const image = new Image();
>image : Symbol(image, Decl(example.ts, 7, 7))
@@ -57,6 +59,7 @@
export let x = import.meta;
>x : Symbol(x, Decl(moduleLookingFile01.ts, 0, 10))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
export let y = import.metal;
>y : Symbol(y, Decl(moduleLookingFile01.ts, 1, 10))
@@ -68,6 +71,7 @@ export let z = import.import.import.malkovich;
let globalA = import.meta;
>globalA : Symbol(globalA, Decl(scriptLookingFile01.ts, 0, 3))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
let globalB = import.metal;
>globalB : Symbol(globalB, Decl(scriptLookingFile01.ts, 1, 3))
@@ -80,11 +84,15 @@ export const foo: ImportMeta = import.meta.blah = import.meta.blue = import.meta
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
>ImportMeta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
import.meta = foo;
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
// @Filename augmentations.ts
@@ -108,5 +116,6 @@ const { a, b, c } = import.meta.wellKnownProperty;
>c : Symbol(c, Decl(assignmentTargets.ts, 10, 13))
>import.meta.wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))

View File

@@ -8,6 +8,7 @@
>URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --))
@@ -20,6 +21,7 @@
const size = import.meta.scriptElement.dataset.size || 300;
>size : Symbol(size, Decl(example.ts, 5, 7))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
const image = new Image();
>image : Symbol(image, Decl(example.ts, 7, 7))
@@ -57,6 +59,7 @@
export let x = import.meta;
>x : Symbol(x, Decl(moduleLookingFile01.ts, 0, 10))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
export let y = import.metal;
>y : Symbol(y, Decl(moduleLookingFile01.ts, 1, 10))
@@ -68,6 +71,7 @@ export let z = import.import.import.malkovich;
let globalA = import.meta;
>globalA : Symbol(globalA, Decl(scriptLookingFile01.ts, 0, 3))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
let globalB = import.metal;
>globalB : Symbol(globalB, Decl(scriptLookingFile01.ts, 1, 3))
@@ -80,11 +84,15 @@ export const foo: ImportMeta = import.meta.blah = import.meta.blue = import.meta
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
>ImportMeta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
import.meta = foo;
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
// @Filename augmentations.ts
@@ -108,5 +116,6 @@ const { a, b, c } = import.meta.wellKnownProperty;
>c : Symbol(c, Decl(assignmentTargets.ts, 10, 13))
>import.meta.wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))

View File

@@ -8,6 +8,7 @@
>URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --))
@@ -20,6 +21,7 @@
const size = import.meta.scriptElement.dataset.size || 300;
>size : Symbol(size, Decl(example.ts, 5, 7))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
const image = new Image();
>image : Symbol(image, Decl(example.ts, 7, 7))
@@ -57,6 +59,7 @@
export let x = import.meta;
>x : Symbol(x, Decl(moduleLookingFile01.ts, 0, 10))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
export let y = import.metal;
>y : Symbol(y, Decl(moduleLookingFile01.ts, 1, 10))
@@ -68,6 +71,7 @@ export let z = import.import.import.malkovich;
let globalA = import.meta;
>globalA : Symbol(globalA, Decl(scriptLookingFile01.ts, 0, 3))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
let globalB = import.metal;
>globalB : Symbol(globalB, Decl(scriptLookingFile01.ts, 1, 3))
@@ -80,11 +84,15 @@ export const foo: ImportMeta = import.meta.blah = import.meta.blue = import.meta
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
>ImportMeta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
import.meta = foo;
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
// @Filename augmentations.ts
@@ -108,5 +116,6 @@ const { a, b, c } = import.meta.wellKnownProperty;
>c : Symbol(c, Decl(assignmentTargets.ts, 10, 13))
>import.meta.wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))

View File

@@ -8,6 +8,7 @@
>URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --))
@@ -20,6 +21,7 @@
const size = import.meta.scriptElement.dataset.size || 300;
>size : Symbol(size, Decl(example.ts, 5, 7))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
const image = new Image();
>image : Symbol(image, Decl(example.ts, 7, 7))
@@ -57,6 +59,7 @@
export let x = import.meta;
>x : Symbol(x, Decl(moduleLookingFile01.ts, 0, 10))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
export let y = import.metal;
>y : Symbol(y, Decl(moduleLookingFile01.ts, 1, 10))
@@ -68,6 +71,7 @@ export let z = import.import.import.malkovich;
let globalA = import.meta;
>globalA : Symbol(globalA, Decl(scriptLookingFile01.ts, 0, 3))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
let globalB = import.metal;
>globalB : Symbol(globalB, Decl(scriptLookingFile01.ts, 1, 3))
@@ -80,11 +84,15 @@ export const foo: ImportMeta = import.meta.blah = import.meta.blue = import.meta
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
>ImportMeta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
import.meta = foo;
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
// @Filename augmentations.ts
@@ -108,5 +116,6 @@ const { a, b, c } = import.meta.wellKnownProperty;
>c : Symbol(c, Decl(assignmentTargets.ts, 10, 13))
>import.meta.wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))

View File

@@ -8,6 +8,7 @@
>URL : Symbol(URL, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>toString : Symbol(URL.toString, Decl(lib.dom.d.ts, --, --))
@@ -20,6 +21,7 @@
const size = import.meta.scriptElement.dataset.size || 300;
>size : Symbol(size, Decl(example.ts, 5, 7))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
const image = new Image();
>image : Symbol(image, Decl(example.ts, 7, 7))
@@ -57,6 +59,7 @@
export let x = import.meta;
>x : Symbol(x, Decl(moduleLookingFile01.ts, 0, 10))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
export let y = import.metal;
>y : Symbol(y, Decl(moduleLookingFile01.ts, 1, 10))
@@ -68,6 +71,7 @@ export let z = import.import.import.malkovich;
let globalA = import.meta;
>globalA : Symbol(globalA, Decl(scriptLookingFile01.ts, 0, 3))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
let globalB = import.metal;
>globalB : Symbol(globalB, Decl(scriptLookingFile01.ts, 1, 3))
@@ -80,11 +84,15 @@ export const foo: ImportMeta = import.meta.blah = import.meta.blue = import.meta
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
>ImportMeta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
import.meta = foo;
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(foo, Decl(assignmentTargets.ts, 0, 12))
// @Filename augmentations.ts
@@ -108,5 +116,6 @@ const { a, b, c } = import.meta.wellKnownProperty;
>c : Symbol(c, Decl(assignmentTargets.ts, 10, 13))
>import.meta.wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(assignmentTargets.ts, 4, 16))
>meta : Symbol(ImportMetaExpression.meta)
>wellKnownProperty : Symbol(ImportMeta.wellKnownProperty, Decl(assignmentTargets.ts, 5, 24))

View File

@@ -7,11 +7,13 @@ declare global { interface ImportMeta {foo?: () => void} };
if (import.meta.foo) {
>import.meta.foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(importMetaNarrowing.ts, 0, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
import.meta.foo();
>import.meta.foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(importMetaNarrowing.ts, 0, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
}

View File

@@ -7,11 +7,13 @@ declare global { interface ImportMeta {foo?: () => void} };
if (import.meta.foo) {
>import.meta.foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(importMetaNarrowing.ts, 0, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
import.meta.foo();
>import.meta.foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(importMetaNarrowing.ts, 0, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
}

View File

@@ -7,11 +7,13 @@ declare global { interface ImportMeta {foo?: () => void} };
if (import.meta.foo) {
>import.meta.foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(importMetaNarrowing.ts, 0, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
import.meta.foo();
>import.meta.foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --), Decl(importMetaNarrowing.ts, 0, 16))
>meta : Symbol(ImportMetaExpression.meta)
>foo : Symbol(ImportMeta.foo, Decl(importMetaNarrowing.ts, 0, 39))
}

View File

@@ -2,5 +2,4 @@
function foo(){new.targ}
>foo : Symbol(foo, Decl(misspelledNewMetaProperty.ts, 0, 0))
>new.targ : Symbol(foo, Decl(misspelledNewMetaProperty.ts, 0, 0))
>targ : Symbol(foo, Decl(misspelledNewMetaProperty.ts, 0, 0))

View File

@@ -4,6 +4,7 @@ const x = import.meta.url;
>x : Symbol(x, Decl(index.js, 1, 5))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
export {x};
@@ -15,6 +16,7 @@ const x = import.meta.url;
>x : Symbol(x, Decl(index.js, 1, 5))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
export {x};

View File

@@ -4,6 +4,7 @@ const x = import.meta.url;
>x : Symbol(x, Decl(index.js, 1, 5))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
export {x};
@@ -15,6 +16,7 @@ const x = import.meta.url;
>x : Symbol(x, Decl(index.js, 1, 5))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
export {x};

View File

@@ -4,6 +4,7 @@ const x = import.meta.url;
>x : Symbol(x, Decl(index.ts, 1, 5))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
export {x};
@@ -15,6 +16,7 @@ const x = import.meta.url;
>x : Symbol(x, Decl(index.ts, 1, 5))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
export {x};

View File

@@ -4,6 +4,7 @@ const x = import.meta.url;
>x : Symbol(x, Decl(index.ts, 1, 5))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
export {x};
@@ -15,6 +16,7 @@ const x = import.meta.url;
>x : Symbol(x, Decl(index.ts, 1, 5))
>import.meta.url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
>import.meta : Symbol(ImportMeta, Decl(lib.es5.d.ts, --, --), Decl(lib.dom.d.ts, --, --))
>meta : Symbol(ImportMetaExpression.meta)
>url : Symbol(ImportMeta.url, Decl(lib.dom.d.ts, --, --))
export {x};

View File

@@ -455,7 +455,6 @@ export let noMeta = import.metal
function foo() { new.targe }
>foo : Symbol(foo, Decl(plainJSGrammarErrors.js, 200, 32))
>new.targe : Symbol(foo, Decl(plainJSGrammarErrors.js, 200, 32))
>targe : Symbol(foo, Decl(plainJSGrammarErrors.js, 200, 32))
const nullaryDynamicImport = import()
>nullaryDynamicImport : Symbol(nullaryDynamicImport, Decl(plainJSGrammarErrors.js, 202, 5))

View File

@@ -11,3 +11,5 @@
////}
verify.goToDefinition("reference", []);
verify.noErrors();