History log of /fuchsia/zircon/system/utest/fidl-compiler/test_library.h
Revision Date Author Comments
# cd20e1a1 27-Sep-2018 Craig Tiller <ctiller@google.com>

[fidl] Compiler implementation for tables

Test: updated existing tests, implemented a table test suite for table edge cases

Change-Id: Id145d12f44544027d0d28c2288ebf5c6de39b446


# 96d583d0 24-Sep-2018 Pascal Perez <pascallouis@google.com>

[fidl] Add JSON generation tests

Test: make -j 12 HOST_USE_ASAN=true tools && ./build-x64/host_tests/fidl-compiler-test
Change-Id: I1a8f6cb83ed479acc1202b7265846d658fdc6ddf


# de930423 09-Sep-2018 Pascal Perez <pascallouis@google.com>

[fidlc] Refactoring: improved code tracking dependencies

Introducing a Dependencies object to properly track libray dependencies.
A specific dependency must be declared in each file constituting a
library, and use of a depedency is only allowed with an explicit using
statement.

Also introducing an AllLibraries object to track a full compilation
unit. This simplifies the code, and is a good basis to start moving code
from main.cpp into library code.

Test: no behavior change, ran unit tests, and a full build
Change-Id: Ie7a0636cb92900ebf91a7d1140466f4bd2c1e6bb


# 4ef2fb8c 04-Sep-2018 Pascal Perez <pascallouis@google.com>

[fidl] Prevent duplicate attributes.

Attributes can annote various elements such as method, interfaces,
types, libraries. The intent is for attributes to be a key/value pair.
Until this change however, we allowed attributes' keys to be duplicated,
potentially leading to unknown behavior in downstream libraries (e.g.
code generators).

This change enforces this requirement, and unit tests it.

We're adding an ASSERT_STR_STR to the unittesting library to check for
string containement, so as to make the tests easier to read.

Test: make tools HOST_USE_ASAN=true &&
./build-x64/host_tests/fidl-compiler-test, and full builds
Change-Id: Icc92cacc68761bd5d17d77e441300aa860e9f877

Change-Id: I5e3ec76ce2041cbc4389252b935fd5f081a23399


# 11f28dd2 04-Sep-2018 Pascal Perez <pascallouis@google.com>

[fidl] Requiring fidl library dependencies to be declared with using.

A `Library` may only use dependent libraries declared with `using name;` or
`using name as alias;`. During conversion from raw to flat AST, dependencies
are registered under their full qualified name, and alias if present, such
that access can later be more directly controlled. Also checking for duplicate
imports, and giving hints when encountering missing dependencies.

Some improvements around error messaging when encountering unexpected tokens.

Test: unit tested, fx full-build, on x86 and arm, also checking vendor

This reverts commit a252133fefe6dfc9984646e737e4a616222ff678. (It is the
revert of the revert, i.e. the initial change which is
https://fuchsia.googlesource.com/zircon/+/1100bd7e89caa04defae2b54cc833c729cb3c6db)

Change-Id: Ia5c0df9d9262d130bd933fa6d889e97d809b450b


# a252133f 31-Aug-2018 Pascal Perez <pascallouis@google.com>

[fidl] Revert "Requiring fidl library dependencies to be declared with using."

This reverts commit 1100bd7e89caa04defae2b54cc833c729cb3c6db.

Test: git revert
Change-Id: I0d679ef1d1c97e8bf29335177356e2018899fff9


# 1100bd7e 18-Aug-2018 Pascal Perez <pascallouis@google.com>

[fidl] Requiring fidl library dependencies to be declared with using.

A `Library` may only use dependent libraries declared with `using name;` or
`using name as alias;`. During conversion from raw to flat AST, dependencies
are registered under their full qualified name, and alias if present, such
that access can later be more directly controlled. Also checking for duplicate
imports, and giving hints when encountering missing dependencies.

Some improvements around error messaging when encountering unexpected tokens.

Test: unit tested, and ran on many fidl files
Change-Id: I10c5ccfc2a4215240640507cf4a8d078f671d441


# cee1e57c 14-Aug-2018 Jeremy Manson <jeremymanson@google.com>

[fidl] Add a tree visitor to the AST.

This adds a class that lets clients walk the AST, a class
that lets clients walk the AST in declaration order, and
a way of doing testing with .fidl files instead of baking
in raw strings.

Test: Tests added in visitor_unittests.cpp

Change-Id: I5d4824cdb80a8acd8a3cfb8e9cb5586bdeacf365


# 725446cd 02-Aug-2018 George Kulakowski <kulakowski@google.com>

[fidlc] Implement interface inheritance

ZX-250 #done

Test: added superface tests to fidl-compiler tests

Change-Id: I3aa1da5098a9d754df87f92ad55bec016bfea82d


# 79597433 24-Jul-2018 Ian McKellar <ianloic@google.com>

[fidl] Calculate max out-of-line payload size

Also write some unit tests for this and for max handle counting.

TEST=implement some fidl compiler tests

Change-Id: I6d6758100d432e0769bf18b0cd57925c9a56d9b8