public class org.eclipse.jdt.internal.core.builder.SourceFile implements org.eclipse.jdt.internal.compiler.env.ICompilationUnit
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.core.builder.SourceFile
super_class: java.lang.Object
{
public org.eclipse.core.resources.IFile resource;
descriptor: Lorg/eclipse/core/resources/IFile;
flags: (0x0001) ACC_PUBLIC
org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory sourceLocation;
descriptor: Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
flags: (0x0000)
java.lang.String initialTypeName;
descriptor: Ljava/lang/String;
flags: (0x0000)
boolean updateClassFile;
descriptor: Z
flags: (0x0000)
public void <init>(org.eclipse.core.resources.IFile, org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory);
descriptor: (Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;)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 org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
2: aload 0
aload 2
putfield org.eclipse.jdt.internal.core.builder.SourceFile.sourceLocation:Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
3: aload 0
aload 0
invokevirtual org.eclipse.jdt.internal.core.builder.SourceFile.extractTypeName:()Ljava/lang/String;
putfield org.eclipse.jdt.internal.core.builder.SourceFile.initialTypeName:Ljava/lang/String;
4: aload 0
iconst_0
putfield org.eclipse.jdt.internal.core.builder.SourceFile.updateClassFile:Z
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
0 6 1 resource Lorg/eclipse/core/resources/IFile;
0 6 2 sourceLocation Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
MethodParameters:
Name Flags
resource
sourceLocation
public void <init>(org.eclipse.core.resources.IFile, org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory, boolean);
descriptor: (Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial org.eclipse.jdt.internal.core.builder.SourceFile.<init>:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;)V
1: aload 0
iload 3
putfield org.eclipse.jdt.internal.core.builder.SourceFile.updateClassFile:Z
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
0 3 1 resource Lorg/eclipse/core/resources/IFile;
0 3 2 sourceLocation Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
0 3 3 updateClassFile Z
MethodParameters:
Name Flags
resource
sourceLocation
updateClassFile
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 1
instanceof org.eclipse.jdt.internal.core.builder.SourceFile
ifne 2
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.eclipse.jdt.internal.core.builder.SourceFile
astore 2
start local 2 3: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.sourceLocation:Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
aload 2
getfield org.eclipse.jdt.internal.core.builder.SourceFile.sourceLocation:Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
if_acmpne 4
aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
aload 2
getfield org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
ifeq 4
iconst_1
ireturn
StackMap locals: org.eclipse.jdt.internal.core.builder.SourceFile
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
0 5 1 o Ljava/lang/Object;
3 5 2 f Lorg/eclipse/jdt/internal/core/builder/SourceFile;
MethodParameters:
Name Flags
o
java.lang.String ();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=12, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
astore 1
start local 1 1: aload 1
invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
istore 2
start local 2 2: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.sourceLocation:Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
getfield org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory.sourceFolder:Lorg/eclipse/core/resources/IContainer;
invokeinterface org.eclipse.core.resources.IContainer.getFullPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
istore 3
start local 3 3: iload 2
iload 3
isub
iconst_1
isub
istore 4
start local 4 4: iinc 2 -1
5: iload 3
istore 5
start local 5 6: goto 9
7: StackMap locals: org.eclipse.jdt.internal.core.builder.SourceFile org.eclipse.core.runtime.IPath int int int int
StackMap stack:
iload 4
aload 1
iload 5
invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iadd
istore 4
8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 2
if_icmplt 7
end local 5 10: aload 1
iload 2
invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
astore 5
start local 5 11: aload 5
invokestatic org.eclipse.jdt.internal.core.util.Util.indexOfJavaLikeExtension:(Ljava/lang/String;)I
istore 6
start local 6 12: iload 4
iload 6
iadd
istore 4
13: iload 4
newarray 5
astore 7
start local 7 14: iconst_0
istore 8
start local 8 15: iload 3
istore 9
start local 9 16: goto 23
17: StackMap locals: org.eclipse.jdt.internal.core.builder.SourceFile org.eclipse.core.runtime.IPath int int int java.lang.String int char[] int int
StackMap stack:
aload 1
iload 9
invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
astore 10
start local 10 18: aload 10
invokevirtual java.lang.String.length:()I
istore 11
start local 11 19: aload 10
iconst_0
iload 11
aload 7
iload 8
invokevirtual java.lang.String.getChars:(II[CI)V
20: iload 8
iload 11
iadd
istore 8
21: aload 7
iload 8
iinc 8 1
bipush 47
castore
end local 11 end local 10 22: iinc 9 1
StackMap locals:
StackMap stack:
23: iload 9
iload 2
if_icmplt 17
end local 9 24: aload 5
iconst_0
iload 6
aload 7
iload 8
invokevirtual java.lang.String.getChars:(II[CI)V
25: new java.lang.String
dup
aload 7
invokespecial java.lang.String.<init>:([C)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
1 26 1 fullPath Lorg/eclipse/core/runtime/IPath;
2 26 2 resourceSegmentCount I
3 26 3 sourceFolderSegmentCount I
4 26 4 charCount I
6 10 5 i I
11 26 5 lastSegment Ljava/lang/String;
12 26 6 extensionIndex I
14 26 7 result [C
15 26 8 offset I
16 24 9 i I
18 22 10 segment Ljava/lang/String;
19 22 11 size I
public char[] getContents();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
invokestatic org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsCharArray:(Lorg/eclipse/core/resources/IFile;)[C
1: areturn
2: StackMap locals:
StackMap stack: org.eclipse.core.runtime.CoreException
pop
3: new org.eclipse.jdt.internal.compiler.problem.AbortCompilation
dup
iconst_1
new org.eclipse.jdt.internal.core.builder.MissingSourceFileException
dup
aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokespecial org.eclipse.jdt.internal.core.builder.MissingSourceFileException.<init>:(Ljava/lang/String;)V
invokespecial org.eclipse.jdt.internal.compiler.problem.AbortCompilation.<init>:(ZLjava/lang/RuntimeException;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
Exception table:
from to target type
0 1 2 Class org.eclipse.core.runtime.CoreException
public char[] getFileName();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
public char[] getMainTypeName();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.initialTypeName:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 1: bipush 47
aload 1
invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
istore 2
start local 2 2: aload 1
iload 2
iconst_1
iadd
iconst_m1
invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
1 3 1 typeName [C
2 3 2 lastIndex I
public char[][] getPackageName();
descriptor: ()[[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.initialTypeName:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 1: bipush 47
aload 1
invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
istore 2
start local 2 2: bipush 47
aload 1
iconst_0
iload 2
invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[CII)[[C
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
1 3 1 typeName [C
2 3 2 lastIndex I
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.initialTypeName:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
public boolean ignoreOptionalProblems();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.sourceLocation:Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
getfield org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory.ignoreOptionalProblems:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
java.lang.String typeLocator();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
invokeinterface org.eclipse.core.resources.IFile.getProjectRelativePath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "SourceFile["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.resource:Lorg/eclipse/core/resources/IFile;
invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
public char[] getModuleName();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.builder.SourceFile.sourceLocation:Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
invokevirtual org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory.module:()Lorg/eclipse/jdt/internal/compiler/env/IModule;
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.eclipse.jdt.internal.compiler.env.IModule
StackMap stack:
2: aload 1
invokeinterface org.eclipse.jdt.internal.compiler.env.IModule.name:()[C
StackMap locals:
StackMap stack: char[]
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/core/builder/SourceFile;
1 4 1 mod Lorg/eclipse/jdt/internal/compiler/env/IModule;
}
SourceFile: "SourceFile.java"