commit | fdfcffccc9452064432c01e79b4de2776714be80 | [log] [tgz] |
---|---|---|
author | Felix Zhu <fcz@google.com> | Wed May 05 01:25:27 2021 +0000 |
committer | CQ Bot <commit-bot@chromium.org> | Wed May 05 01:25:27 2021 +0000 |
tree | c114a132aa484a9d4e873fcb08d6c7a52251198e | |
parent | a0771a931e62f77911837a4952d645970bb4507c [diff] |
[fidlc] Restructure type compilation This CL adds a flat::TypeConstructorNew node that mirrors the more general form that exists in the new syntax (i.e. a general layout with parameters and constraints), and then introduces a top level flat::TypeConstructor that contains either a TypeConstructorNew or a TypeConstructorOld. All code is updated to handle either kind of type constructor. In order to properly support type aliases in the more general form, compilation is changed so that Types are responsible for applying constraints. Fixed: 75122 Bug: 75112 Bug: 74193 Test: fx ninja -C out/default host_x64/fidl-compiler && ./out/default/host_x64-asan/exe.unstripped/fidl-compiler Test: fx test --host fidlc_golden_tests Change-Id: I9ecce21e17732bef85afe9f3df2bb19fed7f977b Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/516460 Commit-Queue: Felix Zhu <fcz@google.com> Reviewed-by: Pascal-Louis Perez <pascallouis@google.com> Reviewed-by: Alex Zaslavsky <azaslavsky@google.com>
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
Read more about Fuchsia's principles.
See Getting Started.
See fuchsia.dev.