History log of /system/tools/hidl/Type.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8b66d53dffa4e91c932d09b8be21c8d2edc8ab78 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
Bug: 63940457
Test: manual
Merged-In: I52898f854e5747a65a4ca0c7a6ada0277feca761
Change-Id: I52898f854e5747a65a4ca0c7a6ada0277feca761
/system/tools/hidl/Type.cpp
60864a4374fe867fc3e7f309ca8e4e7c757d7583 08-Jun-2017 Steven Moreland <smoreland@google.com> Support vec<memory> in HIDL.

Test: hidl interfaces compile with vec<memory>
Test: hidl_test

Bug: 36727951

Change-Id: I68092eda26a6ead11bd09ea6c9bb64655207cb5f
/system/tools/hidl/Type.cpp
857ea5f75bc814be1d5ba9ef42f8d07a00965382 19-Apr-2017 Martijn Coenen <maco@google.com> Generate correct Parcel verification code.

Make sure we pass in correct sizes into readBuffer()
and readEmbeddedBuffer() calls.

Same thing for HwBlob.readBuffer() and
HwBlob.readEmbeddedBuffer().

Bug: 30498700
Test: hidl_test, hidl_test_java, Youtube, Maps, Netflix, Camera

Change-Id: Ied2d9dc46538da3fcf5b1acbf1e7558e0743d3a2
/system/tools/hidl/Type.cpp
2639fa32c9d9cc37a15e771b26aaa6cea415b499 30-Mar-2017 Andreas Huber <andih@google.com> More stringently verify expected alignment of fields in hidl compound types.

Bug: 33846034
Test: make
Change-Id: Iaadddeabe04e0c721aa9398a1bb748fd6adcac51
/system/tools/hidl/Type.cpp
9ab1e9e4fe5c1d0565c91ad2d45dd4b9f59e4c5b 10-Mar-2017 Hridya Valsaraju <hridya@google.com> Move toString() methods to android::hardware namespace

Bug: 36108426
Test: hidl_test passes

Change-Id: Ie86c0f2654cd75b1c4179f303287e50efa89376a
/system/tools/hidl/Type.cpp
e45b5303e072043679483a70606f6c00dde17382 22-Feb-2017 Yifan Hong <elsk@google.com> Add toString to Java code

* toString is mainly for debugging purposes.
* For structs and interfaces, add Object.toString.
* For enums, add MyEnum.toString(int) and MyEnum.dumpBitfield(int).

Use them as follows:
* For enums, use the static method E.toString(int).
* For bitfields, use the static method E.dumpBitfield(int).
* For all arrays, use java.utils.Arrays.deepToString(o)
* For everything else, use one of the following:
* o.toString(), if o is not null
* Object.toString(o)
* String.valueOf(o)
* Note that for array / vec of enums / bitfields, the raw integer
value is dumped.

Bug: 33459772
Test: hidl_test_java

Change-Id: Ifb1ed519770b907e0a4e345b2c3109dc322a23b2
/system/tools/hidl/Type.cpp
e9667849dd310995d1e4d12f31942f68bf992d1c 19-Jan-2017 Zhuoyao Zhang <zhuoyao@google.com> Support vts generation for fmq type in hidl-gen.

* Also did a few cleanup for Templated type.

Bug: 34385794
Test: make hidl-gen
Change-Id: I539bf8fe5a1bb65c36f6041417b34ddaf99840d7
/system/tools/hidl/Type.cpp
f5cc2f74e86504f7904a0a24e7fcc00fa19cd579 05-Jan-2017 Yifan Hong <elsk@google.com> Emit toString functions for all types.

* toString() is mainly for debugging purposes only.

* For HIDL internal types (hidl_string, hidl_vec, etc.)
toString() is found in ::android::hardware::details.

* For a user defined type
android.hardware.foo@1.0::IFoo.Type,
toString() is found in ::android::hardware::foo::V1_0.

