File tree 7 files changed +12
-14
lines changed
7 files changed +12
-14
lines changed Original file line number Diff line number Diff line change @@ -3274,15 +3274,15 @@ namespace ts {
3274
3274
return isEnumConst ( node )
3275
3275
? bindBlockScopedDeclaration ( node , SymbolFlags . ConstEnum , SymbolFlags . ConstEnumExcludes )
3276
3276
: bindBlockScopedDeclaration ( node , SymbolFlags . RegularEnum , SymbolFlags . RegularEnumExcludes ) ;
3277
- }
3277
+ }
3278
3278
3279
3279
function bindVariableDeclarationOrBindingElement ( node : VariableDeclaration | BindingElement ) {
3280
3280
if ( inStrictMode ) {
3281
3281
checkStrictModeEvalOrArguments ( node , node . name ) ;
3282
3282
}
3283
3283
3284
3284
if ( ! isBindingPattern ( node . name ) ) {
3285
- if ( isInJSFile ( node ) && isAccessedOrBareRequireVariableDeclaration ( node ) && ! getJSDocTypeTag ( node ) ) {
3285
+ if ( isInJSFile ( node ) && isVariableDeclarationInitializedToBareOrAccessedRequire ( node ) && ! getJSDocTypeTag ( node ) ) {
3286
3286
declareSymbolAndAddToSymbolTable ( node as Declaration , SymbolFlags . Alias , SymbolFlags . AliasExcludes ) ;
3287
3287
}
3288
3288
else if ( isBlockOrCatchScoped ( node ) ) {
Original file line number Diff line number Diff line change @@ -2596,7 +2596,7 @@ namespace ts {
2596
2596
&& isAliasableOrJsExpression(node.parent.right)
2597
2597
|| node.kind === SyntaxKind.ShorthandPropertyAssignment
2598
2598
|| node.kind === SyntaxKind.PropertyAssignment && isAliasableOrJsExpression((node as PropertyAssignment).initializer)
2599
- || isAccessedOrBareRequireVariableDeclaration (node);
2599
+ || isVariableDeclarationInitializedToBareOrAccessedRequire (node);
2600
2600
}
2601
2601
2602
2602
function isAliasableOrJsExpression(e: Expression) {
@@ -36984,7 +36984,7 @@ namespace ts {
36984
36984
}
36985
36985
// For a commonjs `const x = require`, validate the alias and exit
36986
36986
const symbol = getSymbolOfNode(node);
36987
- if (symbol.flags & SymbolFlags.Alias && isAccessedOrBareRequireVariableDeclaration (node)) {
36987
+ if (symbol.flags & SymbolFlags.Alias && isVariableDeclarationInitializedToBareOrAccessedRequire (node)) {
36988
36988
checkAliasSymbol(node);
36989
36989
return;
36990
36990
}
Original file line number Diff line number Diff line change @@ -4664,14 +4664,12 @@ namespace ts {
4664
4664
export type RequireOrImportCall = CallExpression & { expression : Identifier , arguments : [ StringLiteralLike ] } ;
4665
4665
4666
4666
/* @internal */
4667
- export interface RequireVariableDeclaration extends VariableDeclaration {
4668
- readonly initializer : RequireOrImportCall ;
4667
+ export interface VariableDeclarationInitializedTo < T extends Expression > extends VariableDeclaration {
4668
+ readonly initializer : T ;
4669
4669
}
4670
4670
4671
4671
/* @internal */
4672
- export interface AccessedOrBareRequireVariableDeclaration extends VariableDeclaration {
4673
- readonly initializer : RequireOrImportCall | AccessExpression ;
4674
- }
4672
+ export type RequireVariableDeclaration = VariableDeclarationInitializedTo < RequireOrImportCall > ;
4675
4673
4676
4674
/* @internal */
4677
4675
export interface RequireVariableStatement extends VariableStatement {
Original file line number Diff line number Diff line change @@ -2046,7 +2046,7 @@ namespace ts {
2046
2046
}
2047
2047
2048
2048
export function getExternalModuleRequireArgument ( node : Node ) {
2049
- return isAccessedOrBareRequireVariableDeclaration ( node ) && ( getLeftmostAccessExpression ( node . initializer ) as CallExpression ) . arguments [ 0 ] as StringLiteral ;
2049
+ return isVariableDeclarationInitializedToBareOrAccessedRequire ( node ) && ( getLeftmostAccessExpression ( node . initializer ) as CallExpression ) . arguments [ 0 ] as StringLiteral ;
2050
2050
}
2051
2051
2052
2052
export function isInternalModuleImportEqualsDeclaration ( node : Node ) : node is ImportEqualsDeclaration {
@@ -2120,7 +2120,7 @@ namespace ts {
2120
2120
/**
2121
2121
* Like `isRequireVariableDeclaration` but allows things like `require("...").foo.bar` or `require("...")["baz"]`.
2122
2122
*/
2123
- export function isAccessedOrBareRequireVariableDeclaration ( node : Node ) : node is AccessedOrBareRequireVariableDeclaration {
2123
+ export function isVariableDeclarationInitializedToBareOrAccessedRequire ( node : Node ) : node is VariableDeclarationInitializedTo < RequireOrImportCall | AccessExpression > {
2124
2124
return isVariableDeclarationInitializedWithRequireHelper ( node , /*allowAccessedRequire*/ true ) ;
2125
2125
}
2126
2126
Original file line number Diff line number Diff line change @@ -1531,7 +1531,7 @@ namespace ts.FindAllReferences {
1531
1531
// Use the parent symbol if the location is commonjs require syntax on javascript files only.
1532
1532
if ( isInJSFile ( referenceLocation )
1533
1533
&& referenceLocation . parent . kind === SyntaxKind . BindingElement
1534
- && isAccessedOrBareRequireVariableDeclaration ( referenceLocation . parent ) ) {
1534
+ && isVariableDeclarationInitializedToBareOrAccessedRequire ( referenceLocation . parent ) ) {
1535
1535
referenceSymbol = referenceLocation . parent . symbol ;
1536
1536
// The parent will not have a symbol if it's an ObjectBindingPattern (when destructuring is used). In
1537
1537
// this case, just skip it, since the bound identifiers are not an alias of the import.
Original file line number Diff line number Diff line change @@ -290,7 +290,7 @@ namespace ts.GoToDefinition {
290
290
return declaration . parent . kind === SyntaxKind . NamedImports ;
291
291
case SyntaxKind . BindingElement :
292
292
case SyntaxKind . VariableDeclaration :
293
- return isInJSFile ( declaration ) && isAccessedOrBareRequireVariableDeclaration ( declaration ) ;
293
+ return isInJSFile ( declaration ) && isVariableDeclarationInitializedToBareOrAccessedRequire ( declaration ) ;
294
294
default :
295
295
return false ;
296
296
}
Original file line number Diff line number Diff line change @@ -621,7 +621,7 @@ namespace ts.FindAllReferences {
621
621
Debug . assert ( ( parent as ImportClause | NamespaceImport ) . name === node ) ;
622
622
return true ;
623
623
case SyntaxKind . BindingElement :
624
- return isInJSFile ( node ) && isAccessedOrBareRequireVariableDeclaration ( parent ) ;
624
+ return isInJSFile ( node ) && isVariableDeclarationInitializedToBareOrAccessedRequire ( parent ) ;
625
625
default :
626
626
return false ;
627
627
}
You can’t perform that action at this time.
0 commit comments