File tree Expand file tree Collapse file tree 7 files changed +12
-14
lines changed Expand file tree Collapse file tree 7 files changed +12
-14
lines changed Original file line number Diff line number Diff line change @@ -3274,15 +3274,15 @@ namespace ts {
32743274 return isEnumConst ( node )
32753275 ? bindBlockScopedDeclaration ( node , SymbolFlags . ConstEnum , SymbolFlags . ConstEnumExcludes )
32763276 : bindBlockScopedDeclaration ( node , SymbolFlags . RegularEnum , SymbolFlags . RegularEnumExcludes ) ;
3277- }
3277+ }
32783278
32793279 function bindVariableDeclarationOrBindingElement ( node : VariableDeclaration | BindingElement ) {
32803280 if ( inStrictMode ) {
32813281 checkStrictModeEvalOrArguments ( node , node . name ) ;
32823282 }
32833283
32843284 if ( ! isBindingPattern ( node . name ) ) {
3285- if ( isInJSFile ( node ) && isAccessedOrBareRequireVariableDeclaration ( node ) && ! getJSDocTypeTag ( node ) ) {
3285+ if ( isInJSFile ( node ) && isVariableDeclarationInitializedToBareOrAccessedRequire ( node ) && ! getJSDocTypeTag ( node ) ) {
32863286 declareSymbolAndAddToSymbolTable ( node as Declaration , SymbolFlags . Alias , SymbolFlags . AliasExcludes ) ;
32873287 }
32883288 else if ( isBlockOrCatchScoped ( node ) ) {
Original file line number Diff line number Diff line change @@ -2596,7 +2596,7 @@ namespace ts {
25962596 && isAliasableOrJsExpression(node.parent.right)
25972597 || node.kind === SyntaxKind.ShorthandPropertyAssignment
25982598 || node.kind === SyntaxKind.PropertyAssignment && isAliasableOrJsExpression((node as PropertyAssignment).initializer)
2599- || isAccessedOrBareRequireVariableDeclaration (node);
2599+ || isVariableDeclarationInitializedToBareOrAccessedRequire (node);
26002600 }
26012601
26022602 function isAliasableOrJsExpression(e: Expression) {
@@ -36984,7 +36984,7 @@ namespace ts {
3698436984 }
3698536985 // For a commonjs `const x = require`, validate the alias and exit
3698636986 const symbol = getSymbolOfNode(node);
36987- if (symbol.flags & SymbolFlags.Alias && isAccessedOrBareRequireVariableDeclaration (node)) {
36987+ if (symbol.flags & SymbolFlags.Alias && isVariableDeclarationInitializedToBareOrAccessedRequire (node)) {
3698836988 checkAliasSymbol(node);
3698936989 return;
3699036990 }
Original file line number Diff line number Diff line change @@ -4664,14 +4664,12 @@ namespace ts {
46644664 export type RequireOrImportCall = CallExpression & { expression : Identifier , arguments : [ StringLiteralLike ] } ;
46654665
46664666 /* @internal */
4667- export interface RequireVariableDeclaration extends VariableDeclaration {
4668- readonly initializer : RequireOrImportCall ;
4667+ export interface VariableDeclarationInitializedTo < T extends Expression > extends VariableDeclaration {
4668+ readonly initializer : T ;
46694669 }
46704670
46714671 /* @internal */
4672- export interface AccessedOrBareRequireVariableDeclaration extends VariableDeclaration {
4673- readonly initializer : RequireOrImportCall | AccessExpression ;
4674- }
4672+ export type RequireVariableDeclaration = VariableDeclarationInitializedTo < RequireOrImportCall > ;
46754673
46764674 /* @internal */
46774675 export interface RequireVariableStatement extends VariableStatement {
Original file line number Diff line number Diff line change @@ -2046,7 +2046,7 @@ namespace ts {
20462046 }
20472047
20482048 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 ;
20502050 }
20512051
20522052 export function isInternalModuleImportEqualsDeclaration ( node : Node ) : node is ImportEqualsDeclaration {
@@ -2120,7 +2120,7 @@ namespace ts {
21202120 /**
21212121 * Like `isRequireVariableDeclaration` but allows things like `require("...").foo.bar` or `require("...")["baz"]`.
21222122 */
2123- export function isAccessedOrBareRequireVariableDeclaration ( node : Node ) : node is AccessedOrBareRequireVariableDeclaration {
2123+ export function isVariableDeclarationInitializedToBareOrAccessedRequire ( node : Node ) : node is VariableDeclarationInitializedTo < RequireOrImportCall | AccessExpression > {
21242124 return isVariableDeclarationInitializedWithRequireHelper ( node , /*allowAccessedRequire*/ true ) ;
21252125 }
21262126
Original file line number Diff line number Diff line change @@ -1531,7 +1531,7 @@ namespace ts.FindAllReferences {
15311531 // Use the parent symbol if the location is commonjs require syntax on javascript files only.
15321532 if ( isInJSFile ( referenceLocation )
15331533 && referenceLocation . parent . kind === SyntaxKind . BindingElement
1534- && isAccessedOrBareRequireVariableDeclaration ( referenceLocation . parent ) ) {
1534+ && isVariableDeclarationInitializedToBareOrAccessedRequire ( referenceLocation . parent ) ) {
15351535 referenceSymbol = referenceLocation . parent . symbol ;
15361536 // The parent will not have a symbol if it's an ObjectBindingPattern (when destructuring is used). In
15371537 // 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 {
290290 return declaration . parent . kind === SyntaxKind . NamedImports ;
291291 case SyntaxKind . BindingElement :
292292 case SyntaxKind . VariableDeclaration :
293- return isInJSFile ( declaration ) && isAccessedOrBareRequireVariableDeclaration ( declaration ) ;
293+ return isInJSFile ( declaration ) && isVariableDeclarationInitializedToBareOrAccessedRequire ( declaration ) ;
294294 default :
295295 return false ;
296296 }
Original file line number Diff line number Diff line change @@ -621,7 +621,7 @@ namespace ts.FindAllReferences {
621621 Debug . assert ( ( parent as ImportClause | NamespaceImport ) . name === node ) ;
622622 return true ;
623623 case SyntaxKind . BindingElement :
624- return isInJSFile ( node ) && isAccessedOrBareRequireVariableDeclaration ( parent ) ;
624+ return isInJSFile ( node ) && isVariableDeclarationInitializedToBareOrAccessedRequire ( parent ) ;
625625 default :
626626 return false ;
627627 }
You can’t perform that action at this time.
0 commit comments