History log of /system/tools/hidl/Scope.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
368e46077eb9fbe52242e037a5b9de91693fe70f 16-Feb-2018 Steven Moreland <smoreland@google.com> Do all validation during validation phase.

When hidl-gen was originally written, validation occured
at two different times: parsing and generation.

Since then, hidl-gen was re-written to be a multi-pass compiler.
The basic phases are now (see main + AST::postParse):
parse, process, validate, generate

However, some validation still exists during the generation phase.
This validation code has been gradually cleaned up, but, here, I am
cleaning up all the rest.

By moving the code to validation, we are fixing several classes
of problems:
1. generate functions almost exclusively (except for the few exceptions
that this CL cleans up) always return status OK. We have a bunch of
data flow logic which exists solely to propagate "return OK". This
is just plain silly.
2. a large number of the returns from emit/generate functions are not
actually checked. We've had a several bugs from this and also many
CLs just to fix this when they've been discovered. This causes problems
where hidl-gen fails but nothing notices.
3. sometimes files are written before things are validated. This is
extremely frustrating and also the cause of other bugs. One common
case of this (while developing) is when updating makefiles, the hidl-gen
compiler complains something is wrong with an interface, but it has
already partially written new but invalid makefiles. This means that
they have to be manually fixed before another build can begin.
4. having status_t returns from generate functions indicates to someone
working on hidl-gen that they can return an error here, but they
should always return an error from the correct validation function.
Removing the ability to return ERROR makes sure that new errors are
caught/validated in the correct place. One instance in this CL of
this happening is that annotations are also checked on isHidlReserved
methods whereas before, these were incorrectly only checked on regular
methods.

(note, breaking text to avoid pinging these)
B ug: 65636464 (forward declarations, made this possible)
B ug: 34807779 (better tools for java compatibility, closer to being solved)
B ug: 32573681 (instance of 2 above).

Test: hidl's run_all_host_tests.sh
Change-Id: I8988e1fdf16e15b925c0a613122c41e6a41bd4dd
/system/tools/hidl/Scope.h
8e61c5af41226b0e1e88aa439c1360836f71795b 18-Nov-2017 Steven Moreland <smoreland@google.com> Add emitGlobalTypeDeclarations.

This allows HIDL objects to add things to libhidl namespaces
like "android::hardware".

Bug: 68715899
Test: hidl_test
Change-Id: Idd9cb6261e843e1bc4ecb8b261dea6335384e9b2
/system/tools/hidl/Scope.h
4b8f7a11f794d9b4899af92a856b4a03b80b31e8 18-Nov-2017 Steven Moreland <smoreland@google.com> Rename global..Decls to package...Decls

For something like android.hidl.foo@V1_0::IFoo.SomeStruct.SomeEnum
emitGlobalType/HwDeclarations puts relevant functions in
"android::hidl::foo::V1_0".

Since this isn't the global namespace and we are actually going
to put other things relative to the global namespace, renaming.

Bug: 68715899
Test: hidl_test
Change-Id: Ibc465dc69d028b13d96f123a42a1f5bf391c32b3
/system/tools/hidl/Scope.h
458ca365d99ae9f98bd59c0c2ea8b4fa54e2d535 13-Sep-2017 Timur Iskhakov <iskhakovt@google.com> Put type definitions in reversed topological order

Puts a warning comment if the order is changed.
Doesn't change the order if that is not necessary.

Fixes: 65636464
Bug: 31827278

Test: mma
Test: ~/android/aosp/out/soong/.intermediates/hardware/interfaces is
changed only for trie

Change-Id: I91ec448859fcdd94228acfaa1f67de7bb54f777c
/system/tools/hidl/Scope.h
5dc72fe4f6f1d2c03c75307a9bd80f055f752ed3 08-Sep-2017 Timur Iskhakov <iskhakovt@google.com> Make recursive methods in Type work with cyclic AST

Fixes Type::canCheckEquality, Type::needsResolveReferences,
Type::isJavaCompatible, Type:containsPointer.

Adds set of visited Types to these functions to prevent
infinite recursion.

deep versions of these functions *do not* guarantee the correct
return value, but non-deep versions do:
We need to find al least one path from requested vertex
to "bad" vertex (ie. which is not java compatible).

Fixes a bug with containsPointer (containsPointer returned true
if inner type contained a pointer), so more structures get
__attribute__ aligned and static_assert generated for
struct fields.

This change is required for forward reference, as current
implementations assume that the graph is acyclic.

