[PATCH] 8036827: Incorrect printing of the generic method declaration
B. Blaser
bsrbnd at gmail.com
Thu Jan 26 10:39:43 UTC 2017
Hi,
2017-01-25 21:23 GMT+01:00 B. Blaser <bsrbnd at gmail.com>:
>
> Next is a suggestion to remove javap's redundant printing of "extends
> java.lang.Object" in the following example (according to JDK 8036827
> description):
>
> class JDK_8036827 {
> public <T> T m1(T a) {
> return null;
> }
> }
>
I've also updated the existing related tests, below.
Bernard
diff --git a/src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java
b/src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java
--- a/src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java
+++ b/src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java
@@ -344,8 +344,7 @@
public StringBuilder visitTypeParamType(TypeParamType
type, StringBuilder sb) {
sb.append(type.name);
String sep = " extends ";
- if (type.classBound != null
- && (options.verbose || !type.classBound.isObject())) {
+ if (type.classBound != null && !type.classBound.isObject()) {
sb.append(sep);
append(sb, type.classBound);
sep = " & ";
diff --git a/test/tools/javap/4870651/T4870651.java
b/test/tools/javap/4870651/T4870651.java
--- a/test/tools/javap/4870651/T4870651.java
+++ b/test/tools/javap/4870651/T4870651.java
@@ -40,7 +40,7 @@
public void run() throws IOException {
verify("Test",
- "class Test<T extends java.lang.Object, " +
+ "class Test<T, " +
"E extends java.lang.Exception &
java.lang.Comparable<T>, " +
"U extends java.lang.Comparable>",
"v1(java.lang.String...)");
diff --git a/test/tools/javap/BoundsTypeVariableTest.java
b/test/tools/javap/BoundsTypeVariableTest.java
--- a/test/tools/javap/BoundsTypeVariableTest.java
+++ b/test/tools/javap/BoundsTypeVariableTest.java
@@ -49,7 +49,7 @@
srcDir.mkdirs();
File classesDir = new File("classes");
classesDir.mkdirs();
- final String expect = "public abstract <U extends
java.lang.Object> U doit();";
+ final String expect = "public abstract <U> U doit();";
List<String> contents = new ArrayList<>();
contents.add("abstract class X {");
contents.add(expect);
More information about the compiler-dev
mailing list