소스 검색

Merge pull request #3804 from pherl/merge

Merge 3.4.x into master before cutting 3.5.x
Jisi Liu 8 년 전
부모
커밋
9aaa8e1e55
3개의 변경된 파일7개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 0
      Makefile.am
  2. 1 0
      java/core/generate-test-sources-build.xml
  3. 5 2
      src/google/protobuf/compiler/java/java_file.cc

+ 1 - 0
Makefile.am

@@ -333,6 +333,7 @@ java_EXTRA_DIST=
   java/core/src/test/java/com/google/protobuf/WellKnownTypesTest.java              \
   java/core/src/test/java/com/google/protobuf/WireFormatTest.java                  \
   java/core/src/test/proto/com/google/protobuf/any_test.proto                      \
+  java/core/src/test/proto/com/google/protobuf/deprecated_file.proto               \
   java/core/src/test/proto/com/google/protobuf/field_presence_test.proto           \
   java/core/src/test/proto/com/google/protobuf/lazy_fields_lite.proto              \
   java/core/src/test/proto/com/google/protobuf/lite_equals_and_hash.proto          \

+ 1 - 0
java/core/generate-test-sources-build.xml

@@ -19,6 +19,7 @@
         <arg value="${protobuf.source.dir}/google/protobuf/unittest_enormous_descriptor.proto"/>
         <arg value="${protobuf.source.dir}/google/protobuf/unittest_no_generic_services.proto"/>
         <arg value="${protobuf.source.dir}/google/protobuf/unittest_well_known_types.proto"/>
+        <arg value="${test.proto.dir}/com/google/protobuf/deprecated_file.proto"/>
         <arg value="${test.proto.dir}/com/google/protobuf/lazy_fields_lite.proto"/>
         <arg value="${test.proto.dir}/com/google/protobuf/lite_equals_and_hash.proto"/>
         <arg value="${test.proto.dir}/com/google/protobuf/multiple_files_test.proto"/>

+ 5 - 2
src/google/protobuf/compiler/java/java_file.cc

@@ -248,9 +248,12 @@ void FileGenerator::Generate(io::Printer* printer) {
   PrintGeneratedAnnotation(
       printer, '$', options_.annotate_code ? classname_ + ".java.pb.meta" : "");
   printer->Print(
-      "public final class $classname$ {\n"
+      "$deprecation$public final class $classname$ {\n"
       "  private $ctor$() {}\n",
-      "classname", classname_, "ctor", classname_);
+      "deprecation", file_->options().deprecated() ?
+          "@java.lang.Deprecated " : "",
+      "classname", classname_,
+      "ctor", classname_);
   printer->Annotate("classname", file_->name());
   printer->Indent();