aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiyong Park <jiyong@google.com>2019-04-03 02:20:46 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-04-03 02:20:46 -0700
commit9418ec240a5396a9820d2f0508a6b0d527d3e067 (patch)
treedc703ed3f354446d859cbd1bc1526f129c8e397e
parentffa0ec2691d5008f9dd2bc15feb4748e633f0133 (diff)
parent1b0ba5eb7ad3076a1b532d3373b902bee745b260 (diff)
downloadaidl-9418ec240a5396a9820d2f0508a6b0d527d3e067.tar.gz
Don't force prepend I to header file names am: 7df2c34b6e am: acc4190f0a
am: 1b0ba5eb7a Change-Id: Ic51874427d4e0603179db35d273cd47d22412bcc
-rw-r--r--aidl.cpp2
-rw-r--r--aidl_to_cpp_common.cpp26
-rw-r--r--aidl_to_cpp_common.h1
-rw-r--r--generate_cpp.cpp10
-rw-r--r--generate_ndk.cpp18
5 files changed, 28 insertions, 29 deletions
diff --git a/aidl.cpp b/aidl.cpp
index 6fc4aa36..b02c5e8f 100644
--- a/aidl.cpp
+++ b/aidl.cpp
@@ -250,7 +250,7 @@ bool write_dep_file(const Options& options, const AidlDefinedType& defined_type,
using ::android::aidl::cpp::ClassNames;
using ::android::aidl::cpp::HeaderFile;
vector<string> headers;
- for (ClassNames c : {ClassNames::CLIENT, ClassNames::SERVER, ClassNames::INTERFACE}) {
+ for (ClassNames c : {ClassNames::CLIENT, ClassNames::SERVER, ClassNames::RAW}) {
headers.push_back(options.OutputHeaderDir() +
HeaderFile(defined_type, c, false /* use_os_sep */));
}
diff --git a/aidl_to_cpp_common.cpp b/aidl_to_cpp_common.cpp
index 08ecf9b5..9dbcadd0 100644
--- a/aidl_to_cpp_common.cpp
+++ b/aidl_to_cpp_common.cpp
@@ -23,27 +23,27 @@ namespace aidl {
namespace cpp {
string ClassName(const AidlDefinedType& defined_type, ClassNames type) {
- string c_name = defined_type.GetName();
-
- if (c_name.length() >= 2 && c_name[0] == 'I' && isupper(c_name[1])) c_name = c_name.substr(1);
+ string base_name = defined_type.GetName();
+ if (base_name.length() >= 2 && base_name[0] == 'I' && isupper(base_name[1])) {
+ base_name = base_name.substr(1);
+ }
switch (type) {
case ClassNames::CLIENT:
- c_name = "Bp" + c_name;
- break;
+ return "Bp" + base_name;
case ClassNames::SERVER:
- c_name = "Bn" + c_name;
- break;
+ return "Bn" + base_name;
case ClassNames::INTERFACE:
- c_name = "I" + c_name;
- break;
+ return "I" + base_name;
case ClassNames::DEFAULT_IMPL:
- c_name = "I" + c_name + "Default";
- break;
+ return "I" + base_name + "Default";
case ClassNames::BASE:
- break;
+ return base_name;
+ case ClassNames::RAW:
+ [[fallthrough]];
+ default:
+ return defined_type.GetName();
}
- return c_name;
}
std::string HeaderFile(const AidlDefinedType& defined_type, ClassNames class_type,
diff --git a/aidl_to_cpp_common.h b/aidl_to_cpp_common.h
index c8f9853f..3a6e2e60 100644
--- a/aidl_to_cpp_common.h
+++ b/aidl_to_cpp_common.h
@@ -34,6 +34,7 @@ enum class ClassNames {
SERVER, // BnFoo
INTERFACE, // IFoo
DEFAULT_IMPL, // IFooDefault
+ RAW, // (as shown in the file)
};
string ClassName(const AidlDefinedType& defined_type, ClassNames type);
diff --git a/generate_cpp.cpp b/generate_cpp.cpp
index 26b9ffc4..544a68f6 100644
--- a/generate_cpp.cpp
+++ b/generate_cpp.cpp
@@ -830,7 +830,7 @@ unique_ptr<Document> BuildServerSource(const TypeNamespace& types, const AidlInt
unique_ptr<Document> BuildInterfaceSource(const TypeNamespace& types,
const AidlInterface& interface, const Options& options) {
vector<string> include_list{
- HeaderFile(interface, ClassNames::INTERFACE, false),
+ HeaderFile(interface, ClassNames::RAW, false),
HeaderFile(interface, ClassNames::CLIENT, false),
};
@@ -907,7 +907,7 @@ unique_ptr<Document> BuildClientHeader(const TypeNamespace& types, const AidlInt
const string bp_name = ClassName(interface, ClassNames::CLIENT);
vector<string> includes = {kIBinderHeader, kIInterfaceHeader, "utils/Errors.h",
- HeaderFile(interface, ClassNames::INTERFACE, false)};
+ HeaderFile(interface, ClassNames::RAW, false)};
unique_ptr<ConstructorDecl> constructor{new ConstructorDecl{
bp_name,
@@ -972,8 +972,7 @@ unique_ptr<Document> BuildServerHeader(const TypeNamespace& /* types */,
StringPrintf("uint32_t %s", kFlagsVarName)}},
MethodDecl::IS_OVERRIDE
}};
- vector<string> includes = {"binder/IInterface.h",
- HeaderFile(interface, ClassNames::INTERFACE, false)};
+ vector<string> includes = {"binder/IInterface.h", HeaderFile(interface, ClassNames::RAW, false)};
vector<unique_ptr<Declaration>> publics;
publics.push_back(std::move(on_transact));
@@ -1219,6 +1218,7 @@ bool WriteHeader(const Options& options, const TypeNamespace& types, const AidlI
switch (header_type) {
case ClassNames::INTERFACE:
header = BuildInterfaceHeader(types, interface, options);
+ header_type = ClassNames::RAW;
break;
case ClassNames::CLIENT:
header = BuildClientHeader(types, interface, options);
@@ -1293,7 +1293,7 @@ bool GenerateCppParcel(const string& output_file, const Options& options,
return false;
}
- const string header_path = options.OutputHeaderDir() + HeaderFile(parcelable, ClassNames::BASE);
+ const string header_path = options.OutputHeaderDir() + HeaderFile(parcelable, ClassNames::RAW);
unique_ptr<CodeWriter> header_writer(io_delegate.GetCodeWriter(header_path));
header->Write(header_writer.get());
CHECK(header_writer->Close());
diff --git a/generate_ndk.cpp b/generate_ndk.cpp
index fa90a581..cafd794d 100644
--- a/generate_ndk.cpp
+++ b/generate_ndk.cpp
@@ -38,8 +38,7 @@ using cpp::ClassNames;
void GenerateNdkInterface(const string& output_file, const Options& options,
const AidlTypenames& types, const AidlInterface& defined_type,
const IoDelegate& io_delegate) {
- const string i_header =
- options.OutputHeaderDir() + NdkHeaderFile(defined_type, ClassNames::INTERFACE);
+ const string i_header = options.OutputHeaderDir() + NdkHeaderFile(defined_type, ClassNames::RAW);
unique_ptr<CodeWriter> i_writer(io_delegate.GetCodeWriter(i_header));
GenerateInterfaceHeader(*i_writer, types, defined_type, options);
CHECK(i_writer->Close());
@@ -65,7 +64,7 @@ void GenerateNdkParcel(const string& output_file, const Options& options,
const AidlTypenames& types, const AidlStructuredParcelable& defined_type,
const IoDelegate& io_delegate) {
const string header_path =
- options.OutputHeaderDir() + NdkHeaderFile(defined_type, ClassNames::BASE);
+ options.OutputHeaderDir() + NdkHeaderFile(defined_type, ClassNames::RAW);
unique_ptr<CodeWriter> header_writer(io_delegate.GetCodeWriter(header_path));
GenerateParcelHeader(*header_writer, types, defined_type, options);
CHECK(header_writer->Close());
@@ -146,8 +145,7 @@ static void GenerateHeaderIncludes(CodeWriter& out, const AidlTypenames& types,
if (other_defined_type.AsInterface() != nullptr) {
out << "#include <"
- << NdkHeaderFile(other_defined_type, ClassNames::INTERFACE, false /*use_os_sep*/)
- << ">\n";
+ << NdkHeaderFile(other_defined_type, ClassNames::RAW, false /*use_os_sep*/) << ">\n";
} else if (other_defined_type.AsStructuredParcelable() != nullptr) {
out << "#include <"
<< NdkHeaderFile(other_defined_type, ClassNames::BASE, false /*use_os_sep*/) << ">\n";
@@ -166,8 +164,8 @@ static void GenerateSourceIncludes(CodeWriter& out, const AidlTypenames& types,
<< ">\n";
out << "#include <" << NdkHeaderFile(a_defined_type, ClassNames::SERVER, false /*use_os_sep*/)
<< ">\n";
- out << "#include <"
- << NdkHeaderFile(a_defined_type, ClassNames::INTERFACE, false /*use_os_sep*/) << ">\n";
+ out << "#include <" << NdkHeaderFile(a_defined_type, ClassNames::RAW, false /*use_os_sep*/)
+ << ">\n";
}
});
}
@@ -583,7 +581,7 @@ void GenerateClientHeader(CodeWriter& out, const AidlTypenames& types,
const std::string clazz = ClassName(defined_type, ClassNames::CLIENT);
out << "#pragma once\n\n";
- out << "#include \"" << NdkHeaderFile(defined_type, ClassNames::INTERFACE, false /*use_os_sep*/)
+ out << "#include \"" << NdkHeaderFile(defined_type, ClassNames::RAW, false /*use_os_sep*/)
<< "\"\n";
out << "\n";
out << "#include <android/binder_ibinder.h>\n";
@@ -614,7 +612,7 @@ void GenerateServerHeader(CodeWriter& out, const AidlTypenames& types,
const std::string iface = ClassName(defined_type, ClassNames::INTERFACE);
out << "#pragma once\n\n";
- out << "#include \"" << NdkHeaderFile(defined_type, ClassNames::INTERFACE, false /*use_os_sep*/)
+ out << "#include \"" << NdkHeaderFile(defined_type, ClassNames::RAW, false /*use_os_sep*/)
<< "\"\n";
out << "\n";
out << "#include <android/binder_ibinder.h>\n";
@@ -750,7 +748,7 @@ void GenerateParcelSource(CodeWriter& out, const AidlTypenames& types,
const Options& /*options*/) {
const std::string clazz = ClassName(defined_type, ClassNames::BASE);
- out << "#include \"" << NdkHeaderFile(defined_type, ClassNames::BASE, false /*use_os_sep*/)
+ out << "#include \"" << NdkHeaderFile(defined_type, ClassNames::RAW, false /*use_os_sep*/)
<< "\"\n";
out << "\n";
GenerateSourceIncludes(out, types, defined_type);