summaryrefslogtreecommitdiffstats
path: root/tools/aidl
diff options
context:
space:
mode:
authorJoe Onorato <joeo@google.com>2011-12-04 21:13:23 -0800
committerJoe Onorato <joeo@google.com>2011-12-04 21:13:23 -0800
commitc286560534f67f6587b393b295ee996c9d3e10d2 (patch)
tree64b4c91188b50a8f89afe0454adf4acbad8d7b9e /tools/aidl
parent18bd6bdbf07c380f7f4625506d9b729348be7205 (diff)
downloadframeworks_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-xtools/aidl/Type.cpp41
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"))));
}
// ================================================================