Potential future work: to reduce theoretical complexity of
described actions (square to linear).

Bug: 31827278

Test: mma
Test: output not changed in
out/soong/.intermediates/hardware/interfaces

Change-Id: I3dbdd1605f9317637241057b12de6031125abf7b
/system/tools/hidl/Scope.h
565b0137b2ad0e8e239d38e92c025f096de62f2d 07-Sep-2017 Timur Iskhakov <iskhakovt@google.com> Refactor AST::addScopedType.

Makes NamedType receive full name in constructor.
Adds test that defined type names are unique within one scope.

Test: mma
Test: hidl_error_test
Change-Id: If218e1febc2af9f44c5908408f67e772efdda18e
/system/tools/hidl/Scope.h
dbaed3317411232962d25666de60799b4dcfce98 01-Sep-2017 Timur Iskhakov <iskhakovt@google.com> Do not unwrap typedefs on lookups

TypeDefs were replaced with actual types in lookups, so package
containing typedef could be not included.

This change keeps typedef declarations and imports package with
typedef declaration.

Bug: 65266511

Test: mma
Test: manual check that include became correct
Test: /hardware/interfaces output is unchanged, however
CL changes the behavior

Change-Id: Iee78228c9acfa4dbd16c3ca4ec0d9568a927d0f6
/system/tools/hidl/Scope.h
b58f4185934a93fc511c03a8a970b31c5ea0dfca 30-Aug-2017 Timur Iskhakov <iskhakovt@google.com> Make Type::getReferences return pointer

This change makes it able to add lookups as one more tree pass,
as it requires to change Type inside of references.

This change require getReferences to become non-const, so from now
we maintain const and non-const versions of recursive pass and getting
dependencies.

Bug: 31827278
Test: mma
Change-Id: I201533db5ca0bd30fbad34ef71ed2bd210c607e4
/system/tools/hidl/Scope.h
891a866402345777c7e746cf8d0e4ffd0bd28ca2 26-Aug-2017 Timur Iskhakov <iskhakovt@google.com> Constant Expressions have same tree structure as Type

Makes constant expressions tree structures and type signatures
be similar to AST (type declarations and references).

This change is useful for making same structure for calling
constant expressions evaluation and lookup (they depend on local
identifiers).

Bug: 31827278

Test: mma

Change-Id: I901284009d8b845358788b8c9e3de083a2f63f3f
/system/tools/hidl/Scope.h
8202eed1601f8dd26986dd76e5fac190a9983bfc 26-Aug-2017 Timur Iskhakov <iskhakovt@google.com> Remove calling types declated in Scope during passes

Calling pass function for each type in scope is no
longer necessary, as that function would be called
in Type::recursivePass.
(These types are listed in Scope::getDefinedTypes.)

Test: mma
Change-Id: Ib357c3a40a65bb4d498e1bf2bfd4c8fdfbbd0519
/system/tools/hidl/Scope.h
33431e6cd425c6cd179080442a8616e2baa20aae 22-Aug-2017 Timur Iskhakov <iskhakovt@google.com> Build AST graph explicitly for simpler post-parsing passes

Puts all of AST parent-child dependencies into a graph.
This change also makes it able to not care about such case:
Type -> (non Type) -> Type (ex. Interface -> Method -> Type)
and to store only Type -> Type relations.

Test: hidl_test
Change-Id: Ic67d9833d9519d7bd6cbae603c556c5bd905167a
/system/tools/hidl/Scope.h
cec46c48853a8c1246656d0095a9faa3fad5c4f9 09-Aug-2017 Timur Iskhakov <iskhakovt@google.com> Move type-related stuff ouside of parsing

3 new passes: resolving inheritance, evaluating constant expressions and
validation.

`resolveInheritance` completes type fields definition which depends on
type base class (so it needs to be looked up before this pass). That
includes interface method serial autofill and enum value autofill.

`evaluate` evaluates constant expressions. This pass depends on the
previous one as enum autofill creates new expressions (+1s).

`validate` proceedes all type-related checks.

`callForReference` is a special way of calling passes for types:
it is used for types that are defined in reference.
Currently that is only array type (size is defined in reference only)
and template type as it could contain an array.
We need such special way to avoid cyclic evaluate call:
struct S { S[42] arr; };

Test: full build, device boot
Test: hidl_test
Test: full build on mac
Test: generated files differ only in constant expression comments