* For bitfield<::anroid::hardware::foo::V1_0::T>
that gets translated to the underlying
numeric type of T, it doesn't make sense to override toString().
A templated toString() function for each user-defined HIDL enum \
is introduced into the same namespace; call it with
using namespace ::android::hardware::foo::V1_0;
toString<IFoo::MyEnumType>(value);

Test: hidl_test and look at the output of logcat

Bug: 33459772

Change-Id: I70eee018e31d700bf1376334276dbd343af5615f
/system/tools/hidl/Type.cpp
6a082c63904f274c45d5eede313e0ef77ec70f86 11-Jan-2017 Martijn Coenen <maco@google.com> Use new read(Embedded)Buffer API.

Bug: 34134129
Test: hidl_test
Change-Id: Iad3f9d4dd30b4b8b92295816fbed25c56e52fb0a
/system/tools/hidl/Type.cpp
c6752dcea3b5dae1e99960b5beb6af394280b393 20-Dec-2016 Yifan Hong <elsk@google.com> Add operator== and != for some structs.

operator== and != are defined for type T where T is
one of the following:
* scalars
* strings
* enums
* U[] where U is in this list
* vec<U> where U is in this list
* structs that contain only types in this list.

If a struct contains a handle, an MQDescriptor,
or a union, for example, then == and != is not generated.

Bug: 32834072

Test: hidl_test
Change-Id: Icac73a14f81274ee6592e2b8fadf26d629151d9f
/system/tools/hidl/Type.cpp
9df5244c1dd4508cc2e25f8a04d363903912d19c 12-Dec-2016 Steven Moreland <smoreland@google.com> Cleanup way elidable types are determined.

After adding the pointer type, it didn't make sense for elidable types
to be specified in canElideCallback. Now the decision as to whether a
specific type is elidable has been moved into 'isElidableType' on the
Type class.

Bug: 33298401
Test: mma in hardware/interfaces
Change-Id: I66cbaed4c533013a52e59fc8e7edcdabc9ab9f20
/system/tools/hidl/Type.cpp
abf73eef7f23f0b0ba0fe85694dcd511f4e69962 06-Dec-2016 Yifan Hong <elsk@google.com> Add is*() functions for more types.

Test: compiles
Change-Id: Ibeba6c814ac17192481935a067b7c835c4008dc7
/system/tools/hidl/Type.cpp
30bb6a869be0f3f82497b7b11c71ec9d47652ed0 30-Nov-2016 Steven Moreland <smoreland@google.com> Add a typeName() method to each type for error printing purposes.

Test: compiles with mma
Change-Id: I1283c395440282fde1106ad47aa185bdeda75880
/system/tools/hidl/Type.cpp
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/Type.cpp
2f69a5b157e9c5c41847e55bf3e7dbb01b7de99d 18-Nov-2016 Martijn Coenen <maco@google.com> Map handle to hidl_handle in all cases.

Instead of having inconsistent types for HIDLs 'handle' type
dependent on where the handle is used (eg native_handle_t*
in function parameters, but hidl_pointer<native_handle_t>
in compound structures), make it consistent by always using
hidl_handle. Copy constructors and conversion operators will
still make it easy to use for clients/servers.

Bug: 32089785
Test: builds, hidl_test32/64 passes
Change-Id: I2eb60cb56c4c62ad9479fd57f801349ce0f4b7ef
/system/tools/hidl/Type.cpp
ac5878945afde379e41d9c93de44c32537f868b1 17-Nov-2016 Martijn Coenen <maco@google.com> Wrap compound native_handle_t* in hidl_pointer.

When transferring a handle in a compound type,
we need to use hidl_pointer<> to ensure that we
allocate enough space for the pointer. But we want
to hide the hidl_pointer<> type from client/server
code as much as we can, so we only use this type
when necessary (eg when the handle is embedded in
a struct).

