Move Java related code into a java namespace
This lets us use names like Type instead of CppType for generated
code specific to C++. C++ code will similarly go in its own namespace.
Bug: 24472672
Test: Compiles, unittests pass
Change-Id: I10fc8ce6436e297eb36c7b63e0c6d78a45bf2a19
diff --git a/aidl.cpp b/aidl.cpp
index 96e81b6..a55724a 100644
--- a/aidl.cpp
+++ b/aidl.cpp
@@ -626,7 +626,7 @@
int compile_aidl_to_cpp(const CppOptions& options) {
interface_type* interface = nullptr;
import_info* imports = nullptr;
- unique_ptr<JavaTypeNamespace> types(new JavaTypeNamespace());
+ unique_ptr<java::JavaTypeNamespace> types(new java::JavaTypeNamespace());
int err = load_and_validate_aidl(std::vector<std::string>{},
options.ImportPaths(),
options.InputFileName(),
@@ -645,7 +645,7 @@
int compile_aidl_to_java(const JavaOptions& options) {
interface_type* interface = nullptr;
import_info* imports = nullptr;
- unique_ptr<JavaTypeNamespace> types(new JavaTypeNamespace());
+ unique_ptr<java::JavaTypeNamespace> types(new java::JavaTypeNamespace());
int err = load_and_validate_aidl(options.preprocessed_files_,
options.import_paths_,
options.input_file_name_,
diff --git a/ast_java.cpp b/ast_java.cpp
index b3c3a3f..c80414c 100644
--- a/ast_java.cpp
+++ b/ast_java.cpp
@@ -21,6 +21,7 @@
namespace android {
namespace aidl {
+namespace java {
void
WriteModifiers(CodeWriter* to, int mod, int mask)
@@ -931,5 +932,6 @@
}
}
+} // namespace java
} // namespace aidl
} // namespace android
diff --git a/ast_java.h b/ast_java.h
index 401018b..8c4d825 100644
--- a/ast_java.h
+++ b/ast_java.h
@@ -45,8 +45,14 @@
namespace android {
namespace aidl {
-
class CodeWriter;
+} // namespace aidl
+} // namespace android
+
+namespace android {
+namespace aidl {
+namespace java {
+
class Type;
// Write the modifiers that are set in both mod and mask
@@ -390,6 +396,7 @@
virtual void Write(CodeWriter* to) const;
};
+} // namespace java
} // namespace aidl
} // namespace android
diff --git a/ast_java_unittest.cpp b/ast_java_unittest.cpp
index b7bbb5a..2b52226 100644
--- a/ast_java_unittest.cpp
+++ b/ast_java_unittest.cpp
@@ -24,6 +24,7 @@
namespace android {
namespace aidl {
+namespace java {
namespace {
const char kExpectedClassOutput[] =
@@ -52,5 +53,6 @@
EXPECT_EQ(string(kExpectedClassOutput), actual_output);
}
+} // namespace java
} // namespace aidl
} // namespace android
diff --git a/generate_java.cpp b/generate_java.cpp
index 116b5c4..736385e 100644
--- a/generate_java.cpp
+++ b/generate_java.cpp
@@ -7,6 +7,8 @@
#include "code_writer.h"
#include "type_java.h"
+using ::android::aidl::java::Variable;
+
namespace android {
namespace aidl {
@@ -61,7 +63,8 @@
return s;
}
-// =================================================
+namespace java {
+
int
generate_java(const string& filename, const string& originalSrc,
interface_type* iface, JavaTypeNamespace* types)
@@ -84,5 +87,6 @@
return 0;
}
+} // namespace java
} // namespace android
} // namespace aidl
diff --git a/generate_java.h b/generate_java.h
index b67a88c..7980319 100644
--- a/generate_java.h
+++ b/generate_java.h
@@ -12,13 +12,17 @@
using std::string;
using std::vector;
+namespace java {
+
class JavaTypeNamespace;
int generate_java(const string& filename, const string& originalSrc,
- interface_type* iface, JavaTypeNamespace* types);
+ interface_type* iface, java::JavaTypeNamespace* types);
-android::aidl::Class* generate_binder_interface_class(
- const interface_type* iface, JavaTypeNamespace* types);
+android::aidl::java::Class* generate_binder_interface_class(
+ const interface_type* iface, java::JavaTypeNamespace* types);
+
+} // namespace java
string gather_comments(extra_text_type* extra);
string append(const char* a, const char* b);
@@ -26,8 +30,8 @@
class VariableFactory
{
public:
- using Variable = android::aidl::Variable;
- using Type = android::aidl::Type;
+ using Variable = ::android::aidl::java::Variable;
+ using Type = ::android::aidl::java::Type;
VariableFactory(const string& base); // base must be short
Variable* Get(const Type* type);
diff --git a/generate_java_binder.cpp b/generate_java_binder.cpp
index b5aa0ce..44ff10c 100644
--- a/generate_java_binder.cpp
+++ b/generate_java_binder.cpp
@@ -12,6 +12,7 @@
namespace android {
namespace aidl {
+namespace java {
// =================================================
class StubClass : public Class
@@ -565,5 +566,6 @@
return interface;
}
+} // namespace java
} // namespace android
} // namespace aidl
diff --git a/type_java.cpp b/type_java.cpp
index cb3ab35..bd1b700 100644
--- a/type_java.cpp
+++ b/type_java.cpp
@@ -29,6 +29,7 @@
namespace android {
namespace aidl {
+namespace java {
Expression* NULL_VALUE;
Expression* THIS_VALUE;
@@ -1103,5 +1104,6 @@
}
}
+} // namespace java
} // namespace aidl
} // namespace android
diff --git a/type_java.h b/type_java.h
index f83c399..fc2b33d 100644
--- a/type_java.h
+++ b/type_java.h
@@ -25,6 +25,7 @@
namespace android {
namespace aidl {
+namespace java {
class JavaTypeNamespace;
@@ -485,6 +486,7 @@
extern Expression* TRUE_VALUE;
extern Expression* FALSE_VALUE;
+} // namespace java
} // namespace aidl
} // namespace android
diff --git a/type_java_unittest.cpp b/type_java_unittest.cpp
index b467b71..5d67818 100644
--- a/type_java_unittest.cpp
+++ b/type_java_unittest.cpp
@@ -25,6 +25,7 @@
namespace android {
namespace aidl {
+namespace java {
namespace {
user_data_type* MakeFakeUserDataType(const std::string& package,
@@ -68,5 +69,6 @@
EXPECT_NE(types_.Find("List<Foo>"), nullptr);
}
+} // namespace java
} // namespace android
} // namespace aidl