Change-Id: I499e62ae41c52cc86b13d0014eed790454137af6
/system/tools/hidl/Scope.h
8c90cc59bf93bd0c08970b4488067a33015d4a1c 03-Aug-2017 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy performance warnings in system/tools/hidl.

* Use const reference parameter type to avoid unnecessary copy.
* Use more efficient overloaded string methods.

Bug: 30407689
Bug: 30411878
Test: build with WITH_TIDY=1
Change-Id: Ib90a35106eb59d05878b75504b87ef324211cc6b
/system/tools/hidl/Scope.h
e9ccfa2e9c177ead2b6ccb36dd20de294666abcd 15-Aug-2017 Timur Iskhakov <iskhakovt@google.com> Move annotations from Type to Scope

Test: hidl_test
Change-Id: I0b570096c38e27cb818930bd508d31aa47fe5d4d
/system/tools/hidl/Scope.h
7296af19687b1c90dfd238398cd2c8ccb6bcd232 09-Aug-2017 Timur Iskhakov <iskhakovt@google.com> Revert "Revert "ConstantExpression lazy evaluation""

This reverts commit a549b71629b6bc28ac1d99d34a0f3b3005c90aad.

Reason for revert: mac build issue fixed by adding virtual destructor

Test: builds, hidl_test
Test: builds on mac

Bug: 64532323

Change-Id: I10a142649bc1eb304b267372129e850235004f6e
/system/tools/hidl/Scope.h
a549b71629b6bc28ac1d99d34a0f3b3005c90aad 09-Aug-2017 Colin Cross <ccross@android.com> Revert "ConstantExpression lazy evaluation"

This reverts commit 1313a127416ed91a80ab4f282c6ecc042e54bc15.

Causes SIGILL when running hidl-gen in mac builds.

Change-Id: I8b7797dc84c7fc2ea93e6c5c69aa653aa5185c64
/system/tools/hidl/Scope.h
1313a127416ed91a80ab4f282c6ecc042e54bc15 01-Aug-2017 Timur Iskhakov <iskhakovt@google.com> ConstantExpression lazy evaluation

Makes comment "A constant expression is represented by a tree" true! :)

ConstantExpression is now stored as a tree with forcing lazy evaluation.
ConstantExpression suports Reference for future forward reference
support.

Test: compiles, boots, hidl_test
Test: hidl-gen output for android.hardware.tests.expression@1.0 is
unchanged

Change-Id: I26b10f27c00d869192fa3d52c188196f7e39392f
/system/tools/hidl/Scope.h
0ecc7b8aca24a5618512610bb6371bdb91b5fdc2 19-Jul-2017 Steven Moreland <smoreland@google.com> Add typeName() to all types.

Fixes some possible empty error messages (from
vec<unsupported type> at least). Also, will be useful
in the future to describe types.

Bug: 34807779
Test: manual
Change-Id: I52898f854e5747a65a4ca0c7a6ada0277feca761
/system/tools/hidl/Scope.h
cb0ba5213057de39aa164f2f9a3691370bcbfe6b 18-Jul-2017 Timur Iskhakov <iskhakovt@google.com> Moving hidl-gen parser stack outside of AST

Move compiler stack outside of AST members,
adding a parent member to NamedType to make AST
a real tree.

Add a check that interface must be declared in global scope,
that was not checked in hidl-gen.

Also move scanner outside of AST.

Test: compiles, links, boots, hidl_test
Change-Id: Ida0c192b258e40c8cfe033f00a842444df0130ad
/system/tools/hidl/Scope.h
19f11b53241877c442d31d9dc6b372e294a500d0 13-May-2017 Steven Moreland <smoreland@google.com> Removed "bool AST::isInterface(std::string*)"

Test: links
Change-Id: I603831ed8aa8a8794a54d38ce0e1d0b6c68701cb
/system/tools/hidl/Scope.h
60d3b22101e911242d2d41c8dc8309e8706f1fe1 30-Mar-2017 Andreas Huber <andih@google.com> More stringently verify expected alignment of fields in hidl compound types.

Change-Id: I222d78163ac5d7cc5af405b0c3d0586ed7528213
Bug: 33846034
Test: make
/system/tools/hidl/Scope.h
244e82d34bf0ef5d8d5b0730a9dea3e3fc4de7c5 11-Nov-2016 Yifan Hong <elsk@google.com> move read/writeEmbedded[References]From/ToParcel out

from hidl_string, hidl_vec, and structs.

* Add a hwtypes.h in the autogenerated files, which
contains the read/writeEmbeddedFrom/ToParcel
methods for structs defined in types.h.

