diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2019-12-05 00:57:15 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2019-12-05 00:57:15 +0000 |
commit | c627fd5c7af43a2f21a9e2a70170e57cf7049824 (patch) | |
tree | c9df4a54ab15bb9215047a6842814e832ae61ea3 | |
parent | bd505d8097b10d5ae9c7e201bb576ef7f1347632 (diff) | |
parent | 56e61e0c6ed30095f0fb760ae72e6381629c3f9a (diff) | |
download | aidl-c627fd5c7af43a2f21a9e2a70170e57cf7049824.tar.gz |
No java output for parcelable declaration am: 56e61e0c6e
Change-Id: I9f59fb62de4906579704b78b363741dc518da51f
-rw-r--r-- | aidl.cpp | 9 | ||||
-rw-r--r-- | aidl_unittest.cpp | 13 | ||||
-rw-r--r-- | generate_java.cpp | 13 |
3 files changed, 20 insertions, 15 deletions
@@ -776,8 +776,13 @@ int compile_aidl(const Options& options, const IoDelegate& io_delegate) { io_delegate); success = true; } else if (lang == Options::Language::JAVA) { - success = - java::generate_java(output_file_name, defined_type, &java_types, io_delegate, options); + if (defined_type->AsUnstructuredParcelable() != nullptr) { + // Legacy behavior. For parcelable declarations in Java, don't generate output file. + success = true; + } else { + success = + java::generate_java(output_file_name, defined_type, &java_types, io_delegate, options); + } } else { LOG(FATAL) << "Should not reach here" << endl; return 1; diff --git a/aidl_unittest.cpp b/aidl_unittest.cpp index 721bc89c..7cf81722 100644 --- a/aidl_unittest.cpp +++ b/aidl_unittest.cpp @@ -612,6 +612,19 @@ TEST_F(AidlTest, WritesDependencyFileForStructuredParcelable) { EXPECT_EQ(actual_dep_file_contents, kExpectedStructuredParcelableDepFileContents); } +TEST_F(AidlTest, NoJavaOutputForParcelableDeclaration) { + vector<string> args = { + "aidl", + "--lang=java", + "-o place/for/output", + "p/Foo.aidl"}; + Options options = Options::From(args); + io_delegate_.SetFileContents(options.InputFiles().front(), "package p; parcelable Foo;"); + EXPECT_EQ(0, ::android::aidl::compile_aidl(options, io_delegate_)); + string output_file_contents; + EXPECT_FALSE(io_delegate_.GetWrittenContents(options.OutputFile(), &output_file_contents)); +} + /* not working until type_namespace.h is fixed TEST_F(AidlTest, AcceptsNestedContainerType) { string nested_in_iface = "package a; interface IFoo {\n" diff --git a/generate_java.cpp b/generate_java.cpp index 777d530a..0d962035 100644 --- a/generate_java.cpp +++ b/generate_java.cpp @@ -63,14 +63,6 @@ bool generate_java_parcel(const std::string& filename, const AidlStructuredParce return true; } -bool generate_java_parcel_declaration(const std::string& filename, const IoDelegate& io_delegate) { - CodeWriterPtr code_writer = io_delegate.GetCodeWriter(filename); - *code_writer - << "// This file is intentionally left blank as placeholder for parcel declaration.\n"; - - return true; -} - bool generate_java(const std::string& filename, const AidlDefinedType* defined_type, JavaTypeNamespace* types, const IoDelegate& io_delegate, const Options& options) { @@ -79,11 +71,6 @@ bool generate_java(const std::string& filename, const AidlDefinedType* defined_t return generate_java_parcel(filename, parcelable, types->typenames_, io_delegate); } - const AidlParcelable* parcelable_decl = defined_type->AsParcelable(); - if (parcelable_decl != nullptr) { - return generate_java_parcel_declaration(filename, io_delegate); - } - const AidlInterface* interface = defined_type->AsInterface(); if (interface != nullptr) { return generate_java_interface(filename, interface, types, io_delegate, options); |