diff options
author | Joe Onorato <joeo@google.com> | 2011-10-09 22:31:16 -0700 |
---|---|---|
committer | Mike Lockwood <lockwood@google.com> | 2012-02-10 10:51:23 -0800 |
commit | a1c6d909c22e196ef62ddb065fc7821deda8a602 (patch) | |
tree | 1a295d0e6530e1a7023a1e5271e7c21e8e3676b9 /tools/aidl/aidl_language_y.y | |
parent | 95a766ddcd0feda233882012b755947b2588352c (diff) | |
download | frameworks_base-a1c6d909c22e196ef62ddb065fc7821deda8a602.zip frameworks_base-a1c6d909c22e196ef62ddb065fc7821deda8a602.tar.gz frameworks_base-a1c6d909c22e196ef62ddb065fc7821deda8a602.tar.bz2 |
aidl: All flattenable types now must also be parcelable.
This is more a limitation of the grammar than anything else triggering laziness on my part.
Diffstat (limited to 'tools/aidl/aidl_language_y.y')
-rw-r--r-- | tools/aidl/aidl_language_y.y | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/tools/aidl/aidl_language_y.y b/tools/aidl/aidl_language_y.y index 12bb3d7..cc04d15 100644 --- a/tools/aidl/aidl_language_y.y +++ b/tools/aidl/aidl_language_y.y @@ -74,50 +74,52 @@ document_items: ; declaration: - parcelable_decl { $$.document_item = (document_item_type*)$1.parcelable; } + parcelable_decl { $$.document_item = (document_item_type*)$1.user_data; } | interface_decl { $$.document_item = (document_item_type*)$1.interface_item; } ; parcelable_decl: PARCELABLE IDENTIFIER ';' { - parcelable_type* b = (parcelable_type*)malloc(sizeof(parcelable_type)); - b->document_item.item_type = PARCELABLE_TYPE; + user_data_type* b = (user_data_type*)malloc(sizeof(user_data_type)); + b->document_item.item_type = USER_DATA_TYPE; b->document_item.next = NULL; - b->parcelable_token = $1.buffer; + b->keyword_token = $1.buffer; b->name = $2.buffer; b->package = g_currentPackage ? strdup(g_currentPackage) : NULL; b->semicolon_token = $3.buffer; - $$.parcelable = b; + b->flattening_methods = PARCELABLE_DATA; + $$.user_data = b; } | PARCELABLE ';' { fprintf(stderr, "%s:%d syntax error in parcelable declaration. Expected type name.\n", g_currentFilename, $1.buffer.lineno); - $$.parcelable = NULL; + $$.user_data = NULL; } | PARCELABLE error ';' { fprintf(stderr, "%s:%d syntax error in parcelable declaration. Expected type name, saw \"%s\".\n", g_currentFilename, $2.buffer.lineno, $2.buffer.data); - $$.parcelable = NULL; + $$.user_data = NULL; } | FLATTENABLE IDENTIFIER ';' { - parcelable_type* b = (parcelable_type*)malloc(sizeof(parcelable_type)); - b->document_item.item_type = FLATTENABLE_TYPE; + user_data_type* b = (user_data_type*)malloc(sizeof(user_data_type)); + b->document_item.item_type = USER_DATA_TYPE; b->document_item.next = NULL; - b->parcelable_token = $1.buffer; + b->keyword_token = $1.buffer; b->name = $2.buffer; b->package = g_currentPackage ? strdup(g_currentPackage) : NULL; b->semicolon_token = $3.buffer; - $$.parcelable = b; + b->flattening_methods = PARCELABLE_DATA | RPC_DATA; + $$.user_data = b; } | FLATTENABLE ';' { fprintf(stderr, "%s:%d syntax error in flattenable declaration. Expected type name.\n", g_currentFilename, $1.buffer.lineno); - $$.parcelable = NULL; + $$.user_data = NULL; } | FLATTENABLE error ';' { fprintf(stderr, "%s:%d syntax error in flattenable declaration. Expected type name, saw \"%s\".\n", g_currentFilename, $2.buffer.lineno, $2.buffer.data); - $$.parcelable = NULL; + $$.user_data = NULL; } ; |