You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
const exportDeclaration = (node as ExportSpecifier).parent.parent;
28824
+
if (!(node as ExportSpecifier).isTypeOnly && !exportDeclaration.isTypeOnly && !exportDeclaration.moduleSpecifier) {
28825
+
const symbol = resolveEntityName((node as ExportSpecifier).propertyName || (node as ExportSpecifier).name, SymbolFlags.Value, /*ignoreErrors*/ true, /*dontResolveAlias*/ true);
28826
+
if (symbol && isParameterOrMutableLocalVariable(symbol)) {
28827
+
symbol.lastAssignmentPos = Number.MAX_VALUE;
28828
+
}
28829
+
}
28830
+
return;
28831
+
case SyntaxKind.InterfaceDeclaration:
28832
+
case SyntaxKind.TypeAliasDeclaration:
28833
+
case SyntaxKind.EnumDeclaration:
28834
+
return;
28803
28835
}
28804
-
else {
28805
-
forEachChild(node, markNodeAssignments);
28836
+
if (isTypeNode(node)) {
28837
+
return;
28806
28838
}
28839
+
forEachChild(node, markNodeAssignments);
28840
+
}
28841
+
28842
+
// Extend the position of the given assignment target node to the end of any intervening variable statement,
28843
+
// expression statement, compound statement, or class declaration occurring between the node and the given
28844
+
// declaration node.
28845
+
function extendAssignmentPosition(node: Node, declaration: Declaration) {
Copy file name to clipboardExpand all lines: src/compiler/types.ts
+1-1
Original file line number
Diff line number
Diff line change
@@ -5825,8 +5825,8 @@ export interface Symbol {
5825
5825
/** @internal */exportSymbol?: Symbol;// Exported symbol associated with this symbol
5826
5826
/** @internal */constEnumOnlyModule: boolean|undefined;// True if module contains only const enums or other modules with only const enums
5827
5827
/** @internal */isReferenced?: SymbolFlags;// True if the symbol is referenced elsewhere. Keeps track of the meaning of a reference in case a symbol is both a type parameter and parameter.
5828
+
/** @internal */lastAssignmentPos?: number;// Source position of last node that assigns value to symbol
5828
5829
/** @internal */isReplaceableByMethod?: boolean;// Can this Javascript class property be replaced by a method symbol?
5829
-
/** @internal */isAssigned?: boolean;// True if the symbol is a parameter with assignments
5830
5830
/** @internal */assignmentDeclarationMembers?: Map<number,Declaration>;// detected late-bound assignment declarations associated with the symbol
0 commit comments