aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar cnsun <cnsun@google.com>2018-04-17 14:26:11 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-17 14:28:19 -0700
commit48ede26053a7a4a206737102f74aa18c71437695 (patch)
tree58d44f4ac61546868f8d54d2f6ed7cc3eefc2c51
parent6df5ec3a1ab47a1cde39b5f7dafc1788248efb56 (diff)
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
-rw-r--r--src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/DepsCheckerClassVisitor.java10
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt2
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt2
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt2
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt3
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt3
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java2
7 files changed, 12 insertions, 12 deletions
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() {