summaryrefslogtreecommitdiffstats
path: root/type_java.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'type_java.cpp')
-rw-r--r--type_java.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/type_java.cpp b/type_java.cpp
index 18d27a2..0e9be88 100644
--- a/type_java.cpp
+++ b/type_java.cpp
@@ -682,13 +682,15 @@ void UserDataArrayType::ReadFromParcel(StatementBlock* addTo, Variable* v,
InterfaceType::InterfaceType(const JavaTypeNamespace* types,
const string& package, const string& name,
bool builtIn, bool oneway, const string& declFile,
- int declLine, const Type* stub, const Type* proxy)
+ int declLine, const Type* stub, const Type* proxy,
+ const Type* no_op)
: Type(types, package, name, builtIn ? ValidatableType::KIND_BUILT_IN
: ValidatableType::KIND_INTERFACE,
true, false, declFile, declLine),
m_oneway(oneway),
stub_(stub),
- proxy_(proxy) {}
+ proxy_(proxy),
+ no_op_(no_op) {}
bool InterfaceType::OneWay() const { return m_oneway; }
@@ -877,14 +879,20 @@ bool JavaTypeNamespace::AddBinderType(const AidlInterface& b,
b.GetName() + ".Stub.Proxy",
ValidatableType::KIND_GENERATED,
false, false, filename, b.GetLine());
+ Type* no_op = new Type(this, b.GetPackage(),
+ b.GetName() + ".NoOp",
+ ValidatableType::KIND_GENERATED,
+ false, false, filename, b.GetLine());
+
Type* type =
new InterfaceType(this, b.GetPackage(), b.GetName(), false,
- b.IsOneway(), filename, b.GetLine(), stub, proxy);
+ b.IsOneway(), filename, b.GetLine(), stub, proxy, no_op);
bool success = true;
success &= Add(type);
success &= Add(stub);
success &= Add(proxy);
+ success &= Add(no_op);
return success;
}