Make all possible Type methods const
While here, mark inherited virtual methods as override methods.
Bug: 24303749
Test: Compiles, unittests
Change-Id: Ia7114b53e243b8539a6c84e1b96bb68fee5281cd
diff --git a/type_java.cpp b/type_java.cpp
index 02988f9..1dc3ab8 100644
--- a/type_java.cpp
+++ b/type_java.cpp
@@ -207,7 +207,7 @@
string Type::InstantiableName() const { return QualifiedName(); }
void Type::WriteToParcel(StatementBlock* addTo, Variable* v, Variable* parcel,
- int flags) {
+ int flags) const {
fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%sn", __FILE__,
__LINE__, m_qualifiedName.c_str());
addTo->Add(new LiteralExpression("/* WriteToParcel error " + m_qualifiedName +
@@ -215,7 +215,7 @@
}
void Type::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%s\n", __FILE__,
__LINE__, m_qualifiedName.c_str());
addTo->Add(new LiteralExpression("/* CreateFromParcel error " +
@@ -223,7 +223,7 @@
}
void Type::ReadFromParcel(StatementBlock* addTo, Variable* v, Variable* parcel,
- Variable**) {
+ Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%s\n", __FILE__,
__LINE__, m_qualifiedName.c_str());
addTo->Add(new LiteralExpression("/* ReadFromParcel error " +
@@ -231,7 +231,7 @@
}
void Type::WriteArrayToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%s\n", __FILE__,
__LINE__, m_qualifiedName.c_str());
addTo->Add(new LiteralExpression("/* WriteArrayToParcel error " +
@@ -239,7 +239,7 @@
}
void Type::CreateArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%s\n", __FILE__,
__LINE__, m_qualifiedName.c_str());
addTo->Add(new LiteralExpression("/* CreateArrayFromParcel error " +
@@ -247,7 +247,7 @@
}
void Type::ReadArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%s\n", __FILE__,
__LINE__, m_qualifiedName.c_str());
addTo->Add(new LiteralExpression("/* ReadArrayFromParcel error " +
@@ -258,7 +258,7 @@
m_qualifiedName = qualified;
}
-Expression* Type::BuildWriteToParcelFlags(int flags) {
+Expression* Type::BuildWriteToParcelFlags(int flags) const {
if (flags == 0) {
return new LiteralExpression("0");
}
@@ -284,29 +284,29 @@
m_readArrayParcel(readArrayParcel) {}
void BasicType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, m_marshallParcel, 1, v));
}
void BasicType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, m_unmarshallParcel)));
}
bool BasicType::CanBeArray() const { return true; }
void BasicType::WriteArrayToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, m_writeArrayParcel, 1, v));
}
void BasicType::CreateArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, m_createArrayParcel)));
}
void BasicType::ReadArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new MethodCall(parcel, m_readArrayParcel, 1, v));
}
@@ -315,14 +315,14 @@
BooleanType::BooleanType() : Type("boolean", BUILT_IN, true, false) {}
void BooleanType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(
parcel, "writeInt", 1,
new Ternary(v, new LiteralExpression("1"), new LiteralExpression("0"))));
}
void BooleanType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(
new Assignment(v, new Comparison(new LiteralExpression("0"), "!=",
new MethodCall(parcel, "readInt"))));
@@ -331,17 +331,17 @@
bool BooleanType::CanBeArray() const { return true; }
void BooleanType::WriteArrayToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeBooleanArray", 1, v));
}
void BooleanType::CreateArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, "createBooleanArray")));
}
void BooleanType::ReadArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new MethodCall(parcel, "readBooleanArray", 1, v));
}
@@ -350,29 +350,29 @@
CharType::CharType() : Type("char", BUILT_IN, true, false) {}
void CharType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeInt", 1, new Cast(INT_TYPE, v)));
}
void CharType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, "readInt"), this));
}
bool CharType::CanBeArray() const { return true; }
void CharType::WriteArrayToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeCharArray", 1, v));
}
void CharType::CreateArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, "createCharArray")));
}
void CharType::ReadArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new MethodCall(parcel, "readCharArray", 1, v));
}
@@ -385,29 +385,29 @@
}
void StringType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeString", 1, v));
}
void StringType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, "readString")));
}
bool StringType::CanBeArray() const { return true; }
void StringType::WriteArrayToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeStringArray", 1, v));
}
void StringType::CreateArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, "createStringArray")));
}
void StringType::ReadArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new MethodCall(parcel, "readStringArray", 1, v));
}
@@ -421,7 +421,7 @@
}
void CharSequenceType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
// if (v != null) {
// parcel.writeInt(1);
// v.writeToParcel(parcel);
@@ -444,7 +444,7 @@
}
void CharSequenceType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
// if (0 != parcel.readInt()) {
// v = TextUtils.createFromParcel(parcel)
// } else {
@@ -470,12 +470,12 @@
: Type("android.os", "RemoteException", BUILT_IN, false, false) {}
void RemoteExceptionType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
void RemoteExceptionType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
@@ -485,12 +485,13 @@
: Type("java.lang", "RuntimeException", BUILT_IN, false, false) {}
void RuntimeExceptionType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
void RuntimeExceptionType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel,
+ Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
@@ -500,27 +501,27 @@
: Type("android.os", "IBinder", BUILT_IN, true, false) {}
void IBinderType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeStrongBinder", 1, v));
}
void IBinderType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, "readStrongBinder")));
}
void IBinderType::WriteArrayToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeBinderArray", 1, v));
}
void IBinderType::CreateArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new Assignment(v, new MethodCall(parcel, "createBinderArray")));
}
void IBinderType::ReadArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
addTo->Add(new MethodCall(parcel, "readBinderArray", 1, v));
}
@@ -530,12 +531,12 @@
: Type("android.os", "IInterface", BUILT_IN, false, false) {}
void IInterfaceType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
void IInterfaceType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
@@ -545,12 +546,12 @@
: Type("android.os", "Binder", BUILT_IN, false, false) {}
void BinderType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
void BinderType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
@@ -560,12 +561,12 @@
: Type("android.os", "BinderProxy", BUILT_IN, false, false) {}
void BinderProxyType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
void BinderProxyType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
@@ -575,12 +576,12 @@
: Type("android.os", "Parcel", BUILT_IN, false, false) {}
void ParcelType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
void ParcelType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
@@ -590,13 +591,13 @@
: Type("android.os", "Parcelable", BUILT_IN, false, false) {}
void ParcelableInterfaceType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
void ParcelableInterfaceType::CreateFromParcel(StatementBlock* addTo,
Variable* v, Variable* parcel,
- Variable**) {
+ Variable**) const {
fprintf(stderr, "aidl:internal error %s:%d\n", __FILE__, __LINE__);
}
@@ -605,7 +606,7 @@
MapType::MapType() : Type("java.util", "Map", BUILT_IN, true, true) {}
void MapType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeMap", 1, v));
}
@@ -621,13 +622,13 @@
}
void MapType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable** cl) {
+ Variable* parcel, Variable** cl) const {
EnsureClassLoader(addTo, cl);
addTo->Add(new Assignment(v, new MethodCall(parcel, "readHashMap", 1, *cl)));
}
void MapType::ReadFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable** cl) {
+ Variable* parcel, Variable** cl) const {
EnsureClassLoader(addTo, cl);
addTo->Add(new MethodCall(parcel, "readMap", 2, v, *cl));
}
@@ -639,19 +640,19 @@
string ListType::InstantiableName() const { return "java.util.ArrayList"; }
void ListType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeList", 1, v));
}
void ListType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable** cl) {
+ Variable* parcel, Variable** cl) const {
EnsureClassLoader(addTo, cl);
addTo->Add(
new Assignment(v, new MethodCall(parcel, "readArrayList", 1, *cl)));
}
void ListType::ReadFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable** cl) {
+ Variable* parcel, Variable** cl) const {
EnsureClassLoader(addTo, cl);
addTo->Add(new MethodCall(parcel, "readList", 2, v, *cl));
}
@@ -669,7 +670,7 @@
}
void UserDataType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
// if (v != null) {
// parcel.writeInt(1);
// v.writeToParcel(parcel);
@@ -691,7 +692,7 @@
}
void UserDataType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
// if (0 != parcel.readInt()) {
// v = CLASS.CREATOR.createFromParcel(parcel)
// } else {
@@ -711,7 +712,7 @@
}
void UserDataType::ReadFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
// TODO: really, we don't need to have this extra check, but we
// don't have two separate marshalling code paths
// if (0 != parcel.readInt()) {
@@ -727,20 +728,20 @@
bool UserDataType::CanBeArray() const { return true; }
void UserDataType::WriteArrayToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
addTo->Add(new MethodCall(parcel, "writeTypedArray", 2, v,
BuildWriteToParcelFlags(flags)));
}
void UserDataType::CreateArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
string creator = v->type->QualifiedName() + ".CREATOR";
addTo->Add(new Assignment(v, new MethodCall(parcel, "createTypedArray", 1,
new LiteralExpression(creator))));
}
void UserDataType::ReadArrayFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
string creator = v->type->QualifiedName() + ".CREATOR";
addTo->Add(new MethodCall(parcel, "readTypedArray", 2, v,
new LiteralExpression(creator)));
@@ -758,7 +759,7 @@
bool InterfaceType::OneWay() const { return m_oneway; }
void InterfaceType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
// parcel.writeStrongBinder(v != null ? v.asBinder() : null);
addTo->Add(
new MethodCall(parcel, "writeStrongBinder", 1,
@@ -767,7 +768,7 @@
}
void InterfaceType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
// v = Interface.asInterface(parcel.readStrongBinder());
string type = v->type->QualifiedName();
type += ".Stub";
@@ -808,17 +809,17 @@
string GenericType::ImportType() const { return m_importName; }
void GenericType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
fprintf(stderr, "implement GenericType::WriteToParcel\n");
}
void GenericType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "implement GenericType::CreateFromParcel\n");
}
void GenericType::ReadFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
fprintf(stderr, "implement GenericType::ReadFromParcel\n");
}
@@ -837,7 +838,7 @@
}
void GenericListType::WriteToParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, int flags) {
+ Variable* parcel, int flags) const {
if (m_creator == STRING_TYPE->CreatorName()) {
addTo->Add(new MethodCall(parcel, "writeStringList", 1, v));
} else if (m_creator == IBINDER_TYPE->CreatorName()) {
@@ -849,7 +850,7 @@
}
void GenericListType::CreateFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
if (m_creator == STRING_TYPE->CreatorName()) {
addTo->Add(
new Assignment(v, new MethodCall(parcel, "createStringArrayList", 0)));
@@ -865,7 +866,7 @@
}
void GenericListType::ReadFromParcel(StatementBlock* addTo, Variable* v,
- Variable* parcel, Variable**) {
+ Variable* parcel, Variable**) const {
if (m_creator == STRING_TYPE->CreatorName()) {
addTo->Add(new MethodCall(parcel, "readStringList", 1, v));
} else if (m_creator == IBINDER_TYPE->CreatorName()) {