diff options
author | Jiyong Park <jiyong@google.com> | 2019-04-03 20:05:01 +0900 |
---|---|---|
committer | Jiyong Park <jiyong@google.com> | 2019-04-05 09:55:56 +0900 |
commit | 081b90a81b3b6d7ccd740fd87faf16b9259f4dab (patch) | |
tree | dc703ed3f354446d859cbd1bc1526f129c8e397e | |
parent | 9396d8e69044c140e2a06a2d9ea369099285fe52 (diff) | |
download | aidl-081b90a81b3b6d7ccd740fd87faf16b9259f4dab.tar.gz |
Revert "Revert "Don't force prepend I to header file names""
This reverts commit cc14a584a301533653639d9f6847111ca8a79c68.
Bug: 129549755
Test: m
Test: m libvirtualtouchpadclient
Test: ./runtests.sh
Merged-In: Id0103c1f05654c87a3eac449c985c805ae963d0e
Change-Id: Id0103c1f05654c87a3eac449c985c805ae963d0e
(cherry picked from commit 5b7e532899a56e88e5fbf53ffd6686d941be7da9)
-rw-r--r-- | aidl.cpp | 2 | ||||
-rw-r--r-- | aidl_to_cpp_common.cpp | 26 | ||||
-rw-r--r-- | aidl_to_cpp_common.h | 1 | ||||
-rw-r--r-- | generate_cpp.cpp | 10 | ||||
-rw-r--r-- | generate_ndk.cpp | 18 |
5 files changed, 28 insertions, 29 deletions
@@ -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); |