Bug: 32089785
Test: builds
Change-Id: I30c9aa9f1348fd5e72cd6d1e71d9ac3b4bd8ea8e
/system/tools/hidl/Type.cpp
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/Type.cpp
4ed1347cd29e6e07acad368891bb03078c798aba 02-Nov-2016 Yifan Hong <elsk@google.com> Remove extra from getJavaType.

Bug: 32559427
Test: hidl_test_java

Change-Id: I1a96630eed1b61ab4ff2959ced2e83f94e8fb36d
/system/tools/hidl/Type.cpp
3b320f8a60e4343bf06319bca3fc949c95eaf326 01-Nov-2016 Yifan Hong <elsk@google.com> Remove extra from getCppType.

The argument is used for array type originally. We
now use hidl_array instead of T[], so there is no
need to use extra.

Renamed the convenience getCppType to getCppStackType
to avoid casting to (Type *) before using this
method (which makes it inconvenient)

Also fixes:
* RefType::getCppType ignores specifyNamespaces
* ConstantExpression.cpp emits a C-style cast instead
of static_cast

Bug: 32559427

Test: mma passes
Test: hidl_test

Change-Id: I7e2e31c34c1ca1aa83c4a5a4dbdf7fd6b9aff30c
/system/tools/hidl/Type.cpp
1c507273be6a1beefbe7ef6ec63992a7cf66c4f8 05-Oct-2016 Andreas Huber <andih@google.com> And one more backend for hidl-gen to create a simple static java library

exporting all annotated constants.

Bug: 32200867
Test: make
Change-Id: Ifddf296fea7b31cbf7bf8d3a42159ad43004805c
/system/tools/hidl/Type.cpp
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/Type.cpp
c5ea9f589cc7cce0b5e97bd4ac6a8561eb313a02 07-Oct-2016 Zhuoyao Zhang <zhuoyao@google.com> Update hidl-gen support for vts.

* Support the new Enum type (based on scalar_data)
* Support sub_struct/sub_union defined within compound type.
* Code cleanup: use getVtsType() instead of hard code ones.

Test: make hidl-gen, locally run make hidl_gen_test.
Bug: 30762234
Change-Id: I9a21b5757e0a9fc6cd1bf829ab123565a7990ad5
/system/tools/hidl/Type.cpp
be2a3737675b83dd61b52c11f0d7549fa1276739 05-Oct-2016 Yifan Hong <elsk@google.com> hidl-gen: add sanitizedName to emitReaderWriterEmbedded.

* Fix weird variable names in autogenerated code for vec<vec<T>>.

Bug: 31955917

Test: hidl_test
Change-Id: I83363a6d12babae1aba8e118451e1ec80492012c
/system/tools/hidl/Type.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/Type.cpp
00f471711684903fd747e7871edf437ca54ed397 30-Sep-2016 Yifan Hong <elsk@google.com> hidl-gen: Fix warnings for unused parameters.

Test: `mma` does not have warnings on unused paramters
on GraphAll.cpp.

Change-Id: Ib4ddd38c34f1de5aef1cdefdfa0539840fb44a8e
/system/tools/hidl/Type.cpp
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/Type.cpp
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/Type.cpp
709b62dbda6184770bb34470ff550e02c1643e67 19-Sep-2016 Andreas Huber <andih@google.com> Arrays of arrays are now coalesced into a single multi-dimensional array type.

This is natively stored as a flat array of the element type.

Change-Id: I1b0eee51b496648a9c8445b835635deff1a90aab
Bug: 31438033
Test: run updated "hidl_test" and "hidl_test_java"
/system/tools/hidl/Type.cpp
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/Type.cpp
f9d49f1468bd65595f6f0ae5f4d7300f4e95edf8 12-Sep-2016 Andreas Huber <andih@google.com> [C++ hidl-gen] Fix multi-dimensional arrays, vectors of arrays.