* Fixes the hack that remove the warnings when compiling
the generated code (useParentInEmitResolveReferencesEmbedded())
and add one more hack (useNameInEmitReaderWriterEmbedded())

* Some clean-up on Scope.cpp (add a forEachType function)

Test: mma
Test: hidl_test

Bug: 32756130

Change-Id: Icfd116b5d92fef78d257337c3f2ef02071f7600b
/system/tools/hidl/Scope.h
a4b53d0da8c1c6889c361fd30b913adc364163bc 01-Nov-2016 Yifan Hong <elsk@google.com> Add location info to named types.

Bug: 31827278

Test: hidl_test
Change-Id: I1922d5c309c9706cef37ab34d28e1193d1e247cd
/system/tools/hidl/Scope.h
6a2fedf6d86fe32d5d005dd3b87f296f23ed6a11 11-Oct-2016 Yifan Hong <elsk@google.com> hidl-gen: remove support for anonymous enums.

* There is no anonymous things allow in HIDL.
Scope::pickUniqueAnonymousName is removed.

Test: hidl_test
Test: cd system/tools/hidl && mma
Test: cd hardware/interfaces && mma

Change-Id: Iebcb001b34e05b32378dbcb8b2b06e045d8c221a
/system/tools/hidl/Scope.h
e3f769aa75dd6be6bb1ba83904def47d9e464769 10-Oct-2016 Andreas Huber <andih@google.com> Enum types now emit operator| and operator|= for easier bitset manipulation.

Bug: 31702236
Change-Id: I166da2fe0019493c81151914ebabf591b705a713
Test: visual check, mma
/system/tools/hidl/Scope.h
019d21db821ee4ae6dd3858174a0a5cee4d33c25 03-Oct-2016 Andreas Huber <andih@google.com> Yet another backend for hidl-gen, this one generates a C-compatible header file

containing those enum types annotated in the package like so:

@export
enum Foo {
...
};

Optionally, the name to be used for the type declaration in the header file
can be different from that used in the .hal interface description by specifying

@export(name="foo_t")
enum Foo {
...
};

Finally, overriding the name to be empty, i.e.

@export(name="")
enum Foo {
...
};

will cause the generator to emit an anonymous enum.

Bug: 31800672
Change-Id: Idffb2c1700af1c7fd312941d80c3373add8ae558
Test: make
/system/tools/hidl/Scope.h
327cfe12d51908469e1544db14a9232e0ddc6855 03-Oct-2016 Yifan Hong <elsk@google.com> hidl-gen: Fix nested type cannot be found.

Bug: 31821285

Test: `mma`
Test: `make hidl_test && adb sync && adb shell hidl_test`
Change-Id: I4a407e65973d85f76b43adff668155f15b783946
/system/tools/hidl/Scope.h
7c5ddfb41a806a7bf71581952d06b637a7670cf7 29-Sep-2016 Andreas Huber <andih@google.com> Allow struct, union and enum type declarations to be annotated.

Change-Id: Idce594b47c324d8420638e2e8853da3c99150672
Bug: 31800672
Test: hidl_test, hidl_test_java
/system/tools/hidl/Scope.h
f24fa85b362d7eb66c7b880f48e1e2e9916bc8a9 23-Sep-2016 Yifan Hong <elsk@google.com> Resolve constant expressions for external constants.

* Allow constant expressions to be used as array sizes
and as annotation values.

Bug: 31592132 allow constant expressions to be used as array sizes.
Bug: 31628863 Autofill values for enum type

Test: `make android.hardware.tests.expression@1.0` compiles
and generates enum class Color with autofilled values.
Test: `make hidl_test_java` succeeds.
Test: `make hidl_test && adb sync && adb shell hidl_test` succeeds.
Test: `mma`

Change-Id: I57377ec608503d4741d305e98144264b07973055
/system/tools/hidl/Scope.h
ae16eeda35e175dbc3cb0651121854c5788e522e 23-Sep-2016 Yifan Hong <elsk@google.com> Redefine fqname in hidl-gen_y.yy

There is an inconsistency in hidl-gen_y.yy that fqname does not
mean an FQName object, but a Type object. Redefined fqname to create
an FQName object only, and rename the original fqname rule to fqtype.

This also propagates to AST::lookupType and Scope::lookupType to
take an FQName object instead of a plain string.

