From 7df2c34b6e40828fdf362c665911173e188fe1c4 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Sat, 30 Mar 2019 10:01:42 +0900 Subject: Don't force prepend I to header file names This is to be in sync with the rule in aidl_interface.go. Bug: 129549755 Test: m Change-Id: I5bd5bec380991dd6340d569706198242f7ad3d79 --- aidl.cpp | 2 +- aidl_to_cpp_common.cpp | 26 +++++++++++++------------- aidl_to_cpp_common.h | 1 + generate_cpp.cpp | 10 +++++----- generate_ndk.cpp | 18 ++++++++---------- 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 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 BuildServerSource(const TypeNamespace& types, const AidlInt unique_ptr BuildInterfaceSource(const TypeNamespace& types, const AidlInterface& interface, const Options& options) { vector include_list{ - HeaderFile(interface, ClassNames::INTERFACE, false), + HeaderFile(interface, ClassNames::RAW, false), HeaderFile(interface, ClassNames::CLIENT, false), }; @@ -907,7 +907,7 @@ unique_ptr BuildClientHeader(const TypeNamespace& types, const AidlInt const string bp_name = ClassName(interface, ClassNames::CLIENT); vector includes = {kIBinderHeader, kIInterfaceHeader, "utils/Errors.h", - HeaderFile(interface, ClassNames::INTERFACE, false)}; + HeaderFile(interface, ClassNames::RAW, false)}; unique_ptr constructor{new ConstructorDecl{ bp_name, @@ -972,8 +972,7 @@ unique_ptr BuildServerHeader(const TypeNamespace& /* types */, StringPrintf("uint32_t %s", kFlagsVarName)}}, MethodDecl::IS_OVERRIDE }}; - vector includes = {"binder/IInterface.h", - HeaderFile(interface, ClassNames::INTERFACE, false)}; + vector includes = {"binder/IInterface.h", HeaderFile(interface, ClassNames::RAW, false)}; vector> 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 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 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 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 \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 \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); -- cgit v1.2.3