Generate code for AIDL defined string constants
Also validate that constant names are not duplicated between
integer and string constants.
Bug: 28233277
Test: Unittests expanded to reflect this change.
Integration tests expanded to reflect this change.
Change-Id: If46619151cf6ff0146a2dfa90b863b096435a30a
diff --git a/ast_java.cpp b/ast_java.cpp
index 44e298d..1ba723c 100644
--- a/ast_java.cpp
+++ b/ast_java.cpp
@@ -417,11 +417,16 @@
}
}
-void Constant::Write(CodeWriter* to) const {
+void IntConstant::Write(CodeWriter* to) const {
WriteModifiers(to, STATIC | FINAL | PUBLIC, ALL_MODIFIERS);
to->Write("int %s = %d;\n", name.c_str(), value);
}
+void StringConstant::Write(CodeWriter* to) const {
+ WriteModifiers(to, STATIC | FINAL | PUBLIC, ALL_MODIFIERS);
+ to->Write("String %s = %s;\n", name.c_str(), value.c_str());
+}
+
void Class::Write(CodeWriter* to) const {
size_t N, i;