final class jdk.incubator.jpackage.internal.ModFile
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.incubator.jpackage.internal.ModFile
super_class: java.lang.Object
{
private final java.lang.String filename;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.jpackage.internal.ModFile$ModType moduleType;
descriptor: Ljdk/incubator/jpackage/internal/ModFile$ModType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual java.io.File.getPath:()Ljava/lang/String;
putfield jdk.incubator.jpackage.internal.ModFile.filename:Ljava/lang/String;
2: aload 0
aload 1
invokestatic jdk.incubator.jpackage.internal.ModFile.getModType:(Ljava/io/File;)Ljdk/incubator/jpackage/internal/ModFile$ModType;
putfield jdk.incubator.jpackage.internal.ModFile.moduleType:Ljdk/incubator/jpackage/internal/ModFile$ModType;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/jpackage/internal/ModFile;
0 4 1 aFile Ljava/io/File;
MethodParameters:
Name Flags
aFile
java.lang.String getModName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.io.File
dup
aload 0
invokevirtual jdk.incubator.jpackage.internal.ModFile.getFileName:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
getfield jdk.incubator.jpackage.internal.ModFile.moduleType:Ljdk/incubator/jpackage/internal/ModFile$ModType;
getstatic jdk.incubator.jpackage.internal.ModFile$ModType.ExplodedModule:Ljdk/incubator/jpackage/internal/ModFile$ModType;
if_acmpne 3
2: aload 1
invokevirtual java.io.File.getName:()Ljava/lang/String;
goto 4
StackMap locals: java.io.File
StackMap stack:
3: aload 1
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokestatic jdk.incubator.jpackage.internal.ModFile.getFileWithoutExtension:(Ljava/lang/String;)Ljava/lang/String;
4: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/jpackage/internal/ModFile;
1 5 1 file Ljava/io/File;
java.lang.String getFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.jpackage.internal.ModFile.filename:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/jpackage/internal/ModFile;
jdk.incubator.jpackage.internal.ModFile$ModType getModType();
descriptor: ()Ljdk/incubator/jpackage/internal/ModFile$ModType;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.jpackage.internal.ModFile.moduleType:Ljdk/incubator/jpackage/internal/ModFile$ModType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/jpackage/internal/ModFile;
private static jdk.incubator.jpackage.internal.ModFile$ModType getModType(java.io.File);
descriptor: (Ljava/io/File;)Ljdk/incubator/jpackage/internal/ModFile$ModType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic jdk.incubator.jpackage.internal.ModFile$ModType.Unknown:Ljdk/incubator/jpackage/internal/ModFile$ModType;
astore 1
start local 1 1: aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
invokevirtual java.io.File.isFile:()Z
ifeq 14
3: aload 2
ldc ".jmod"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 6
4: getstatic jdk.incubator.jpackage.internal.ModFile$ModType.Jmod:Ljdk/incubator/jpackage/internal/ModFile$ModType;
astore 1
5: goto 20
6: StackMap locals: jdk.incubator.jpackage.internal.ModFile$ModType java.lang.String
StackMap stack:
aload 2
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 20
7: aload 2
invokestatic jdk.incubator.jpackage.internal.ModFile.isModularJar:(Ljava/lang/String;)Ljdk/incubator/jpackage/internal/ModFile$JarType;
astore 3
start local 3 8: aload 3
getstatic jdk.incubator.jpackage.internal.ModFile$JarType.ModularJar:Ljdk/incubator/jpackage/internal/ModFile$JarType;
if_acmpne 11
9: getstatic jdk.incubator.jpackage.internal.ModFile$ModType.ModularJar:Ljdk/incubator/jpackage/internal/ModFile$ModType;
astore 1
10: goto 20
11: StackMap locals: jdk.incubator.jpackage.internal.ModFile$JarType
StackMap stack:
aload 3
getstatic jdk.incubator.jpackage.internal.ModFile$JarType.UnnamedJar:Ljdk/incubator/jpackage/internal/ModFile$JarType;
if_acmpne 20
12: getstatic jdk.incubator.jpackage.internal.ModFile$ModType.UnnamedJar:Ljdk/incubator/jpackage/internal/ModFile$ModType;
astore 1
end local 3 13: goto 20
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.File.isDirectory:()Z
ifeq 20
15: new java.io.File
dup
16: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "module-info.class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 18: aload 3
invokevirtual java.io.File.exists:()Z
ifeq 20
19: getstatic jdk.incubator.jpackage.internal.ModFile$ModType.ExplodedModule:Ljdk/incubator/jpackage/internal/ModFile$ModType;
astore 1
end local 3 20: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 aFile Ljava/io/File;
1 21 1 result Ljdk/incubator/jpackage/internal/ModFile$ModType;
2 21 2 filename Ljava/lang/String;
8 13 3 status Ljdk/incubator/jpackage/internal/ModFile$JarType;
18 20 3 moduleInfo Ljava/io/File;
MethodParameters:
Name Flags
aFile
private static jdk.incubator.jpackage.internal.ModFile$JarType isModularJar(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/incubator/jpackage/internal/ModFile$JarType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: getstatic jdk.incubator.jpackage.internal.ModFile$JarType.All:Ljdk/incubator/jpackage/internal/ModFile$JarType;
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: new java.util.zip.ZipInputStream
dup
new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
3: astore 4
start local 4 4: getstatic jdk.incubator.jpackage.internal.ModFile$JarType.UnnamedJar:Ljdk/incubator/jpackage/internal/ModFile$JarType;
astore 1
5: aload 4
invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
astore 5
start local 5 6: goto 11
7: StackMap locals: java.lang.String jdk.incubator.jpackage.internal.ModFile$JarType java.lang.Throwable java.lang.Throwable java.util.zip.ZipInputStream java.util.zip.ZipEntry
StackMap stack:
aload 5
invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
ldc "module-info.class"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 10
8: getstatic jdk.incubator.jpackage.internal.ModFile$JarType.ModularJar:Ljdk/incubator/jpackage/internal/ModFile$JarType;
astore 1
9: goto 12
10: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
astore 5
11: StackMap locals:
StackMap stack:
aload 5
ifnonnull 7
end local 5 12: StackMap locals:
StackMap stack:
aload 4
ifnull 19
aload 4
invokevirtual java.util.zip.ZipInputStream.close:()V
goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 2
aload 4
ifnull 14
aload 4
invokevirtual java.util.zip.ZipInputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
14: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 3
aload 2
ifnonnull 16
aload 3
astore 2
goto 17
StackMap locals:
StackMap stack:
16: aload 2
aload 3
if_acmpeq 17
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 2
athrow
StackMap locals: java.lang.String jdk.incubator.jpackage.internal.ModFile$JarType
StackMap stack: java.io.IOException
18: pop
19: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 FileName Ljava/lang/String;
1 20 1 result Ljdk/incubator/jpackage/internal/ModFile$JarType;
4 14 4 zip Ljava/util/zip/ZipInputStream;
6 12 5 entry Ljava/util/zip/ZipEntry;
Exception table:
from to target type
4 12 13 any
2 15 15 any
1 18 18 Class java.io.IOException
MethodParameters:
Name Flags
FileName
private static java.lang.String getFileWithoutExtension(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "[.][^.]+$"
ldc ""
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 FileName Ljava/lang/String;
MethodParameters:
Name Flags
FileName
}
SourceFile: "ModFile.java"
NestMembers:
jdk.incubator.jpackage.internal.ModFile$JarType jdk.incubator.jpackage.internal.ModFile$ModType
InnerClasses:
final JarType = jdk.incubator.jpackage.internal.ModFile$JarType of jdk.incubator.jpackage.internal.ModFile
final ModType = jdk.incubator.jpackage.internal.ModFile$ModType of jdk.incubator.jpackage.internal.ModFile