From 48ede26053a7a4a206737102f74aa18c71437695 Mon Sep 17 00:00:00 2001 From: cnsun Date: Tue, 17 Apr 2018 14:26:11 -0700 Subject: 1. Avoid checking the primitive number types in annotations. 2. Remove incorrect assertion in AnnotationVisitor.visit(String, Object), and delegate the checking for arrays to visitArray(String). RELNOTES: n/a. PiperOrigin-RevId: 193256108 --- .../devtools/build/importdeps/DepsCheckerClassVisitor.java | 10 +++++----- .../build/importdeps/golden_bootclasspath_missing.stderr.txt | 2 +- .../importdeps/golden_bootclasspath_missing.stderr.warning.txt | 2 +- .../devtools/build/importdeps/golden_bootclasspath_missing.txt | 2 +- .../importdeps/golden_string_annotation_value_test.stderr.txt | 3 +-- .../build/importdeps/golden_string_annotation_value_test.txt | 3 +-- .../com/google/devtools/build/importdeps/testdata/Client.java | 2 ++ 7 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/java_tools') diff --git a/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/DepsCheckerClassVisitor.java b/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/DepsCheckerClassVisitor.java index 07925c38c1..2e04864aea 100644 --- a/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/DepsCheckerClassVisitor.java +++ b/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/DepsCheckerClassVisitor.java @@ -225,13 +225,13 @@ public class DepsCheckerClassVisitor extends ClassVisitor { } Class clazz = value.getClass(); if (PRIMITIVE_TYPES.contains(clazz)) { - checkType(Type.getType(clazz)); return; } - if (clazz.isArray() && clazz.getComponentType().isPrimitive()) { - return; // nothing to check for primitive arrays - } - throw new UnsupportedOperationException("Unhandled value " + value + " of type " + clazz); + checkState( + clazz.isArray() && clazz.getComponentType().isPrimitive(), + "Unexpected value %s of type %s", + value, + clazz); } @Override diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt index 767c7dbfe2..a037fa0556 100644 --- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt +++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt @@ -2,10 +2,10 @@ ERROR: The dependencies for the following 1 jar(s) are not complete. 1.third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/libtestdata_client.jar The details are listed below: Missing java.io.PrintStream -Missing java.lang.Byte Missing java.lang.Class Missing java.lang.Enum Missing java.lang.Exception +Missing java.lang.Integer Missing java.lang.Object Missing java.lang.String Missing java.lang.SuppressWarnings diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt index b6bf8dc11a..2bb0b97f86 100644 --- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt +++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt @@ -2,10 +2,10 @@ WARNING: The dependencies for the following 1 jar(s) are not complete. 1.third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/libtestdata_client.jar The details are listed below: Missing java.io.PrintStream -Missing java.lang.Byte Missing java.lang.Class Missing java.lang.Enum Missing java.lang.Exception +Missing java.lang.Integer Missing java.lang.Object Missing java.lang.String Missing java.lang.SuppressWarnings diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt index ecf3822fb1..f68fee99ce 100644 --- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt +++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt @@ -1,8 +1,8 @@ Missing java.io.PrintStream -Missing java.lang.Byte Missing java.lang.Class Missing java.lang.Enum Missing java.lang.Exception +Missing java.lang.Integer Missing java.lang.Object Missing java.lang.String Missing java.lang.SuppressWarnings diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt index 72d94646d4..3cc4b3d5ae 100644 --- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt +++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt @@ -2,11 +2,10 @@ ERROR: The dependencies for the following 1 jar(s) are not complete. 1.third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/libOneAnnotationValue.jar The details are listed below: Missing java.lang.Object -Missing java.lang.String Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.StringAnnotation missing ancestor: java.lang.Object resolution failure path: java.lang.Object ===Total=== -missing=2 +missing=1 incomplete=1 missing_members=0 diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt index 8cbc6210d5..b0e898dc35 100644 --- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt +++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt @@ -1,9 +1,8 @@ Missing java.lang.Object -Missing java.lang.String Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.StringAnnotation missing ancestor: java.lang.Object resolution failure path: java.lang.Object ===Total=== -missing=2 +missing=1 incomplete=1 missing_members=0 diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java index db08176af1..419ae82332 100644 --- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java +++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java @@ -66,6 +66,8 @@ public class Client<@TypeAnnotation T> extends Library Object[] copy = array.clone(); array = (Class8[][]) copy; System.out.println(array.clone().length); + Integer b = Integer.valueOf(0); + System.out.println(b); } public void testEnums() { -- cgit v1.2.3