File: //proc/self/root/var/www/linde-ai/html/node_modules/@babel/traverse/lib/scope/lib/renamer.js.map
{"version":3,"names":["renameVisitor","ReferencedIdentifier","node","state","name","oldName","newName","Scope","path","scope","bindingIdentifierEquals","binding","identifier","skip","isMethod","requeueComputedKeyAndDecorators","isVariableDeclaration","ids","getOuterBindingIdentifiers","Renamer","constructor","maybeConvertFromExportDeclaration","parentDeclar","maybeExportDeclar","parentPath","isExportDeclaration","isExportDefaultDeclaration","declaration","t","isDeclaration","id","isExportAllDeclaration","splitExportDeclaration","maybeConvertFromClassFunctionDeclaration","maybeConvertFromClassFunctionExpression","rename","block","find","isFunctionExpression","isClassExpression","bindingIds","blockToTraverse","type","cases","forEach","c","traverse","removeOwnBinding","bindings"],"sources":["../../../src/scope/lib/renamer.ts"],"sourcesContent":["import type Binding from \"../binding\";\nimport splitExportDeclaration from \"@babel/helper-split-export-declaration\";\nimport * as t from \"@babel/types\";\nimport type { NodePath, Visitor } from \"../..\";\nimport { requeueComputedKeyAndDecorators } from \"@babel/helper-environment-visitor\";\n\nconst renameVisitor: Visitor<Renamer> = {\n ReferencedIdentifier({ node }, state) {\n if (node.name === state.oldName) {\n node.name = state.newName;\n }\n },\n\n Scope(path, state) {\n if (\n !path.scope.bindingIdentifierEquals(\n state.oldName,\n state.binding.identifier,\n )\n ) {\n path.skip();\n if (path.isMethod()) {\n requeueComputedKeyAndDecorators(path);\n }\n }\n },\n\n \"AssignmentExpression|Declaration|VariableDeclarator\"(\n path: NodePath<t.AssignmentPattern | t.Declaration | t.VariableDeclarator>,\n state,\n ) {\n if (path.isVariableDeclaration()) return;\n const ids = path.getOuterBindingIdentifiers();\n\n for (const name in ids) {\n if (name === state.oldName) ids[name].name = state.newName;\n }\n },\n};\n\nexport default class Renamer {\n constructor(binding: Binding, oldName: string, newName: string) {\n this.newName = newName;\n this.oldName = oldName;\n this.binding = binding;\n }\n\n declare oldName: string;\n declare newName: string;\n declare binding: Binding;\n\n maybeConvertFromExportDeclaration(parentDeclar: NodePath) {\n const maybeExportDeclar = parentDeclar.parentPath;\n\n if (!maybeExportDeclar.isExportDeclaration()) {\n return;\n }\n\n if (maybeExportDeclar.isExportDefaultDeclaration()) {\n const { declaration } = maybeExportDeclar.node;\n if (t.isDeclaration(declaration) && !declaration.id) {\n return;\n }\n }\n\n if (maybeExportDeclar.isExportAllDeclaration()) {\n return;\n }\n\n splitExportDeclaration(\n maybeExportDeclar as NodePath<\n Exclude<t.ExportDeclaration, t.ExportAllDeclaration>\n >,\n );\n }\n\n maybeConvertFromClassFunctionDeclaration(path: NodePath) {\n return path; // TODO\n\n // // retain the `name` of a class/function declaration\n\n // if (!path.isFunctionDeclaration() && !path.isClassDeclaration()) return;\n // if (this.binding.kind !== \"hoisted\") return;\n\n // path.node.id = identifier(this.oldName);\n // path.node._blockHoist = 3;\n\n // path.replaceWith(\n // variableDeclaration(\"let\", [\n // variableDeclarator(identifier(this.newName), toExpression(path.node)),\n // ]),\n // );\n }\n\n maybeConvertFromClassFunctionExpression(path: NodePath) {\n return path; // TODO\n\n // // retain the `name` of a class/function expression\n\n // if (!path.isFunctionExpression() && !path.isClassExpression()) return;\n // if (this.binding.kind !== \"local\") return;\n\n // path.node.id = identifier(this.oldName);\n\n // this.binding.scope.parent.push({\n // id: identifier(this.newName),\n // });\n\n // path.replaceWith(\n // assignmentExpression(\"=\", identifier(this.newName), path.node),\n // );\n }\n\n rename(block?: t.Pattern | t.Scopable) {\n const { binding, oldName, newName } = this;\n const { scope, path } = binding;\n\n const parentDeclar = path.find(\n path =>\n path.isDeclaration() ||\n path.isFunctionExpression() ||\n path.isClassExpression(),\n );\n if (parentDeclar) {\n const bindingIds = parentDeclar.getOuterBindingIdentifiers();\n if (bindingIds[oldName] === binding.identifier) {\n // When we are renaming an exported identifier, we need to ensure that\n // the exported binding keeps the old name.\n this.maybeConvertFromExportDeclaration(parentDeclar);\n }\n }\n\n const blockToTraverse = block || scope.block;\n if (blockToTraverse?.type === \"SwitchStatement\") {\n // discriminant is not part of current scope, should be skipped.\n blockToTraverse.cases.forEach(c => {\n scope.traverse(c, renameVisitor, this);\n });\n } else {\n scope.traverse(blockToTraverse, renameVisitor, this);\n }\n\n if (!block) {\n scope.removeOwnBinding(oldName);\n scope.bindings[newName] = binding;\n this.binding.identifier.name = newName;\n }\n\n if (parentDeclar) {\n this.maybeConvertFromClassFunctionDeclaration(path);\n this.maybeConvertFromClassFunctionExpression(path);\n }\n }\n}\n"],"mappings":"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"}