Allow multiple 'parcelable' declarations in aidl files

This solves a problem with declaring multiple Parcelable static inner
classes.

Change-Id: I5e42b412d6d937df19a388988be5aa58a8dbc3e4
This commit is contained in:
Adam Powell
2012-08-16 14:37:28 -07:00
parent 31bc7f9f21
commit 50a94b8630

View File

@@ -590,7 +590,8 @@ exactly_one_interface(const char* filename, const document_item_type* items, con
}
const document_item_type* next = items->next;
if (items->next != NULL) {
// Allow parcelables to skip the "one-only" rule.
if (items->next != NULL && next->item_type != USER_DATA_TYPE) {
int lineno = -1;
if (next->item_type == INTERFACE_TYPE_BINDER) {
lineno = ((interface_type*)next)->interface_token.lineno;
@@ -598,9 +599,6 @@ exactly_one_interface(const char* filename, const document_item_type* items, con
else if (next->item_type == INTERFACE_TYPE_RPC) {
lineno = ((interface_type*)next)->interface_token.lineno;
}
else if (next->item_type == USER_DATA_TYPE) {
lineno = ((user_data_type*)next)->keyword_token.lineno;
}
fprintf(stderr, "%s:%d aidl can only handle one interface per file\n",
filename, lineno);
return 1;