commit | 3effa83f93e1fcd4fe2b714b97fb461dfeda8af7 | [log] [tgz] |
---|---|---|
author | Steven Moreland <smoreland@google.com> | Fri Jun 16 16:17:41 2017 -0700 |
committer | Steven Moreland <smoreland@google.com> | Mon Jun 19 20:07:09 2017 +0000 |
tree | 6b08b6e7927d57f2734969d102248b606aa331d6 | |
parent | 214f4aef99a80adc7fbccab8587164b294c3d95b [diff] |
Error message for incorrect FQNames. Given this FQName in a file: @2.1::IComposerClient::Command Which should be: @2.1::IComposerClient.Command The lexer reads in FQName objects. Before, the lexer was parsing the following tokens: '@2.1::IComposerClient' ':' ':' 'Command' as Interface FQName, invalid character, invalid character, identifier Before: ERROR: Invalid enum storage type specified. at ... Now we get this error message (with only one token): ERROR: FQName '@2.1::IComposerClient::Command' is not valid at ... We do this by having the lexer accept a superset of valid FQNames which FQName itself later can't parse. - also added better error for enum invalid type errors - also added error when hidl-gen is invoked with no fqnames Test: check all interfaces with hidl-gen Fixes: 62721248 Change-Id: I7f27d60a2026f026315e426febba9483d468e29a
croot make hidl-gen
hidl-gen -o output-path -L language (-r interface-root) fqname output-path: directory to store the output files. language: output file for given language. e.g.c++, vts.. fqname: fully qualified name of the input files. For singe file input, follow the format: package@version::fileName For directory input, follow the format: package@version interface-root(optional): prefix and root path for fqname. If not set, use the default prefix: android.hardware and default root path defined in $TOP. examples: croot hidl-gen -o output -L c++ -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0::INfc.hal hidl-gen -o output -L vts -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0 hidl-gen -o test -L c++ -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0