public final class org.apache.catalina.startup.Tool
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.catalina.startup.Tool
super_class: java.lang.Object
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static boolean ant;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.String catalinaHome;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static boolean common;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean server;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean shared;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/catalina/startup/Tool;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
1: iconst_0
putstatic org.apache.catalina.startup.Tool.ant:Z
2: ldc "catalina.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
3: putstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
4: iconst_0
putstatic org.apache.catalina.startup.Tool.common:Z
5: iconst_0
putstatic org.apache.catalina.startup.Tool.server:Z
6: iconst_0
putstatic org.apache.catalina.startup.Tool.shared:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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 Lorg/apache/catalina/startup/Tool;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=9, args_size=1
start local 0 0: getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
ifnonnull 3
1: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
ldc "Must set 'catalina.home' system property"
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
2: iconst_1
invokestatic java.lang.System.exit:(I)V
3: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 4: StackMap locals: int
StackMap stack:
iload 1
aload 0
arraylength
if_icmpne 7
5: invokestatic org.apache.catalina.startup.Tool.usage:()V
6: iconst_1
invokestatic java.lang.System.exit:(I)V
7: StackMap locals:
StackMap stack:
ldc "-ant"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: iconst_1
putstatic org.apache.catalina.startup.Tool.ant:Z
goto 15
9: StackMap locals:
StackMap stack:
ldc "-common"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: iconst_1
putstatic org.apache.catalina.startup.Tool.common:Z
goto 15
11: StackMap locals:
StackMap stack:
ldc "-server"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: iconst_1
putstatic org.apache.catalina.startup.Tool.server:Z
goto 15
13: StackMap locals:
StackMap stack:
ldc "-shared"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
14: iconst_1
putstatic org.apache.catalina.startup.Tool.shared:Z
15: StackMap locals:
StackMap stack:
iinc 1 1
16: goto 4
17: StackMap locals:
StackMap stack:
iload 1
aload 0
arraylength
if_icmple 20
18: invokestatic org.apache.catalina.startup.Tool.usage:()V
19: iconst_1
invokestatic java.lang.System.exit:(I)V
20: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.startup.Tool.ant:Z
ifeq 22
21: ldc "ant.home"
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
22: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 23: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 24: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 25: aload 4
new java.io.File
dup
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
ldc "classes"
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: aload 3
new java.io.File
dup
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
ldc "lib"
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: getstatic org.apache.catalina.startup.Tool.common:Z
ifeq 34
28: aload 4
new java.io.File
dup
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
29: new java.lang.StringBuilder
dup
ldc "common"
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 "classes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
30: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
31: aload 3
new java.io.File
dup
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
32: new java.lang.StringBuilder
dup
ldc "common"
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
33: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
34: StackMap locals: java.lang.ClassLoader java.util.List java.util.List
StackMap stack:
getstatic org.apache.catalina.startup.Tool.server:Z
ifeq 41
35: aload 4
new java.io.File
dup
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
36: new java.lang.StringBuilder
dup
ldc "server"
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 "classes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
37: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
38: aload 3
new java.io.File
dup
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
39: new java.lang.StringBuilder
dup
ldc "server"
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
40: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
41: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.startup.Tool.shared:Z
ifeq 48
42: aload 4
new java.io.File
dup
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
43: new java.lang.StringBuilder
dup
ldc "shared"
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 "classes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
44: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
45: aload 3
new java.io.File
dup
getstatic org.apache.catalina.startup.Tool.catalinaHome:Ljava/lang/String;
46: new java.lang.StringBuilder
dup
ldc "shared"
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
47: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
48: StackMap locals:
StackMap stack:
aload 4
iconst_0
anewarray java.io.File
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.io.File[]
49: aload 3
iconst_0
anewarray java.io.File
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.io.File[]
50: aconst_null
51: invokestatic org.apache.catalina.startup.ClassLoaderFactory.createClassLoader:([Ljava/io/File;[Ljava/io/File;Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
52: astore 2
end local 4 end local 3 53: goto 58
StackMap locals: java.lang.String[] int java.lang.ClassLoader
StackMap stack: java.lang.Throwable
54: astore 3
start local 3 55: aload 3
invokestatic org.apache.catalina.startup.Bootstrap.handleThrowable:(Ljava/lang/Throwable;)V
56: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
ldc "Class loader creation threw exception"
aload 3
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
57: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 3 58: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 2
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
59: aconst_null
astore 3
start local 3 60: aload 0
iload 1
iinc 1 1
aaload
astore 4
start local 4 61: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 63
62: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Loading application class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
63: StackMap locals: java.lang.Class java.lang.String
StackMap stack:
aload 2
aload 4
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
64: goto 69
StackMap locals:
StackMap stack: java.lang.Throwable
65: astore 5
start local 5 66: aload 5
invokestatic org.apache.catalina.startup.Bootstrap.handleThrowable:(Ljava/lang/Throwable;)V
67: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Exception creating instance of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
68: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 5 69: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 70: aload 0
arraylength
iload 1
isub
anewarray java.lang.String
astore 6
start local 6 71: aload 0
iload 1
aload 6
iconst_0
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
72: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 74
73: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
ldc "Identifying main() method"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
74: StackMap locals: java.lang.reflect.Method java.lang.String[]
StackMap stack:
ldc "main"
astore 7
start local 7 75: iconst_1
anewarray java.lang.Class
astore 8
start local 8 76: aload 8
iconst_0
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
77: aload 3
aload 7
aload 8
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 5
end local 8 end local 7 78: goto 83
StackMap locals:
StackMap stack: java.lang.Throwable
79: astore 7
start local 7 80: aload 7
invokestatic org.apache.catalina.startup.Bootstrap.handleThrowable:(Ljava/lang/Throwable;)V
81: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
ldc "Exception locating main() method"
aload 7
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
82: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 7 83: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 85
84: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
ldc "Calling main() method"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
85: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Object
astore 7
start local 7 86: aload 7
iconst_0
aload 6
aastore
87: aload 5
aconst_null
aload 7
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 88: goto 94
StackMap locals:
StackMap stack: java.lang.Throwable
89: astore 7
start local 7 90: aload 7
invokestatic org.apache.catalina.startup.Bootstrap.unwrapInvocationTargetException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 7
91: aload 7
invokestatic org.apache.catalina.startup.Bootstrap.handleThrowable:(Ljava/lang/Throwable;)V
92: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
ldc "Exception calling main() method"
aload 7
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
93: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 7 94: StackMap locals:
StackMap stack:
return
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 95 0 args [Ljava/lang/String;
4 95 1 index I
23 95 2 classLoader Ljava/lang/ClassLoader;
24 53 3 packed Ljava/util/List<Ljava/io/File;>;
25 53 4 unpacked Ljava/util/List<Ljava/io/File;>;
55 58 3 t Ljava/lang/Throwable;
60 95 3 clazz Ljava/lang/Class<*>;
61 95 4 className Ljava/lang/String;
66 69 5 t Ljava/lang/Throwable;
70 95 5 method Ljava/lang/reflect/Method;
71 95 6 params [Ljava/lang/String;
75 78 7 methodName Ljava/lang/String;
76 78 8 paramTypes [Ljava/lang/Class;
80 83 7 t Ljava/lang/Throwable;
86 88 7 paramValues [Ljava/lang/Object;
90 94 7 t Ljava/lang/Throwable;
Exception table:
from to target type
23 53 54 Class java.lang.Throwable
61 64 65 Class java.lang.Throwable
72 78 79 Class java.lang.Throwable
83 88 89 Class java.lang.Throwable
MethodParameters:
Name Flags
args
private static void usage();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic org.apache.catalina.startup.Tool.log:Lorg/apache/juli/logging/Log;
ldc "Usage: java org.apache.catalina.startup.Tool [<options>] <class> [<arguments>]"
invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Tool.java"