Bug: 31438033
Change-Id: I254e8bfeb8fbf665dd3836825aa271603be6d14c
/system/tools/hidl/Type.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/Type.cpp
f630bc8736003dcf4aac3dfe47167beb6beb6c6a 09-Sep-2016 Andreas Huber <andih@google.com> Java support for passing vec<STRUCT-TYPE> and STRUCT-TYPE[] to and from methods.

Bug: 31380705
Change-Id: I7374538d0bc2b3562c997710bfa4ed1f95950589
/system/tools/hidl/Type.cpp
979e099f1163ff75beed5776cd01fb409b90a0cd 07-Sep-2016 Steven Moreland <smoreland@google.com> Added knowledge of namespacing into generation.

This is the first step in making code aware of namespacing. Currently,
the solution to generate symbols which are properly namespaced is to
post-process text after it is being outputed by a Formatter. Ideally
objects will know what namespace they are in and be able to print
themselves out accordingly. This change specifically will allow
generated code to remove namespaces from symbols that don't need
to be qualified entirely without relying on post-processing to remove
the namespace.

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

Change-Id: I453af702f80aa4159ef6c3d29d9514b4897adc0a
/system/tools/hidl/Type.cpp
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/Type.cpp
864c771ca4ec8a01e31c7c243625b7a5f6316768 17-Aug-2016 Zhuoyao Zhang <zhuoyao@google.com> Enhanced hidl-gen support for generating vts files.

*Support callflow from mehtod annotations.
*Support inheritance for interfaces and types.
*Support Array and Union type.

b/30762234

Change-Id: I059b780d6362a557bb9cfd70d6c5ec0e73916ce3
/system/tools/hidl/Type.cpp
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/Type.cpp
295ad30bf6212c16accc5095601b2a71d44b4c8b 16-Aug-2016 Andreas Huber <andih@google.com> Support for a generic "binder" type (reflected as "interface" in hidl)

marshaled as a sp<hwbinder::IBinder>.

Bug: 30884691
Change-Id: I157d78fbbe839637805359441925aec597c52383
/system/tools/hidl/Type.cpp
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/Type.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/Type.cpp
2831d5145675ead9f2fb767bf5fe4ae56b88349f 15-Aug-2016 Andreas Huber <andih@google.com> Initial commit of Java backend to hidl-gen.

Change-Id: I38b62637df74d3e5daf702a8996502d0d5726033
/system/tools/hidl/Type.cpp
549e2598843dcc092a6049bbd9e209c249b1b11a 10-Aug-2016 Iliyan Malchev <malchev@google.com> hidl-gen: remove references to AIDL

git grep -l _aidl_ . | xargs sed -i -e 's/_aidl_/_hidl_/g'

b/30778629 Generated code has many references to AIDL

Change-Id: I3172e7da7acd6ba8c8c332be7316317b0eb59136
Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/tools/hidl/Type.cpp
8d3ac0c6112e02e3a705fd4f9d82e523f10b4287 04-Aug-2016 Andreas Huber <andih@google.com> Be a little smarter about dealing with TypeDefs, resolve to the typedef'd

target at lookup time, so all code ever sees is anything _but_ TypeDefs.
Also verify that the optional Enum storage type is valid (i.e. an enum
or an integer type) and re-emit enum values for derived enum types.
/system/tools/hidl/Type.cpp
737080baf85882c45bb322ee2191ae5fd9e1283a 03-Aug-2016 Andreas Huber <andih@google.com> Keeping track of imported names, resolve enum storage types, some finetuning.
/system/tools/hidl/Type.cpp
881227d860c59471eee31d39946e96ce2daa35d6 02-Aug-2016 Andreas Huber <andih@google.com> generate C++ interface header, proxy and stub headers and sources.
/system/tools/hidl/Type.cpp
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/Type.cpp
5345ec2b1b7e4126b77aa2131b231a9eb5ee811d 29-Jul-2016 Andreas Huber <andih@google.com> Recursively parse imported .hal files and perform global type lookup.
/system/tools/hidl/Type.cpp
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/Type.cpp