8003537: javap use internal class name when printing bound of type variable

Reviewed-by: jjg
This commit is contained in:
Kumar Srinivasan 2013-10-04 16:08:18 -07:00
parent bb2e47a5f4
commit 74d2e71e10
2 changed files with 102 additions and 1 deletions

View file

@ -232,6 +232,12 @@ public class ClassWriter extends BasicWriter {
return t.accept(this, new StringBuilder()).toString();
}
String printTypeArgs(List<? extends TypeParamType> typeParamTypes) {
StringBuilder builder = new StringBuilder();
appendIfNotEmpty(builder, "<", typeParamTypes, "> ");
return builder.toString();
}
public StringBuilder visitSimpleType(SimpleType type, StringBuilder sb) {
sb.append(getJavaName(type.name));
return sb;
@ -438,7 +444,7 @@ public class ClassWriter extends BasicWriter {
writeModifiers(flags.getMethodModifiers());
if (methodType != null) {
writeListIfNotEmpty("<", methodType.typeParamTypes, "> ");
print(new JavaTypePrinter(false).printTypeArgs(methodType.typeParamTypes));
}
if (getName(m).equals("<init>")) {
print(getJavaName(classFile));