diff options
author | Joe Onorato <joeo@google.com> | 2011-11-17 16:13:49 -0800 |
---|---|---|
committer | Joe Onorato <joeo@google.com> | 2011-11-17 16:13:49 -0800 |
commit | 6980de4ef9a67ed6227eecf5b059a8d2e3d470d2 (patch) | |
tree | bde66934acb0a09d561354fdee72955d905de8ab /tools/aidl | |
parent | 430d36fef9decb78f039a9713207548225244d17 (diff) | |
download | frameworks_base-6980de4ef9a67ed6227eecf5b059a8d2e3d470d2.zip frameworks_base-6980de4ef9a67ed6227eecf5b059a8d2e3d470d2.tar.gz frameworks_base-6980de4ef9a67ed6227eecf5b059a8d2e3d470d2.tar.bz2 |
Don't try to unmarshal void return types when there are out parameters being returned.
Change-Id: Ib7d2a5609167a076dd7ee8e10e8a55056789517e
Diffstat (limited to 'tools/aidl')
-rw-r--r-- | tools/aidl/generate_java_rpc.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/aidl/generate_java_rpc.cpp b/tools/aidl/generate_java_rpc.cpp index 852b0c1..18726c3 100644 --- a/tools/aidl/generate_java_rpc.cpp +++ b/tools/aidl/generate_java_rpc.cpp @@ -737,11 +737,13 @@ generate_result_dispatcher_method(const method_type* method, // The return value { Type* t = NAMES.Search(method->type.type.data); - Variable* rv = new Variable(t, "rv"); - dispatchMethod->statements->Add(new VariableDeclaration(rv)); - generate_create_from_data(t, dispatchMethod->statements, "_result", rv, - resultData, &classLoader); - realCall->arguments.push_back(rv); + if (t != VOID_TYPE) { + Variable* rv = new Variable(t, "rv"); + dispatchMethod->statements->Add(new VariableDeclaration(rv)); + generate_create_from_data(t, dispatchMethod->statements, "_result", rv, + resultData, &classLoader); + realCall->arguments.push_back(rv); + } } VariableFactory stubArgs("arg"); |