CODEFOSSIL · react
lowerExpression
function in compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts:1627 · Its origin lies before the indexed history
Changed [compiler] Support update expressions on captured variables (#37513)
d0a776c· Pieter De BaetsChanged [compiler] Remove local CompilerError accumulators, emit directly to env.recordError() (#35882)
2e0927d· Joseph SavonaChanged [compiler] Phase 3: Make lower() always produce HIRFunction (#35878)
d6558f3· Joseph SavonaChanged [compiler] Collapse CompilerError.{invariant,simpleInvariant} (#35614)
006ae37· Joseph SavonaChanged [compiler] Filter out disabled errors from being reported (#34409)
7899252· laurenChanged [compiler] Migrate CompilerError.invariant to new CompilerDiagnostic infra (#34403)
474f258· laurenChanged [compiler] Derive ErrorSeverity from ErrorCategory (#34401)
60d9b97· laurenChanged [compiler] Aggregate error reporting, separate eslint rules (#34176)
7d29ecb· Joseph SavonaChanged [compiler][wip] Improve diagnostic infra (#33751)
707e321· Joseph SavonaChanged [compiler] New mutability/aliasing model (#33494)
66cfe04· Joseph SavonaChanged feat(babel-plugin-react-compiler): support satisfies operator (#32742)
ef4bc8b· Rodrigo FariaChanged [compiler] Dedupe @babel/types (#32581)
4ab827b· laurenChanged [compiler] Represent array accesses with PropertyLoad (#32287)
a9575dc· mofeiZChanged [compiler] Handle TSInstantiationExpression in lowerExpression (#32302)
10a4c88· inottnChanged [compiler] Add fallthrough to branch terminal
925c20a· Joe SavonaChanged [compiler] Support for member expression inc/decrement
50d2197· Mike VitousekChanged [compiler] Bail out on local variables named 'fbt'
704c34e· Mofei ZhangChanged [compiler] patch: retain UpdateExpression for globals
a8f5c4e· Mofei ZhangChanged [compiler] Fix FBT whitespace handling again (again (again))
e215aa1· Mofei ZhangChanged [compiler] Todo for fbt with multiple pronoun/plural
e0acd77· Mofei ZhangChanged Compiler: unfork prettier config (#30205)
fd2b3e1· Jan KassensChanged [compiler] Make unary and binary operator types more precise
814a418· Mike VitousekChanged feat(compiler): Support MetaProperty (#29752)
f5af92d· Niklas MollenhauerChanged compiler: Add todo for getter/setter syntax
c272789· Joe SavonaChanged compiler: distinguish globals/imports/module-locals
5061f31· Joe SavonaChanged compiler: Handle TSNonNullAssertion expressions (#29218)
4c2e457· Henry Q. DineenChanged Support <fbs> in addition to <fbt>
738ddf7· Pieter VanderwerffChanged Move global reassignment validation to InferReferenceEffects
a78da09· Joe SavonaChanged [dx] Consistently use backticks for quoting input in error messages
da6c461· Joe SavonaChanged [dx] Improve BuildHIR error messages
4666bf8· Joe SavonaChanged Update compiler naming in remaining error text
7748ce8· Lauren TanChanged Todo for fbt with multiple fbt:enum
346f6c1· Joe SavonaChanged More accurate source locations for JSX opening/closing tags
f2b0b65· Joe SavonaChanged Fix for <fbt> with local import
7257c9b· Joe Savona fix · INFERREDChanged Support destructuring assignment of context variables
f7f0550· Joe SavonaChanged Fix assignment expression with context variables
d4cdaf2· Joe Savona fix · INFERREDChanged [lower][patch] Recognize UpdateExpression as lval assignment
5dd55e8· Mofei ZhangChanged HIR StoreLocal.type uses babel type
76aaf32· Joe SavonaChanged Use variable type annotations to drive inference
12fbfc4· Joe SavonaChanged Use type assertions to drive inference
8b3898c· Joe SavonaChanged Support TS type annotations in TypeCastExpression instr
d163c0b· Joe SavonaChanged [patch] Make holey array handling compatible with older babel versions
7e9f6ec· Mofei ZhangChanged BuildHIR lowers FunctionDecl instead of rewriting to FuncExpr
8176ebb· Joe SavonaChanged Support computed object keys
8d41529· Joe SavonaChanged Fix FBT whitespace handling (again (again))
6f2fe1e· Joe SavonaChanged Use starred-block for multi line comments
6405c98· Sathya GunasekaranChanged [syntax] Lower empty jsx attributes to true
b55cf78· Mofei ZhangChanged [be] Improve feature flags setup
3489055· Joe SavonaChanged [hir] Wire up object method lowering and codegen
f899647· Sathya GunasekaranChanged [ez] Add TODO bailout on non-backward compatible holey arrays
b9275f6· Mofei ZhangChanged [hir] Add a "type" field to ObjectProperty
b26cc58· Sathya GunasekaranChanged [hir] Refactor out ObjectPropertyKey
365a88a· Sathya GunasekaranChanged [hir] Add support for string literal property keys
f2027b9· Sathya GunasekaranChanged Add instructions for UpdateExpression variants
43677da· Joe SavonaChanged [hir] Add support for holey arrays
25527b3· Sathya GunasekaranChanged [hir] Check for globals while lowering UpdateExpression
4a8b36b· Sathya GunasekaranChanged Add InvalidJS error severity
dda59d0· Lauren TanChanged Refactor CompilerErrorDetails
448ed2b· Lauren TanChanged Reclassify existing errors
c3d6789· Lauren TanChanged Use CompilerError.invariant consistently
e7e67f3· Lauren TanChanged Remove codeframe/nodepath options from CompilerError
6c425f6· Lauren TanChanged Fix last(?) order of evaluation bug
3744930· Joe Savona fix · INFERREDChanged Use sequence terminal, fix most remaining order-of-evaluation bugs
1e0eb25· Joe Savona fix · INFERREDChanged [hir] Add Load/StoreContext (1/n)
314a5cf· Mofei ZhangChanged Consistently use new lowering for OptionalMemberExpression
a43fc2b· Joe SavonaChanged More accurately model nested OptionalCallExpression
73a203c· Joe SavonaChanged Support OptionalCallExpression as LHS of LogicalExpression
9a12e8b· Joe SavonaChanged Enforce terminal has a .loc (and .id)
f51e2a6· Joe SavonaChanged [hir] Refactor FunctionExpression lowering into separate function
05f48e2· Sathya GunasekaranChanged [hir] Strip JSXEmptyExpression syntax
ec0abcd· mofeiZChanged [be] Simplify BuildHIR w lowerValueToTemporary helper
43176b1· Joe SavonaChanged Support await expressions
445e550· Joe SavonaChanged Support RegExp literals
61e97dc· Joe SavonaChanged JSXNamespacedName support
179b24b· Joe SavonaChanged Support for (Optional)MemberExpression callee in OptionalCall
9ff82c3· Joe SavonaChanged Test cases for optional call
326ee66· Joe SavonaChanged ReactiveFunction and codegen for optional calls
77bb9ff· Joe SavonaChanged BuildHIR for OptionalCallExpression
feb8e92· Joe SavonaChanged Scaffolding for OptionalCall
40bd9b0· Joe SavonaChanged Consolidate {Property,Computed}Call into MethodCall
14c03b8· Joe SavonaChanged ComputedCall modeled as ComputedLoad + Call for order-of-evaluation semantics
5f1bebb· Joe SavonaChanged [hir] represent PropertyCall as receiver + PropertyLoad
01a6502· Mofei ZhangChanged Helper for lowering args
3e84c87· Joe SavonaChanged Fix self-closing jsx element codegen
ff8868e· Joe Savona fix · INFERREDChanged Support spread elements in CallExpression args
f88713b· Joe SavonaChanged DeclareLocal instruction
f54f653· Joe SavonaChanged Support assignment expressions in value blocks
7537df3· Joe SavonaChanged PropertyDelete/ComputedDelete instructions
f985d6c· Joe SavonaChanged Support spread elements in ArrayExpression
e381aa0· Joe SavonaChanged Support spread patterns in object literals
93cca54· Joe SavonaChanged Represent ObjectExpression properties as Array<ObjectProperty>
7893a6c· Joe SavonaChanged Support string literal keys for object expressions
f3c6628· Joe SavonaChanged [rfc] always create collections even if elements have errors
a9d6d2d· Joe SavonaChanged All calls to lowerExpression lower to a unique temporary
8233e8f· Joe SavonaChanged Value block reassignment uses StoreLocal
fe2d179· Joe SavonaChanged [storelocal] Instruction lvalue is just a Place
36d1fa2· Joe SavonaChanged StoreLocal instruction
487786f· Joe SavonaChanged LoadLocal instruction
71db40c· Joe SavonaChanged [be] Fix unused vars in BuildHIR
8bc8d67· Lauren Tan fix · INFERREDChanged Lower all operands to temporaries
1dfaf8a· Joe SavonaChanged Make it easier to debug lambdas
1d0aa64· Joe SavonaChanged Bailout on assigning to module-scope variables
2b3902f· Joe SavonaChanged Start of making globals and hook declarations configurable
eece732· Joe SavonaChanged Fix update assignment on computed memberexpression
6877ac6· Joe Savona fix · INFERREDChanged [be] Cleanup BuildHIR
8eb5feb· Joe SavonaChanged [λ] Use Effect.Capture for mutating deps
3df1ae6· Sathya GunasekaranChanged Use parent of AssigmentExpressions when bailing out
0d2653d· Lauren TanChanged [λ] Remove unused params in FunctionExpression
500cfdd· Sathya GunasekaranChanged [hir syntax] Handle TemplateLiteral syntax
e30a9e9· Mofei ZhangChanged [λ] Use context identifiers in inner functions
4b55399· Sathya GunasekaranChanged Partial support for update expressions
de929fc· Joe SavonaChanged [λ] Store and define captured bindings as context
0522d52· Sathya GunasekaranChanged Improve debugging for - errors
c2dda02· Joe SavonaChanged Support TypeCastExpression
2069269· Joe SavonaChanged Support JsxSpreadAttribute
47074a2· Joe SavonaChanged [valueblocks] Support sequence expressions (comma operator)
149353b· Joe SavonaChanged [valueblocks] Disallow AssignmentExpression in value blocks (temporarily)
d650557· Joe SavonaChanged [valueblocks] Support conditional expressions (ternary)
acd2274· Joe SavonaChanged [valueblocks] ReactiveFunction repr for logical expressions
bb8ae86· Joe SavonaChanged [valueblocks] Lower logical expressions into logical terminals
c6a066a· Joe SavonaChanged Bailout TaggedTemplateExpressions instead of invariant
be40580· Lauren TanChanged Use CompilerErrors to record errors
545e53c· Lauren TanChanged Stop passing NodePaths to CompilerError
d44538a· Lauren TanChanged [hir] Parse UnaryExpression
f83ff2f· Sathya GunasekaranChanged [hir] Handle OptionalMemberExpression syntax
62b7526· mofeiZChanged [hir] Parse and codegen TaggedTemplateExpression
79d53f9· Sathya GunasekaranChanged Consistency pass for error messages in BuildHIR
3da8d52· Lauren TanChanged [λ] Parse and codegen arrow function exprs
ee3a88f· Sathya GunasekaranChanged Inline hasNode check (hack)
3ba90a7· mofeiZChanged Redo patch prettier
16169be· mofeiZChanged [prettier] Patch prettier to write modified TS files (#1055)
07cda62· mofeiZChanged Collect bailouts in BuildHIR::lowerJsxElement
9ed6977· Lauren TanChanged Collect bailouts in BuildHIR::lowerExpression
b298357· Lauren TanChanged Rename InstructionValue.OtherStatement to UnsupportedNode
1a3e269· Lauren TanChanged [hir] Lower function expressions into HIR
c1c3088· Sathya GunasekaranChanged Add PropertyCall/ComputedCall instructions
edeaaaf· Joe SavonaChanged [hir] Make lambdas dependencies be a list of Places
6f9c9cf· Sathya GunasekaranChanged [hir] Gather dependencies for lambdas
346ecb2· Sathya GunasekaranChanged [hir] Parse and codegen FunctionExpression
ce7cab4· Sathya GunasekaranChanged Rename IndexLoad/Store to ComputedLoad/Store
29bb3f5· Joe SavonaChanged Support computed property access/assignment
bd99d06· Joe SavonaChanged Object and array destructuring support in declaration/assignment
ab150bd· Joe SavonaChanged Remove unused Place.memberPath
c2b2df0· Joe SavonaChanged Support chained assignment expressions
26cd435· Joe SavonaChanged Lowering for PropertyStore
0a6af82· Joe SavonaChanged RHS member expression converts to PropertyLoad
1fd4bad· Joe SavonaChanged Factor out assignment expression cases
8c920cf· Joe SavonaChanged Prep for destructuring, factor out lowerIdentifier()
836211a· Joe SavonaChanged Ensure member path assignments memoize independently
af91a7a· Joe SavonaChanged [type-infer] Implement Hindley Milner type inference
9bfad00· Sathya GunasekaranChanged [hir] Add Type to Place
b8cf85d· Sathya GunasekaranChanged Opaque InstructionId type
9948e38· Joseph SavonaChanged [hir] implement assignment expressions
9918116· Jan KassensChanged Support JSX fragments (#736)
24ea3fa· Joseph SavonaChanged [hir] Add id to number Instruction
e698880· Sathya GunasekaranChanged Replace NodePath with SourceLocation
5f81b7b· Joseph SavonaChanged [hir] implement nullish coalescing operator
189b221· Jan KassensChanged [hir][be] Use a Map to store ObjectExpression.properties
bb91cbb· Sathya GunasekaranChanged [hir][be] Use a Map to store JsxExpression.props
f54d121· Sathya GunasekaranChanged [new-arch] HIR cleanup per discussion
0000ab6· Joseph SavonaChanged [new-arch][easy] Handle declarations (let/const) through codegen
cbbfba2· Joseph SavonaChanged [new-architecture] Reassignment-safe frozenness inference
f5f9143· Joseph Savona