diff options
author | Joe Onorato <joeo@google.com> | 2011-12-04 21:13:23 -0800 |
---|---|---|
committer | Joe Onorato <joeo@google.com> | 2011-12-04 21:13:23 -0800 |
commit | c286560534f67f6587b393b295ee996c9d3e10d2 (patch) | |
tree | 64b4c91188b50a8f89afe0454adf4acbad8d7b9e /tools/aidl | |
parent | 18bd6bdbf07c380f7f4625506d9b729348be7205 (diff) | |
download | frameworks_base-c286560534f67f6587b393b295ee996c9d3e10d2.zip frameworks_base-c286560534f67f6587b393b295ee996c9d3e10d2.tar.gz frameworks_base-c286560534f67f6587b393b295ee996c9d3e10d2.tar.bz2 |
Use the new get/putFlattenable methods on RpcData.
They handle null correctly.
Change-Id: I8eebf43e1791ea0f99f3d4ee1beb74aa4c977115
Diffstat (limited to 'tools/aidl')
-rwxr-xr-x | tools/aidl/Type.cpp | 41 |
1 files changed, 5 insertions, 36 deletions
diff --git a/tools/aidl/Type.cpp b/tools/aidl/Type.cpp index e9fc905..c96b96f 100755 --- a/tools/aidl/Type.cpp +++ b/tools/aidl/Type.cpp @@ -1017,48 +1017,17 @@ void UserDataType::WriteToRpcData(StatementBlock* addTo, Expression* k, Variable* v, Variable* data, int flags) { - // if (v != null) { - // RpcData _obj = new RpcData(); - // v.writeToRpcData(_obj); - // data.putRpcData(k, obj); - // } - IfStatement* ifpart = new IfStatement; - ifpart->expression = new Comparison(v, "!=", NULL_VALUE); - Variable* _obj = new Variable(RPC_DATA_TYPE, "_obj"); - ifpart->statements->Add(new VariableDeclaration(_obj, new NewExpression(RPC_DATA_TYPE))); - ifpart->statements->Add(new MethodCall(v, "writeToRpcData", 1, _obj)); - ifpart->statements->Add(new MethodCall(data, "putRpcData", 2, k, _obj)); - - addTo->Add(ifpart); + // data.putFlattenable(k, v); + addTo->Add(new MethodCall(data, "putFlattenable", 2, k, v)); } void UserDataType::CreateFromRpcData(StatementBlock* addTo, Expression* k, Variable* v, Variable* data, Variable** cl) { - // RpcData _obj = data.getRpcData(k); - // if (_data_XX != null) - // v = CLASS.RPC_CREATOR.createFromParcel(_obj) - // } else { - // v = null; - // } - - StatementBlock* block = new StatementBlock; - addTo->Add(block); - - Variable* _obj = new Variable(RPC_DATA_TYPE, "_obj"); - block->Add(new VariableDeclaration(_obj, new MethodCall(data, "getRpcData", 1, k))); - - IfStatement* ifpart = new IfStatement(); - ifpart->expression = new Comparison(_obj, "!=", NULL_VALUE); - ifpart->statements->Add(new Assignment(v, - new MethodCall(v->type, "RPC_CREATOR.createFromRpcData", 1, _obj))); - - IfStatement* elsepart = new IfStatement(); - ifpart->elseif = elsepart; - elsepart->statements->Add(new Assignment(v, NULL_VALUE)); - - block->Add(ifpart); + // data.getFlattenable(k, CLASS.RPC_CREATOR); + addTo->Add(new Assignment(v, new MethodCall(data, "getFlattenable", 2, k, + new FieldVariable(v->type, "RPC_CREATOR")))); } // ================================================================ |