lowerJsxMemberExpression() — react Function Reference
Architecture documentation for the lowerJsxMemberExpression() function in BuildHIR.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 7477f6f4_c8ce_95b3_d35f_2f53341af86d["lowerJsxMemberExpression()"] e04c04d6_37a7_1dc3_7fae_7d07660d0af9["BuildHIR.ts"] 7477f6f4_c8ce_95b3_d35f_2f53341af86d -->|defined in| e04c04d6_37a7_1dc3_7fae_7d07660d0af9 bc571674_9276_a5d1_38b8_101118e7d161["lowerJsxElementName()"] bc571674_9276_a5d1_38b8_101118e7d161 -->|calls| 7477f6f4_c8ce_95b3_d35f_2f53341af86d 041ca752_10c1_3cda_1f5c_02f44a01310e["invariant()"] 7477f6f4_c8ce_95b3_d35f_2f53341af86d -->|calls| 041ca752_10c1_3cda_1f5c_02f44a01310e ed6d70a7_397f_1137_1a2e_8b9092747144["getLoadKind()"] 7477f6f4_c8ce_95b3_d35f_2f53341af86d -->|calls| ed6d70a7_397f_1137_1a2e_8b9092747144 f1f0c182_09ad_b29e_b1ca_56f10046adff["lowerValueToTemporary()"] 7477f6f4_c8ce_95b3_d35f_2f53341af86d -->|calls| f1f0c182_09ad_b29e_b1ca_56f10046adff b210ff8f_3273_1b70_4f00_b08cc41fd3dd["lowerIdentifier()"] 7477f6f4_c8ce_95b3_d35f_2f53341af86d -->|calls| b210ff8f_3273_1b70_4f00_b08cc41fd3dd 3532df9c_cf42_5889_99aa_db6c6d3e1708["makePropertyLiteral()"] 7477f6f4_c8ce_95b3_d35f_2f53341af86d -->|calls| 3532df9c_cf42_5889_99aa_db6c6d3e1708 style 7477f6f4_c8ce_95b3_d35f_2f53341af86d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts lines 3306–3335
function lowerJsxMemberExpression(
builder: HIRBuilder,
exprPath: NodePath<t.JSXMemberExpression>,
): Place {
const loc = exprPath.node.loc ?? GeneratedSource;
const object = exprPath.get('object');
let objectPlace: Place;
if (object.isJSXMemberExpression()) {
objectPlace = lowerJsxMemberExpression(builder, object);
} else {
CompilerError.invariant(object.isJSXIdentifier(), {
reason: `TypeScript refinement fail: expected 'JsxIdentifier', got \`${object.node.type}\``,
loc: object.node.loc ?? GeneratedSource,
});
const kind = getLoadKind(builder, object);
objectPlace = lowerValueToTemporary(builder, {
kind: kind,
place: lowerIdentifier(builder, object),
loc: exprPath.node.loc ?? GeneratedSource,
});
}
const property = exprPath.get('property').node.name;
return lowerValueToTemporary(builder, {
kind: 'PropertyLoad',
object: objectPlace,
property: makePropertyLiteral(property),
loc,
});
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does lowerJsxMemberExpression() do?
lowerJsxMemberExpression() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts.
Where is lowerJsxMemberExpression() defined?
lowerJsxMemberExpression() is defined in compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts at line 3306.
What does lowerJsxMemberExpression() call?
lowerJsxMemberExpression() calls 5 function(s): getLoadKind, invariant, lowerIdentifier, lowerValueToTemporary, makePropertyLiteral.
What calls lowerJsxMemberExpression()?
lowerJsxMemberExpression() is called by 1 function(s): lowerJsxElementName.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free