public class com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier
super_class: java.lang.Object
{
java.util.Map<com.sun.tools.javac.util.Name, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol>> nameClashes;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;>;
final com.sun.tools.javac.util.RichDiagnosticFormatter this$0;
descriptor: Lcom/sun/tools/javac/util/RichDiagnosticFormatter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
protected void <init>(com.sun.tools.javac.util.RichDiagnosticFormatter);
descriptor: (Lcom/sun/tools/javac/util/RichDiagnosticFormatter;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 // com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier this
0: .line 284
aload 0 /* this */
aload 1
putfield com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier.this$0:Lcom/sun/tools/javac/util/RichDiagnosticFormatter;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 287
aload 0 /* this */
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier.nameClashes:Ljava/util/Map;
2: .line 284
return
end local 0 // com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/util/RichDiagnosticFormatter$ClassNameSimplifier;
MethodParameters:
Name Flags
this$0 final
protected void addUsage(com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 // com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier this
start local 1 // com.sun.tools.javac.code.Symbol sym
0: .line 293
aload 1 /* sym */
invokevirtual com.sun.tools.javac.code.Symbol.getSimpleName:()Lcom/sun/tools/javac/util/Name;
astore 2 /* n */
start local 2 // com.sun.tools.javac.util.Name n
1: .line 294
aload 0 /* this */
getfield com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier.nameClashes:Ljava/util/Map;
aload 2 /* n */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
astore 3 /* conflicts */
start local 3 // com.sun.tools.javac.util.List conflicts
2: .line 295
aload 3 /* conflicts */
ifnonnull 4
3: .line 296
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 3 /* conflicts */
4: .line 298
StackMap locals: com.sun.tools.javac.util.Name com.sun.tools.javac.util.List
StackMap stack:
aload 3 /* conflicts */
aload 1 /* sym */
invokevirtual com.sun.tools.javac.util.List.contains:(Ljava/lang/Object;)Z
ifne 6
5: .line 299
aload 0 /* this */
getfield com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier.nameClashes:Ljava/util/Map;
aload 2 /* n */
aload 3 /* conflicts */
aload 1 /* sym */
invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: .line 300
StackMap locals:
StackMap stack:
return
end local 3 // com.sun.tools.javac.util.List conflicts
end local 2 // com.sun.tools.javac.util.Name n
end local 1 // com.sun.tools.javac.code.Symbol sym
end local 0 // com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/util/RichDiagnosticFormatter$ClassNameSimplifier;
0 7 1 sym Lcom/sun/tools/javac/code/Symbol;
1 7 2 n Lcom/sun/tools/javac/util/Name;
2 7 3 conflicts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
MethodParameters:
Name Flags
sym
public java.lang.String simplify(com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=10, args_size=2
start local 0 // com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier this
start local 1 // com.sun.tools.javac.code.Symbol s
0: .line 303
aload 1 /* s */
invokevirtual com.sun.tools.javac.code.Symbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
astore 2 /* name */
start local 2 // java.lang.String name
1: .line 304
aload 1 /* s */
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isCompound:()Z
ifne 24
aload 1 /* s */
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
ifne 24
2: .line 305
aload 0 /* this */
getfield com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier.nameClashes:Ljava/util/Map;
aload 1 /* s */
invokevirtual com.sun.tools.javac.code.Symbol.getSimpleName:()Lcom/sun/tools/javac/util/Name;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.util.List
astore 3 /* conflicts */
start local 3 // com.sun.tools.javac.util.List conflicts
3: .line 306
aload 3 /* conflicts */
ifnull 6
4: .line 307
aload 3 /* conflicts */
invokevirtual com.sun.tools.javac.util.List.size:()I
iconst_1
if_icmpne 24
5: .line 308
aload 3 /* conflicts */
aload 1 /* s */
invokevirtual com.sun.tools.javac.util.List.contains:(Ljava/lang/Object;)Z
ifeq 24
6: .line 309
StackMap locals: java.lang.String com.sun.tools.javac.util.List
StackMap stack:
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 4 /* l */
start local 4 // com.sun.tools.javac.util.List l
7: .line 310
aload 1 /* s */
astore 5 /* s2 */
start local 5 // com.sun.tools.javac.code.Symbol s2
8: .line 311
goto 11
9: .line 314
StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol
StackMap stack:
aload 4 /* l */
aload 5 /* s2 */
invokevirtual com.sun.tools.javac.code.Symbol.getSimpleName:()Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 4 /* l */
10: .line 315
aload 5 /* s2 */
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
astore 5 /* s2 */
11: .line 311
StackMap locals:
StackMap stack:
aload 5 /* s2 */
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 14
12: .line 312
aload 5 /* s2 */
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getEnclosingType:()Lcom/sun/tools/javac/code/Type;
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 14
13: .line 313
aload 5 /* s2 */
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpeq 9
14: .line 317
StackMap locals:
StackMap stack:
aload 4 /* l */
aload 5 /* s2 */
invokevirtual com.sun.tools.javac.code.Symbol.getSimpleName:()Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 4 /* l */
15: .line 318
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6 /* buf */
start local 6 // java.lang.StringBuilder buf
16: .line 319
ldc ""
astore 7 /* sep */
start local 7 // java.lang.String sep
17: .line 320
aload 4 /* l */
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 22
StackMap locals: com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier com.sun.tools.javac.code.Symbol java.lang.String com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol java.lang.StringBuilder java.lang.String top java.util.Iterator
StackMap stack:
18: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.util.Name
astore 8 /* n2 */
start local 8 // com.sun.tools.javac.util.Name n2
19: .line 321
aload 6 /* buf */
aload 7 /* sep */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: .line 322
aload 6 /* buf */
aload 8 /* n2 */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
21: .line 323
ldc "."
astore 7 /* sep */
end local 8 // com.sun.tools.javac.util.Name n2
22: .line 320
StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
23: .line 325
aload 6 /* buf */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2 /* name */
end local 7 // java.lang.String sep
end local 6 // java.lang.StringBuilder buf
end local 5 // com.sun.tools.javac.code.Symbol s2
end local 4 // com.sun.tools.javac.util.List l
end local 3 // com.sun.tools.javac.util.List conflicts
24: .line 328
StackMap locals: com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier com.sun.tools.javac.code.Symbol java.lang.String
StackMap stack:
aload 2 /* name */
areturn
end local 2 // java.lang.String name
end local 1 // com.sun.tools.javac.code.Symbol s
end local 0 // com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/tools/javac/util/RichDiagnosticFormatter$ClassNameSimplifier;
0 25 1 s Lcom/sun/tools/javac/code/Symbol;
1 25 2 name Ljava/lang/String;
3 24 3 conflicts Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
7 24 4 l Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/util/Name;>;
8 24 5 s2 Lcom/sun/tools/javac/code/Symbol;
16 24 6 buf Ljava/lang/StringBuilder;
17 24 7 sep Ljava/lang/String;
19 22 8 n2 Lcom/sun/tools/javac/util/Name;
MethodParameters:
Name Flags
s
}
SourceFile: "RichDiagnosticFormatter.java"
NestHost: com.sun.tools.javac.util.RichDiagnosticFormatter
InnerClasses:
public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
protected ClassNameSimplifier = com.sun.tools.javac.util.RichDiagnosticFormatter$ClassNameSimplifier of com.sun.tools.javac.util.RichDiagnosticFormatter