History log of /system/tools/hidl/Annotation.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
932464e77e181a98a55e65c046db7a63372b39f6 31-Mar-2017 Yifan Hong <elsk@google.com> Add Formatter::join

Test: pass
Test: hidl_test
Bug: 32559427
Change-Id: I44e27ba9b2e0fef605c340ba0f70f40ef0e6f390
/system/tools/hidl/Annotation.cpp
db1b1b638865a2043c9cddd8c865751e9742b181 10-Jan-2017 Steven Moreland <smoreland@google.com> @export: add export_parent

1. export_parent is by default true
2. setting export_parent to false will prevent -Lexport-header from
exporting hal information

Fix: 32539339
Test: verification that output without adding the option is the same,
manual test with export_parent = true/false
Change-Id: I7a6304cdc40a495427d0369fcc054675770df608
/system/tools/hidl/Annotation.cpp
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/Annotation.cpp
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/Annotation.cpp
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/Annotation.cpp
a72e0d2be173cebf62f728b9d215808bd862f219 09-Sep-2016 Iliyan Malchev <malchev@google.com> Revert "Revert "Split out libhidl-gen and libhidl-gen-utils.""

Shared code between hidl-gen, c2hal, and VTS.

Also build for device, as we might use libhidl-gen reflectively in
future (for profiling and instrumentation).

Change-Id: Ia56901f4afbc12b7c2abee693e0ebea97ba76a8b
/system/tools/hidl/Annotation.cpp
194c2ffccef2dd1c515397e597f26b184bc1269b 10-Sep-2016 Steven Moreland <smoreland@google.com> Revert "split out libhidl-gen and libhidl-gen-utils"

This reverts commit 1316091aaf89abc73ab11539b61b20f13ee261c4.

Change-Id: I97acad6cadd847cb5540ffe0258b081d7901c1e9
/system/tools/hidl/Annotation.cpp
1316091aaf89abc73ab11539b61b20f13ee261c4 09-Sep-2016 Iliyan Malchev <malchev@google.com> split out libhidl-gen and libhidl-gen-utils

Shared code between hidl-gen, c2hal, and VTS.

Also build for device, as we might use libhidl-gen reflectively in
future (for profiling and instrumentation).

Change-Id: Iffdcbf99308e1f69a504e89fcbb4c9447a6bbe7e
Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/tools/hidl/Annotation.cpp
1aec397b1fdea7db4120dbe55b6995bb2a9d9138 26-Aug-2016 Andreas Huber <andih@google.com> Adds (C)opyright headers everywhere.

Change-Id: I453af702f80aa4159ef6c3d29d9514b4897adc0a
/system/tools/hidl/Annotation.cpp
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/Annotation.cpp
3599d928cbed73ba3e3872c095c2d1f65796c733 09-Aug-2016 Andreas Huber <andih@google.com> Interface methods can now be annotated.

The syntax is a strict subset of what Java supports. The following are valid
annotations:

@Fragile
@LotsOfStuff(single="yes", many={"a", "b", "c"})

An annotation either has no parameters (in which case the name is NOT followed
by parentheses) or is does and what follows the name is a parenthesized list
of name=value pairs, where each value is either a single quoted string literal
or a list of quoted string literals surrounded by curly braces.

Change-Id: I3c51d771b7d55c8d16531286d011f61be700a21c
/system/tools/hidl/Annotation.cpp