6081863ce80ff231323a54e97072a17227a56820 |
|
04-Feb-2017 |
Steven Moreland <smoreland@google.com> |
Add -Werror. Also, fixed several warnings (including one bug in generateCppImpl.cpp). Test: compiles Bug: 32559427 Change-Id: I78375b9052c0ad447ebac638258f25bbf562712f
/system/tools/hidl/hidl-gen_l.ll
|
333a6d2f842fdf8938aeae5fea0295fe2d7c6bcd |
|
12-Jan-2017 |
Yifan Hong <elsk@google.com> |
Do not allow package with missing version e.g. android.hardware.foo::IFoo is not allowed. Also, the regex rules in hidl-gen_l.ll and in FQName.cpp was not consistent (optional version in hidl-gen_l.ll but only minor version is optional in hidl-gen_y.yy). Hence android.hardware.foo::IFoo has always been not allowed. Still, the "?" is removed in both to make the rules consistent, and there are explict checks in FQName::setTo and FQName::applyDefaults to prevent this. Test: compiles with mma Change-Id: I9fd0a474c0313ab7c86c37f58f081a2c5a9b559c
/system/tools/hidl/hidl-gen_l.ll
|
a32bde87bb8341954d297ff889a62fb6abc6d3a1 |
|
27-Dec-2016 |
Hridya Valsaraju <hridya@google.com> |
Add FmqType to templatize MQDescriptor Also removed PredefinedType and renamed MQDescriptorSync to fmq_sync and MQDescriptorUnsync to fmq_unsync. Test: FMQ unit tests. Bug: 33948735 Merged-In: I7f2802b76000a1e1a55d02381cca202530a0cd18 Change-Id: I7f2802b76000a1e1a55d02381cca202530a0cd18
/system/tools/hidl/hidl-gen_l.ll
|
115d428f9c38c078d679a98942c47ce4a17bd599 |
|
19-Dec-2016 |
Martijn Coenen <maco@google.com> |
Add (un)linkToDeath to generated interfaces. (un)linkToDeath is now a part of IBase, and can be called on any generated HIDL interface. The implementation is a no-op, except in proxy objects, which are by definition a different process than the interface they point to. Since clients are not aware of the transport implementation, we must wrap the transport-independent callback in a transport-specific callback object. In case of binder, that object is a hidl_binder_death_recipient. The binder proxy object contains a list of registered death recipients, as well as a mutex to protect access to the list. The list is required to allow us to map back transport-independent callbacks to transport-dependent callbacks in unlinkToDeath(). Bug: 31632518 Test: mma, hidl_test Change-Id: I5083a8789dd706a886a8a09f8c733031a351a36a
/system/tools/hidl/hidl-gen_l.ll
|
c57c8bb9f368faca636bdb6b39773e72255e8b08 |
|
01-Dec-2016 |
Yifan Hong <elsk@google.com> |
Add a bitfield type. It is possible to say enum MyEnum : int8_t {...}; ... bitfield<MyEnum> in HIDL. In the above example, bitfield<MyEnum> simply translates to int8_t. Change mutating |= and &= to allow only (e.g.) int8_t s = 0; s |= MyEnum::VAL1; Bug: 31702236 Test: hidl_test Change-Id: I8d79975bb48e1ffd3af4726a52ef3678dac60115
/system/tools/hidl/hidl-gen_l.ll
|
99e6bebc96d75d1c9b9b8130cd9b880dacb95b01 |
|
01-Dec-2016 |
Martijn Coenen <maco@google.com> |
memory -> hidl_memory and pointer -> hidl_pointer Test: hidl_test Change-Id: Id71c742867be01e80cd48f689c0c619f6b647aac
/system/tools/hidl/hidl-gen_l.ll
|
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/hidl-gen_l.ll
|
be627b3383497c7cc6d2eeb26052f9d7fd128b6b |
|
29-Oct-2016 |
Yifan Hong <elsk@google.com> |
hidl-gen: some error recovery. Detect some errors and attempt to recover when a ';' is seen. Attempt to remind the writer for missing ';'s. TODO: more error recovery should be done for hidl/errorhal/error/1.0/IEx1.hal Bug: 31367057 (partly fixes) Test: mma Test: `hidl-gen -Lc++ -r tests.errors:system/tools/hidl/test/errorhal -o ~/temp tests.errors.syntax@1.0` The output has the correct positions marked for the errors. Change-Id: I858129e08a10cc12a9978adc7fe0c0b94ffbf83e
/system/tools/hidl/hidl-gen_l.ll
|
bd33e3854555589f312c4d6d89491e2f5cc2f782 |
|
02-Nov-2016 |
Yifan Hong <elsk@google.com> |
Fix array size orders. Note that the following code in HIDL: typedef int32_t[3] ThreeInts; struct T { ThreeInts[5] matrix5x3; int32_t[3][5] matrix3x5; } will generate this C++ code: struct T { hidl_array<int32_t, 5, 3> matrix5x3; // notice 3 is after 5 hidl_array<int32_t, 3, 5> matrix3x5; } and this Java code: public final static class T { public final int[][] matrix5x3 = new int[5][3]; public final int[][] matrix3x5 = new int[3][5]; } Bug: 31438033 Test: hidl_test Test: hidl_test_java Change-Id: I3ac91c461293848e6efb3ae8c11a6a8d932ed79a
/system/tools/hidl/hidl-gen_l.ll
|
cd91bf671bb152c58124eaab9ec3c67429ddc0c3 |
|
25-Oct-2016 |
Hridya Valsaraju <hridya@google.com> |
Add MQDescriptorUnsync as a predefined HIDL type. Bug: 31550963 Test: Used MQDescriptorUnsync in hardware/interfaces/tests/msgq/1.0/ITestMsgQ.hal, built and ran the FMQ unit tests. Change-Id: Ib414d9048fbd3f89cfbbe12d11631716f630979e
/system/tools/hidl/hidl-gen_l.ll
|
8efccec25e4010829fff42d5d953dfb83549d807 |
|
06-Oct-2016 |
Steven Moreland <smoreland@google.com> |
Remove opaque type from hidl. Test: make, hidl_test, make hardware/interfaces. Bug: 31798800 Change-Id: I45db5baa81d9afa9b05e32fec1152802328ce9d4
/system/tools/hidl/hidl-gen_l.ll
|
bf459bcedc2ab1a22a9cc290fbcc0a5462e63690 |
|
24-Aug-2016 |
Yifan Hong <elsk@google.com> |
Pointer support and embedded types in HIDL. * Pointers work per transaction. Don't work across transactions. * ref<T> in HIDL translates to T const* in C++. * No Java support. * Embedded types like ref<vec<vec<int32_t>>> or vec<ref<T>> is supported. Pointers to pointers like ref<ref<ref<T>>> is supported. * Array of pointers and pointer to array supported. * Pointer inside a union is NOT supported. Test: `mma` Test: `make hidl_test && adb sync && adb shell hidl_test` Note that this only works with a kernel patch. Bug: 31300815 Bug: 31349114 Change-Id: I15b74ca74a801009cc8bdc7132bd53d0185dbcbf
/system/tools/hidl/hidl-gen_l.ll
|
b44a6c8ed35bc63fa0e65111c31fa1339325eb41 |
|
23-Sep-2016 |
Yifan Hong <elsk@google.com> |
Use colon syntax for FQNames for enum values. example: android.hardware.foo@1.0::IFoo.IFooInternal.FooEnum:ENUM_OK In constant expressions they are emitted as-is, so the emit code won't compile. Also split regex rule 4 into two rules in FQName.cpp, to single out the case for identifiers. Test: not tested. This CL require child CLs to work. Bug: 31682916 Change-Id: Ib376dc8c4a27894f7b0eb6d017d9f69242d25b45
/system/tools/hidl/hidl-gen_l.ll
|
191c1fe6bfa9b04fd8ca06b298048215a767baf6 |
|
13-Sep-2016 |
Steven Moreland <smoreland@google.com> |
Ignoring deprecated register only in flex. Change-Id: If1aa41c3e04c7e4e7b98056568cd3d3890c188ef
/system/tools/hidl/hidl-gen_l.ll
|
605c421e53027ad3047a62916f9d2c0373de0a35 |
|
06-Sep-2016 |
Steven Moreland <smoreland@google.com> |
Line numbers now properly counted when there are comments. Before, yyloc->lines() not called on newlines in comments. This resulted in syntax errors to be reported at the wrong lines if files contained comments. Change-Id: I196142f30e2f6a98d480c4c866ba974066184c65
/system/tools/hidl/hidl-gen_l.ll
|
1aec397b1fdea7db4120dbe55b6995bb2a9d9138 |
|
26-Aug-2016 |
Andreas Huber <andih@google.com> |
Adds (C)opyright headers everywhere. Change-Id: I453af702f80aa4159ef6c3d29d9514b4897adc0a
/system/tools/hidl/hidl-gen_l.ll
|
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/hidl-gen_l.ll
|
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/hidl-gen_l.ll
|
edad10fc2fa1435eb3a19a0ba119eb90c16d91b5 |
|
18-Aug-2016 |
Andreas Huber <andih@google.com> |
Remove support for "const" in hidl. Bug: 30453525 Change-Id: Ia146bec538ae44d7987057e90b6c36c85d31ef0a
/system/tools/hidl/hidl-gen_l.ll
|
bb0346d211957800e60ca2a645a43c66f542fe8e |
|
18-Aug-2016 |
Andreas Huber <andih@google.com> |
Merge "'char' is no longer an acceptable hidl type. Use int8_t or uint8_t instead."
|
3179b22facb8720726e98ae70968df47e2a115d7 |
|
18-Aug-2016 |
Andreas Huber <andih@google.com> |
'char' is no longer an acceptable hidl type. Use int8_t or uint8_t instead. Bug: 30922140 Change-Id: Id21a1e92a5ad6cd38efd6dda3c8bcfe601c63537
/system/tools/hidl/hidl-gen_l.ll
|
521656973a277bd727a96fa812315daf416668f4 |
|
13-Aug-2016 |
Yifan Hong <elsk@google.com> |
parsing major operators. Do not evaluate the expression, but rather only check for syntatic errors and resolve for precedence. * only enum_values are parsed. * annotation parameter values, and array sizes are NOT parsed. * Unary, binary, and ternary operators supported. * Assignment operators are NOT considered. * Cast is NOT supported. * Pointers are NOT supported. * Emitted expression doesn't work for Java. See Ic1f524c604fc72b9d1b7b330b608ff38ce287921 for tests. Along side with some code for handling float literals for future use. Change-Id: I67ff0767a67c66b62e5ddfe75954f94d45ac7793
/system/tools/hidl/hidl-gen_l.ll
|
639bff877ed39a7605dab30055f7322b9c3df962 |
|
13-Aug-2016 |
Iliyan Malchev <malchev@google.com> |
hidl-gen: accept oneway methods b/30843534: oneway methods seem broken Change-Id: I122fc26b4054eb0952d209e6b8c18d3a2ea446df Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/tools/hidl/hidl-gen_l.ll
|
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/hidl-gen_l.ll
|
fd4afabde8fb9bbdd0021addeb9fbb62428f2c17 |
|
03-Aug-2016 |
Andreas Huber <andih@google.com> |
RefType is no more, 1) simplify, 2) repeat
/system/tools/hidl/hidl-gen_l.ll
|
881227d860c59471eee31d39946e96ce2daa35d6 |
|
02-Aug-2016 |
Andreas Huber <andih@google.com> |
generate C++ interface header, proxy and stub headers and sources.
/system/tools/hidl/hidl-gen_l.ll
|
006189f29c9e8451859dd6ca6aa933184a57d88a |
|
30-Jul-2016 |
Andreas Huber <andih@google.com> |
by popular demand: enum SomeEnum { FIRST, SECOND = 10, THIRD = SECOND + 5, };
/system/tools/hidl/hidl-gen_l.ll
|
68f24590cda230fb92eac44ed0247f54f9b31ad0 |
|
29-Jul-2016 |
Andreas Huber <andih@google.com> |
better error-handling, importing entire packages. Cache now keyed by FQName
/system/tools/hidl/hidl-gen_l.ll
|
da51b8e0dd17a0edcb5c3e72beb65d45ef0ce8b0 |
|
29-Jul-2016 |
Andreas Huber <andih@google.com> |
No more "version" keyword, new syntax is "package foo.bar.baz@3.4;"
/system/tools/hidl/hidl-gen_l.ll
|
84f89de8395a78577f80db0f860b61a9f2409294 |
|
29-Jul-2016 |
Andreas Huber <andih@google.com> |
major revamp, fully qualified names (FQName) used throughout lexer/parser.
/system/tools/hidl/hidl-gen_l.ll
|
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/hidl-gen_l.ll
|