Lines Matching full:current
141 * @param node - node of a current scope in ast.
144 * @param upper - parent scope of the current scope.
151 // node of a current scope in ast.
153 // parent scope of current scope
155 // sub scopes of current scope
158 // symbols define in current scope
161 // labels in current scope
189 * add a sub scope to current scope
198 * add definition symbol into current scope
210 * add label to current scope
302 let current: Scope;
339 current.exportNames.add(def.name);
348 current.addDefinition(def.exportSymbol, true);
356 current.addDefinition(def);
359 current.addDefinition(def);
375 tryAddExportNamesIntoParentScope(originalSymbol, current);
379 current.addDefinition(originalSymbol, true);
493 // try to collect symbol for `A` in `import { A as B } from './file'; into current scope`
500 current.addDefinition(nameSymbol, shouldObfuscateAsImportElement);
504 current.importNames.add(nameText);
525 exportElementsWithoutSymbol.set(propertyNameNode, current.kind === ScopeKind.GLOBAL);
546 current.addDefinition(propertySymbol, shouldObfuscateAsExportElement);
579 current.importNames.add(bindingElement.name.text);
585 let scopeName: string = '$' + current.children.length;
586 current = new Scope(scopeName, node, ScopeKind.OBJECT_LITERAL, false, current);
587 scopes.push(current);
591 current = current.parent || current;
597 current.exportNames.add(curExportName);
616 current.addDefinition(symbol, true);
653 current = root;
654 scopes.push(current);
655 // locals of a node(scope) is symbol that defines in current scope(node).
658 current = current.parent || current;
663 let scopeName: string = '$' + current.children.length;
664 current = new Scope(scopeName, node, ScopeKind.CATCH, false, current);
665 scopes.push(current);
674 current = current.parent || current;
678 for (const def of current.defs) {
680 if (!current.exportNames.has(def.name)) {
681 current.exportNames.add(def.name);
685 if (!current.exportNames.has(name)) {
686 current.exportNames.add(name);
694 let scopeName: string = node.name.text ?? '$' + current.children.length;
695 current = new Scope(scopeName, node, ScopeKind.INTERFACE, true, current);
696 scopes.push(current);
699 current = current.parent || current;
713 let scopeName: string = node.name.text ?? '$' + current.children.length;
714 current = new Scope(scopeName, node, ScopeKind.MODULE, true, current);
715 scopes.push(current);
723 current = current.parent || current;
747 current.defs.forEach((def) => {
749 current.defs.delete(def);
750 current.mangledNames.add(def.name);
772 let scopeName: string = (node?.name as Identifier)?.text ?? '$' + current.children.length;
773 let loc: string = current?.loc ? getNameWithScopeLoc(current, scopeName) : scopeName;
775 for (const sub of current.children) {
778 current = sub;
784 current = new Scope(scopeName, node, ScopeKind.FUNCTION, true, current);
785 scopes.push(current);
807 …if (!(isGetAccessor(node) || isSetAccessor(node)) && symbol && current.parent && !current.parent.d…
811 …The `current` scope is the function's scope, the `current.parent` scope is where the function is d…
814 current.parent.defs.add(symbol);
832 current = current.parent || current;
836 let scopeName: string = '$' + current.children.length;
837 current = new Scope(scopeName, node, ScopeKind.SWITCH, false, current);
838 scopes.push(current);
841 current = current.parent || current;
856 let scopeName: string = node?.name?.text ?? '$' + current.children.length;
857 current = new Scope(scopeName, node, ScopeKind.CLASS, true, current);
858 scopes.push(current);
862 current.addDefinition(symbol);
870 current = current.parent || current;
874 let scopeName: string = '$' + current.children.length;
875 current = new Scope(scopeName, node, ScopeKind.FOR, false, current);
876 scopes.push(current);
879 current = current.parent || current;
884 if ((isFunctionScope(current) && isFunctionLike(node.parent)) || isCatchClause(node.parent)) {
890 let scopeName: string = '$' + current.children.length;
891 current = new Scope(scopeName, node, ScopeKind.BLOCK, false, current);
892 scopes.push(current);
895 current = current.parent || current;
900 current = new Scope(scopeName, node, ScopeKind.INTERFACE, true, current);
901 scopes.push(current);
910 current.addDefinition(elm.symbol);
915 current = current.parent || current;
920 current = new Scope(scopeName, node, ScopeKind.ENUM, true, current);
921 scopes.push(current);
924 current.addDefinition(member.symbol);
929 current = current.parent || current;
957 current.mangledNames.add(node.text);
966 // add def symbol that don't found in current defs.
967 addSymbolIntoDefsIfNeeded(node, symbol, current.defs);
1010 upperLabel = upperLabel ? createLabel(node, current, upperLabel) : createLabel(node, current);
1045 current.exportNames.add(node.name.text);
1049 current.addDefinition(sym, true);
1068 current.mangledNames.add((node as Identifier).text);