public class com.sun.tools.javac.util.DiagnosticSource
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.util.DiagnosticSource
super_class: java.lang.Object
{
public static final com.sun.tools.javac.util.DiagnosticSource NO_SOURCE;
descriptor: Lcom/sun/tools/javac/util/DiagnosticSource;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
protected javax.tools.JavaFileObject fileObject;
descriptor: Ljavax/tools/JavaFileObject;
flags: (0x0004) ACC_PROTECTED
protected com.sun.tools.javac.tree.EndPosTable endPosTable;
descriptor: Lcom/sun/tools/javac/tree/EndPosTable;
flags: (0x0004) ACC_PROTECTED
protected java.lang.ref.SoftReference<char[]> refBuf;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/lang/ref/SoftReference<[C>;
protected char[] buf;
descriptor: [C
flags: (0x0004) ACC_PROTECTED
protected int bufLen;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int lineStart;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int line;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected com.sun.tools.javac.util.AbstractLog log;
descriptor: Lcom/sun/tools/javac/util/AbstractLog;
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.sun.tools.javac.util.DiagnosticSource$1
dup
invokespecial com.sun.tools.javac.util.DiagnosticSource$1.<init>:()V
putstatic com.sun.tools.javac.util.DiagnosticSource.NO_SOURCE:Lcom/sun/tools/javac/util/DiagnosticSource;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.tools.JavaFileObject, com.sun.tools.javac.util.AbstractLog);
descriptor: (Ljavax/tools/JavaFileObject;Lcom/sun/tools/javac/util/AbstractLog;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.sun.tools.javac.util.DiagnosticSource.fileObject:Ljavax/tools/JavaFileObject;
2: aload 0
aload 2
putfield com.sun.tools.javac.util.DiagnosticSource.log:Lcom/sun/tools/javac/util/AbstractLog;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
0 4 1 fo Ljavax/tools/JavaFileObject;
0 4 2 log Lcom/sun/tools/javac/util/AbstractLog;
MethodParameters:
Name Flags
fo
log
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
public javax.tools.JavaFileObject getFile();
descriptor: ()Ljavax/tools/JavaFileObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.fileObject:Ljavax/tools/JavaFileObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
public int getLineNumber(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.tools.javac.util.DiagnosticSource.findLine:(I)Z
ifeq 4
1: aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.line:I
istore 3
2: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
3: iload 3
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
7: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
8: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
0 9 1 pos I
Exception table:
from to target type
0 2 6 any
MethodParameters:
Name Flags
pos
public int getColumnNumber(int, boolean);
descriptor: (IZ)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual com.sun.tools.javac.util.DiagnosticSource.findLine:(I)Z
ifeq 16
1: iconst_0
istore 3
start local 3 2: aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
istore 4
start local 4 3: goto 12
4: StackMap locals: int int
StackMap stack:
iload 4
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.bufLen:I
if_icmplt 7
5: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
iload 4
caload
bipush 9
if_icmpne 10
iload 2
ifeq 10
8: iload 3
invokestatic com.sun.tools.javac.util.LayoutCharacters.tabulate:(I)I
istore 3
9: goto 11
10: StackMap locals:
StackMap stack:
iinc 3 1
11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 1
if_icmplt 4
end local 4 13: iload 3
iconst_1
iadd
istore 6
14: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
15: iload 6
ireturn
end local 3 16: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
19: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
20: aload 5
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
0 21 1 pos I
0 21 2 expandTabs Z
2 16 3 column I
3 13 4 bp I
Exception table:
from to target type
0 5 18 any
7 14 18 any
MethodParameters:
Name Flags
pos
expandTabs
public java.lang.String getLine(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.tools.javac.util.DiagnosticSource.findLine:(I)Z
ifne 3
1: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
istore 2
start local 2 4: goto 6
5: StackMap locals: int
StackMap stack:
iinc 2 1
6: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.bufLen:I
if_icmpge 7
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
iload 2
caload
bipush 13
if_icmpeq 7
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
iload 2
caload
bipush 10
if_icmpne 5
7: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
isub
ifne 10
8: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
iload 2
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
isub
invokespecial java.lang.String.<init>:([CII)V
astore 4
11: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
12: aload 4
areturn
end local 2 13: StackMap locals: com.sun.tools.javac.util.DiagnosticSource int
StackMap stack: java.lang.Throwable
astore 3
14: aload 0
aconst_null
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
15: aload 3
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
0 16 1 pos I
4 13 2 lineEnd I
Exception table:
from to target type
0 1 13 any
3 8 13 any
10 11 13 any
MethodParameters:
Name Flags
pos
public com.sun.tools.javac.tree.EndPosTable getEndPosTable();
descriptor: ()Lcom/sun/tools/javac/tree/EndPosTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.endPosTable:Lcom/sun/tools/javac/tree/EndPosTable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
public void setEndPosTable(com.sun.tools.javac.tree.EndPosTable);
descriptor: (Lcom/sun/tools/javac/tree/EndPosTable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.endPosTable:Lcom/sun/tools/javac/tree/EndPosTable;
ifnull 2
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.endPosTable:Lcom/sun/tools/javac/tree/EndPosTable;
aload 1
if_acmpeq 2
1: new java.lang.IllegalStateException
dup
ldc "endPosTable already set"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.tools.javac.util.DiagnosticSource.endPosTable:Lcom/sun/tools/javac/tree/EndPosTable;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
0 4 1 t Lcom/sun/tools/javac/tree/EndPosTable;
MethodParameters:
Name Flags
t
protected boolean findLine(int);
descriptor: (I)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
iconst_m1
if_icmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
ifnonnull 4
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.refBuf:Ljava/lang/ref/SoftReference;
ifnull 4
3: aload 0
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.refBuf:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast char[]
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
ifnonnull 9
5: aload 0
aload 0
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.fileObject:Ljavax/tools/JavaFileObject;
invokevirtual com.sun.tools.javac.util.DiagnosticSource.initBuf:(Ljavax/tools/JavaFileObject;)[C
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
6: aload 0
iconst_0
putfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
7: aload 0
iconst_1
putfield com.sun.tools.javac.util.DiagnosticSource.line:I
8: goto 12
StackMap locals:
StackMap stack:
9: aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
iload 1
if_icmple 12
10: aload 0
iconst_0
putfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
11: aload 0
iconst_1
putfield com.sun.tools.javac.util.DiagnosticSource.line:I
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
istore 2
start local 2 13: goto 21
14: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
iload 2
iinc 2 1
caload
tableswitch { // 10 - 13
10: 19
11: 21
12: 21
13: 15
default: 21
}
15: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.bufLen:I
if_icmpge 16
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
iload 2
caload
bipush 10
if_icmpne 16
iinc 2 1
16: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.tools.javac.util.DiagnosticSource.line:I
iconst_1
iadd
putfield com.sun.tools.javac.util.DiagnosticSource.line:I
17: aload 0
iload 2
putfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
18: goto 21
19: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.tools.javac.util.DiagnosticSource.line:I
iconst_1
iadd
putfield com.sun.tools.javac.util.DiagnosticSource.line:I
20: aload 0
iload 2
putfield com.sun.tools.javac.util.DiagnosticSource.lineStart:I
21: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.bufLen:I
if_icmpge 22
iload 2
iload 1
if_icmplt 14
22: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.bufLen:I
if_icmpgt 23
iconst_1
ireturn
StackMap locals:
StackMap stack:
23: iconst_0
24: ireturn
end local 2 25: StackMap locals: com.sun.tools.javac.util.DiagnosticSource int
StackMap stack: java.io.IOException
pop
26: aload 0
getfield com.sun.tools.javac.util.DiagnosticSource.log:Lcom/sun/tools/javac/util/AbstractLog;
ldc "source.unavailable"
iconst_0
anewarray java.lang.Object
invokevirtual com.sun.tools.javac.util.AbstractLog.directError:(Ljava/lang/String;[Ljava/lang/Object;)V
27: aload 0
iconst_0
newarray 5
putfield com.sun.tools.javac.util.DiagnosticSource.buf:[C
28: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
0 29 1 pos I
13 25 2 bp I
Exception table:
from to target type
2 24 25 Class java.io.IOException
MethodParameters:
Name Flags
pos
protected char[] initBuf(javax.tools.JavaFileObject);
descriptor: (Ljavax/tools/JavaFileObject;)[C
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
invokeinterface javax.tools.JavaFileObject.getCharContent:(Z)Ljava/lang/CharSequence;
astore 3
start local 3 1: aload 3
instanceof java.nio.CharBuffer
ifeq 6
2: aload 3
checkcast java.nio.CharBuffer
astore 4
start local 4 3: aload 4
invokestatic com.sun.tools.javac.file.JavacFileManager.toArray:(Ljava/nio/CharBuffer;)[C
astore 2
start local 2 4: aload 0
aload 4
invokevirtual java.nio.CharBuffer.limit:()I
putfield com.sun.tools.javac.util.DiagnosticSource.bufLen:I
end local 4 5: goto 8
end local 2 6: StackMap locals: com.sun.tools.javac.util.DiagnosticSource javax.tools.JavaFileObject top java.lang.CharSequence
StackMap stack:
aload 3
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 7: aload 0
aload 2
arraylength
putfield com.sun.tools.javac.util.DiagnosticSource.bufLen:I
8: StackMap locals: com.sun.tools.javac.util.DiagnosticSource javax.tools.JavaFileObject char[] java.lang.CharSequence
StackMap stack:
aload 0
new java.lang.ref.SoftReference
dup
aload 2
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.tools.javac.util.DiagnosticSource.refBuf:Ljava/lang/ref/SoftReference;
9: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/util/DiagnosticSource;
0 10 1 fileObject Ljavax/tools/JavaFileObject;
4 6 2 buf [C
7 10 2 buf [C
1 10 3 cs Ljava/lang/CharSequence;
3 5 4 cb Ljava/nio/CharBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fileObject
}
SourceFile: "DiagnosticSource.java"
NestMembers:
com.sun.tools.javac.util.DiagnosticSource$1
InnerClasses:
com.sun.tools.javac.util.DiagnosticSource$1