visit() — react Function Reference
Architecture documentation for the visit() function in RenameVariables.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 9fff5f56_18e8_8886_6559_68fb29f122fb["visit()"] a4975235_ac38_42fc_f847_271a62829ded["Scopes"] 9fff5f56_18e8_8886_6559_68fb29f122fb -->|defined in| a4975235_ac38_42fc_f847_271a62829ded b95a6a8b_8071_1164_fd41_4d42b52d9ea3["renameVariablesImpl()"] b95a6a8b_8071_1164_fd41_4d42b52d9ea3 -->|calls| 9fff5f56_18e8_8886_6559_68fb29f122fb 80786b50_8518_5cd7_d9be_c0451e4458b9["visitParam()"] 80786b50_8518_5cd7_d9be_c0451e4458b9 -->|calls| 9fff5f56_18e8_8886_6559_68fb29f122fb f90d8dc1_64eb_084c_5c44_6858b6b758c6["visitLValue()"] f90d8dc1_64eb_084c_5c44_6858b6b758c6 -->|calls| 9fff5f56_18e8_8886_6559_68fb29f122fb 81ab854c_18a9_da4f_9b20_d5e7b20d6a0b["visitPlace()"] 81ab854c_18a9_da4f_9b20_d5e7b20d6a0b -->|calls| 9fff5f56_18e8_8886_6559_68fb29f122fb a3e340dd_fd2c_8bf8_f396_ba5c6082fee4["visitScope()"] a3e340dd_fd2c_8bf8_f396_ba5c6082fee4 -->|calls| 9fff5f56_18e8_8886_6559_68fb29f122fb e8a23b25_1280_8027_cc90_bec80af081c6["isPromotedTemporary()"] 9fff5f56_18e8_8886_6559_68fb29f122fb -->|calls| e8a23b25_1280_8027_cc90_bec80af081c6 e9e29739_8dbd_20ce_497d_9f7a51cccb60["isPromotedJsxTemporary()"] 9fff5f56_18e8_8886_6559_68fb29f122fb -->|calls| e9e29739_8dbd_20ce_497d_9f7a51cccb60 dcb26d23_8970_206b_e5d8_91b588c501b5["makeIdentifierName()"] 9fff5f56_18e8_8886_6559_68fb29f122fb -->|calls| dcb26d23_8970_206b_e5d8_91b588c501b5 style 9fff5f56_18e8_8886_6559_68fb29f122fb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/RenameVariables.ts lines 137–169
visit(identifier: Identifier): void {
const originalName = identifier.name;
if (originalName === null) {
return;
}
const mappedName = this.#seen.get(identifier.declarationId);
if (mappedName !== undefined) {
identifier.name = mappedName;
return;
}
let name: string = originalName.value;
let id = 0;
if (isPromotedTemporary(originalName.value)) {
name = `t${id++}`;
} else if (isPromotedJsxTemporary(originalName.value)) {
name = `T${id++}`;
}
while (this.#lookup(name) !== null || this.#globals.has(name)) {
if (isPromotedTemporary(originalName.value)) {
name = `t${id++}`;
} else if (isPromotedJsxTemporary(originalName.value)) {
name = `T${id++}`;
} else {
name = `${originalName.value}$${id++}`;
}
}
this.#programContext.addNewReference(name);
const identifierName = makeIdentifierName(name);
identifier.name = identifierName;
this.#seen.set(identifier.declarationId, identifierName);
this.#stack.at(-1)!.set(identifierName.value, identifier.declarationId);
this.names.add(identifierName.value);
}
Domain
Subdomains
Source
Frequently Asked Questions
What does visit() do?
visit() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/RenameVariables.ts.
Where is visit() defined?
visit() is defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/RenameVariables.ts at line 137.
What does visit() call?
visit() calls 3 function(s): isPromotedJsxTemporary, isPromotedTemporary, makeIdentifierName.
What calls visit()?
visit() is called by 5 function(s): renameVariablesImpl, visitLValue, visitParam, visitPlace, visitScope.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free