Test: `mma`
Test: `make hidl_test && adb sync && adb shell hidl_test`
Change-Id: I5d35192fa5fa9752b10bd9e7d339eadc5cdb78c0
/system/tools/hidl/Scope.h
4c865b72b320a46f326a335cfd326b66b0e10f67 15-Sep-2016 Andreas Huber <andih@google.com> [Java hidl-gen] Fix multi-dimensional arrays (used within structures, not

as method arguments).

Bug: 31438033
Change-Id: I8e29ae8eca2a9ef8a320e37ca0bb79dcfa8a9b9a
/system/tools/hidl/Scope.h
d537ab02e1707597d70665fd8c75ca1ec9f57326 12-Sep-2016 Steven Moreland <smoreland@google.com> Remove dependency on libutils.

As part of this, TypeDef has also been converted to a NamedType. This is
because originally, Scope contained just a KeyedVector<localname, idx> of
types which it contained, and an std::vector<type> which idx indexes into
(KeyedVector<localname, type> alone would have also worked). However, now
it contains a std::map<localname, idx> instead. Because of this, we have lost
the ability to iterate over the keys (localnames) in O(n). By converting
TypeDef to a NamedType, name => idx => type such that name == type->name.
This also means that in function hierarchy calling Scope::addType, we no
longer have to pass around the tuple (name, type) since type->name == name,
and we can pass around only type.

Change-Id: I8f85afe0e389979a2fd98ff5eeccf47e3fcc8307
/system/tools/hidl/Scope.h
1aec397b1fdea7db4120dbe55b6995bb2a9d9138 26-Aug-2016 Andreas Huber <andih@google.com> Adds (C)opyright headers everywhere.

Change-Id: I453af702f80aa4159ef6c3d29d9514b4897adc0a
/system/tools/hidl/Scope.h
85eabdbe56720dcdcf130e5ca83129d47b143768 25-Aug-2016 Andreas Huber <andih@google.com> The hidl-gen Java backend now supports structures (NOT unions) and types.hal

files.

Bug: 30575790
Change-Id: I6461235a1c469ce1bdb279bfa3d531113c5788f9
/system/tools/hidl/Scope.h
9ed827c8cd6e8eddb1ad9987ab9413c1de8a27df 22-Aug-2016 Andreas Huber <andih@google.com> Fix nested structure/union name handling.

Local names must be assigned before processing the body.

Change-Id: I9c3e3d4b7575c612148aea89bbd424e59e3c0604
/system/tools/hidl/Scope.h
39fa71827738f6c1340e4523946fe9bf704eef3a 19-Aug-2016 Andreas Huber <andih@google.com> Improved name lookup in order to allow partial names to refer to external

(imported) packages.

Bug: 30977424
Change-Id: I0a3757d6c3b10229627e2c1d6bc6176f88e13151
/system/tools/hidl/Scope.h
0d0f9a2e0195a8609f1939c35bd8907253b68249 17-Aug-2016 Andreas Huber <andih@google.com> Switch to 'glr' skeleton parser, better diagnostics through location tracking.

Change-Id: I34f510f3bf8d1e6da06de350456bd2804ca236db
Bug: 28679009
/system/tools/hidl/Scope.h
edad10fc2fa1435eb3a19a0ba119eb90c16d91b5 18-Aug-2016 Andreas Huber <andih@google.com> Remove support for "const" in hidl.

Bug: 30453525
Change-Id: Ia146bec538ae44d7987057e90b6c36c85d31ef0a
/system/tools/hidl/Scope.h
70a59e1dc3dcf32f791d2dd7966111d4adf32eca 16-Aug-2016 Andreas Huber <andih@google.com> Validate upfront that an interface is compatible with our Java backend,

emit diagnostics if it is not. Also cleans up all other error messages to
clearly indicate an error condition.

Bug: 30876839
Change-Id: I18bcd723107ab93abcad38c976f3c38dda60a743
/system/tools/hidl/Scope.h
c7dfef3fda2061dcaeeb144c10eef3cf7360b03c 16-Aug-2016 Andreas Huber <andih@google.com> Better diagnostics if an attempt is made to redeclare a type under the same name

as an existing type in that scope. Support for anonymous struct/unions.

Change-Id: I0122cfae4da848419956c7b27bacaca66f8021d5
Bug: 30896059
/system/tools/hidl/Scope.h
5158db484e5ab302368f191d75d5b1334c270e52 10-Aug-2016 Zhuoyao Zhang <zhuoyao@google.com> Extend hidl-gen to support generate vts file.

b/30762234

TODO: add regression test.

