Skip to content

Commit 5d38296

Browse files
rbuckton review
1 parent 7b17c31 commit 5d38296

File tree

2 files changed

+3
-10
lines changed

2 files changed

+3
-10
lines changed

src/compiler/checker.ts

+1-8
Original file line numberDiff line numberDiff line change
@@ -37607,7 +37607,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
3760737607

3760837608
if (node.keywordToken === SyntaxKind.ImportKeyword) {
3760937609
if (node.name.escapedText === "defer") {
37610-
Debug.assert(!isCallExpression(node.parent) || node.parent.expression !== node, "Trying to get the type of `import.defer` in `import.defer(...)`");
3761137610
return errorType;
3761237611
}
3761337612
return checkImportMetaProperty(node);
@@ -49756,13 +49755,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4975649755
}
4975749756

4975849757
if (isExpressionNode(node)) {
49759-
try {
49760-
return getRegularTypeOfExpression(node as Expression);
49761-
}
49762-
catch (e) {
49763-
console.error("Error while getting the type of", isExpressionNode(node), node.kind, (node as MetaProperty).keywordToken !== SyntaxKind.ImportKeyword, (node as MetaProperty).name?.escapedText);
49764-
throw e;
49765-
}
49758+
return getRegularTypeOfExpression(node as Expression);
4976649759
}
4976749760

4976849761
if (classType && !classDecl.isImplements) {

src/compiler/utilities.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -12074,7 +12074,7 @@ export function forEachDynamicImportOrRequireCall<IncludeTypeSpaceImports extend
1207412074
cb: (node: CallExpression | (IncludeTypeSpaceImports extends false ? never : JSDocImportTag | ImportTypeNode), argument: RequireStringLiteralLikeArgument extends true ? StringLiteralLike : Expression) => void,
1207512075
): void {
1207612076
const isJavaScriptFile = isInJSFile(file);
12077-
const r = /import|defer|require/g;
12077+
const r = /import|require/g;
1207812078
while (r.exec(file.text) !== null) { // eslint-disable-line no-restricted-syntax
1207912079
const node = getNodeAtPosition(file, r.lastIndex, /*includeJSDoc*/ includeTypeSpaceImports);
1208012080
if (isJavaScriptFile && isRequireCall(node, requireStringLiteralLikeArgument)) {
@@ -12106,7 +12106,7 @@ function getNodeAtPosition(sourceFile: SourceFile, position: number, includeJSDo
1210612106
};
1210712107
while (true) {
1210812108
const child = isJavaScriptFile && includeJSDoc && hasJSDocNodes(current) && forEach(current.jsDoc, getContainingChild) || forEachChild(current, getContainingChild);
12109-
if (!child) {
12109+
if (!child || isMetaProperty(child)) {
1211012110
return current;
1211112111
}
1211212112
current = child;

0 commit comments

Comments
 (0)