react/compiler
Joe Savona 925c20a206 [compiler] Add fallthrough to branch terminal
Branch terminals didn't have a fallthrough because they correspond to an outer terminal (optional, logical, etc) that has the "real" fallthrough. But understanding how branch terminals correspond to these outer terminals requires knowing the branch fallthrough. For example, `foo?.bar?.baz` creates terminals along the lines of:

```
bb0:
  optional fallthrough=bb4
bb1:
  optional fallthrough=bb3
bb2:
  ...
  branch ... (fallthrough=bb3)

...

bb3:
  ...
  branch ... (fallthrough=bb4)

...

bb4:
  ...
```

Without a fallthrough on `branch` terminals, it's unclear that the optional from bb0 has its branch node in bb3. With the fallthroughs, we can see look for a branch with the same fallthrough as the outer optional terminal to match them up.

ghstack-source-id: d48c623289
Pull Request resolved: https://github.com/facebook/react/pull/30814
2024-08-28 15:59:25 -07:00
..
apps/playground [playground] Allow (Arrow)FunctionExpressions 2024-08-16 18:12:05 -04:00
crates Fix rust lints 2024-08-06 14:48:32 -04:00
docs Punctuation & correcting spelling mistakes (#30592) 2024-08-09 14:53:53 -07:00
packages [compiler] Add fallthrough to branch terminal 2024-08-28 15:59:25 -07:00
scripts [compiler] Publish to latest tag 2024-08-12 14:41:11 -04:00
.eslintrc.js [compiler:codegen] Wrap non-ascii characters in JsxExpressionContainer 2024-06-21 10:08:15 -04:00
.gitignore [.gitignore] Add bundle script 2024-04-16 14:41:13 +01:00
Cargo.lock Bump rustix from 0.37.22 to 0.37.27 in /compiler (#29173) 2024-05-20 12:02:35 +01:00
Cargo.toml Update references to Forget to React Compiler 2024-05-02 14:28:06 -07:00
package.json [compiler] Refactor release script 2024-08-06 14:48:33 -04:00
README.md Update readme and other docs 2024-05-06 14:53:47 -07:00
rust-toolchain.toml
rustfmt.toml
yarn.lock [compiler] Refactor release script 2024-08-06 14:48:33 -04:00

React Compiler

React Compiler is a compiler that optimizes React applications, ensuring that only the minimal parts of components and hooks will re-render when state changes. The compiler also validates that components and hooks follow the Rules of React.

More information about the design and architecture of the compiler are covered in the Design Goals.

More information about developing the compiler itself is covered in the Development Guide.