diff options
author | Joe Onorato <joeo@google.com> | 2011-11-17 16:13:49 -0800 |
---|---|---|
committer | Mike Lockwood <lockwood@google.com> | 2012-02-10 14:44:05 -0800 |
commit | 0a7eaecf6457f9a186b2f2d5c0dbadc8b87e03b9 (patch) | |
tree | f154f3d9b8b66fdfb470f84e58ea042bafd346ad /tools | |
parent | fa7b06147c2d0f0c64fa334ed5a971cbad7cdbe5 (diff) | |
download | frameworks_base-0a7eaecf6457f9a186b2f2d5c0dbadc8b87e03b9.zip frameworks_base-0a7eaecf6457f9a186b2f2d5c0dbadc8b87e03b9.tar.gz frameworks_base-0a7eaecf6457f9a186b2f2d5c0dbadc8b87e03b9.tar.bz2 |
Don't try to unmarshal void return types when there are out parameters being returned.
Diffstat (limited to 'tools')
-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 e4867e4..dee6a11 100644 --- a/tools/aidl/generate_java_rpc.cpp +++ b/tools/aidl/generate_java_rpc.cpp @@ -739,11 +739,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"); |