Change-Id: I1c31fd9a85805cd450ea03cc0ccc750a756d1009
/system/tools/hidl/Scope.h
2831d5145675ead9f2fb767bf5fe4ae56b88349f 15-Aug-2016 Andreas Huber <andih@google.com> Initial commit of Java backend to hidl-gen.

Change-Id: I38b62637df74d3e5daf702a8996502d0d5726033
/system/tools/hidl/Scope.h
5a545440766886a1bbd09ed7221bb337705e5d14 03-Aug-2016 Andreas Huber <andih@google.com> Better validation. Check that unions contain no fixup types and structs

contain no references to interfaces (hwBinders).
/system/tools/hidl/Scope.h
31629bcd51ab30bc0aadc69f3fc8ce4893eca900 03-Aug-2016 Andreas Huber <andih@google.com> Saner determination of a declared type's name (now short + full name)

at the time the type is introduced to a scope.
/system/tools/hidl/Scope.h
867fcb63af8c3ac96ed1b3f3950525aa70393bdf 03-Aug-2016 Andreas Huber <andih@google.com> bye bye, dump(), RefType no longer gets a name.
/system/tools/hidl/Scope.h
881227d860c59471eee31d39946e96ce2daa35d6 02-Aug-2016 Andreas Huber <andih@google.com> generate C++ interface header, proxy and stub headers and sources.
/system/tools/hidl/Scope.h
a2723d26427f7db19777dfed330047253e7a4e1b 30-Jul-2016 Andreas Huber <andih@google.com> Enforce naming conventions and allow empty (except for the header) types.hal files.
/system/tools/hidl/Scope.h
5345ec2b1b7e4126b77aa2131b231a9eb5ee811d 29-Jul-2016 Andreas Huber <andih@google.com> Recursively parse imported .hal files and perform global type lookup.
/system/tools/hidl/Scope.h
c9410c7e62a33fd7599b2f3e025093a2d171577e 28-Jul-2016 Andreas Huber <andih@google.com> initial commit of reimplementation of hidl-gen

commit 56da787631c17276bc987f19649c6c1ea92200c3
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 12:18:57 2016 -0700

ast.cpp => AST.cpp

commit 095552aba072152d9c87475895cd2e97c43b7b03
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 10:43:04 2016 -0700

TypeContainer => Scope, since it now also holds constants.

commit 89ec1c511e7806037a53e43333c37fdf1b7aa39e
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 10:41:05 2016 -0700

initial support for constants

commit b60b7ae588654b634bfdc5c283a25dd6378e1df7
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 10:01:46 2016 -0700

Support for typedef, maintain ordering inside TypeContainer

commit 8e83034a077ce2309deeb0e2094079cf6f11d8b4
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 09:36:29 2016 -0700

support for optional super interface

commit 9d44b022adb4a68dfca67ba2a6d845b7c8f27b88
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 09:28:18 2016 -0700

ast => AST

commit 48fd7f8a4e8ecf230cfc416aec6c8f6115e410af
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 09:26:44 2016 -0700

Each type in its own source/header file pair.

commit ca1285ecbcbbb1340eec476e3fd4d1334908d8c1
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 28 08:52:24 2016 -0700

added scalar types "char", "bool" and "opaque"

commit fbb351e5f4392fcbbce77402dfe059a1c8d79fb2
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 27 13:47:32 2016 -0700

some fixes to the parser and ast.

commit 78288216b101349e9364c2d4470ecb5b9a942f5c
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 27 12:34:21 2016 -0700

Formatter, AST::dump(), NamedType

commit 4b8cc5d0a8ff5f70cb53e21b56138124259b8bcb
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 27 11:45:10 2016 -0700

revamp of the parser, scoped type containers

commit 0193fbfa5c7ac3ac1ce306dfb9c55d879f8c02b5
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 27 10:13:35 2016 -0700

store output in AST.

commit 7f53022123978cc7c2a05b0c4aba7a4c5deea93b
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 27 10:06:54 2016 -0700

reentrant lexer/parser

commit 3d3e343d6cea2fb127b203071e8aff08a5715011
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 26 15:27:02 2016 -0700

better typename lookup, comments.

commit 39f13ae860dbd9ffd163a5c99f150170525457ef
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 26 14:29:33 2016 -0700

an actual AST.

commit b1f3f1d94a8d1257426da35ace5bc2af04c433b6
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 26 12:51:34 2016 -0700

initial commit

Change-Id: I44d1d928a5f3dcb908e264d53af09bbe25d8c464
/system/tools/hidl/Scope.h