From fcb310f93680b87943c90a321e2beedcb8c528b8 Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Tue, 8 Nov 2011 17:35:09 -0800 Subject: For events, require that the parameters be marked in. (because they won't work otherwise) --- tools/aidl/aidl.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tools') diff --git a/tools/aidl/aidl.cpp b/tools/aidl/aidl.cpp index e5689b9..8dbbf50 100644 --- a/tools/aidl/aidl.cpp +++ b/tools/aidl/aidl.cpp @@ -475,6 +475,15 @@ check_method(const char* filename, int kind, method_type* m) err = 1; } + if (returnType == EVENT_FAKE_TYPE + && convert_direction(arg->direction.data) != IN_PARAMETER) { + fprintf(stderr, "%s:%d parameter %d: '%s %s' All paremeters on events must be 'in'.\n", + filename, m->type.type.lineno, index, + arg->type.type.data, arg->name.data); + err = 1; + goto next; + } + if (arg->direction.data == NULL && (arg->type.dimension != 0 || t->CanBeOutParameter())) { fprintf(stderr, "%s:%d parameter %d: '%s %s' can be an out" -- cgit v1.1