class com.sun.tools.internal.xjc.ClassLoaderBuilder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.internal.xjc.ClassLoaderBuilder
super_class: java.lang.Object
{
private static java.lang.String[] maskedPackages;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] toolPackages;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final boolean noHack;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_5
anewarray java.lang.String
dup
iconst_0
1: ldc "com.sun.tools."
aastore
dup
iconst_1
2: ldc "com.sun.codemodel.internal."
aastore
dup
iconst_2
3: ldc "com.sun.relaxng."
aastore
dup
iconst_3
4: ldc "com.sun.xml.internal.xsom."
aastore
dup
iconst_4
5: ldc "com.sun.xml.internal.bind."
aastore
6: putstatic com.sun.tools.internal.xjc.ClassLoaderBuilder.maskedPackages:[Ljava/lang/String;
7: iconst_4
anewarray java.lang.String
dup
iconst_0
8: ldc "com.sun.tools."
aastore
dup
iconst_1
9: ldc "com.sun.codemodel.internal."
aastore
dup
iconst_2
10: ldc "com.sun.relaxng."
aastore
dup
iconst_3
11: ldc "com.sun.xml.internal.xsom."
aastore
12: putstatic com.sun.tools.internal.xjc.ClassLoaderBuilder.toolPackages:[Ljava/lang/String;
13: new java.lang.StringBuilder
dup
ldc Lcom/sun/tools/internal/xjc/XJCFacade;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".nohack"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic com.sun.tools.internal.xjc.ClassLoaderBuilder.noHack:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
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/internal/xjc/ClassLoaderBuilder;
protected static java.lang.ClassLoader createProtectiveClassLoader(java.lang.ClassLoader, java.lang.String);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/ClassLoader;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.sun.tools.internal.xjc.ClassLoaderBuilder.noHack:Z
ifeq 1
aload 0
areturn
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: ldc Ljavax/xml/bind/JAXBContext;
invokestatic com.sun.tools.internal.xjc.SecureLoader.getClassClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
ifnonnull 11
3: iconst_1
istore 2
4: new java.util.ArrayList
dup
getstatic com.sun.tools.internal.xjc.ClassLoaderBuilder.maskedPackages:[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 5: aload 3
ldc "javax.xml.bind."
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: new com.sun.istack.internal.tools.MaskingClassLoader
dup
aload 0
aload 3
invokespecial com.sun.istack.internal.tools.MaskingClassLoader.<init>:(Ljava/lang/ClassLoader;Ljava/util/Collection;)V
astore 0
7: aload 0
ldc "javax/xml/bind/JAXBPermission.class"
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 4
start local 4 8: aload 4
ifnonnull 10
9: new java.lang.ClassNotFoundException
dup
ldc "There's no JAXB 2.2 API in the classpath"
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: int java.util.List java.net.URL
StackMap stack:
new java.net.URLClassLoader
dup
iconst_1
anewarray java.net.URL
dup
iconst_0
aload 4
invokestatic com.sun.istack.internal.tools.ParallelWorldClassLoader.toJarUrl:(Ljava/net/URL;)Ljava/net/URL;
aastore
aload 0
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;Ljava/lang/ClassLoader;)V
astore 0
end local 4 end local 3 11: StackMap locals:
StackMap stack:
ldc "1.0"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
12: iload 2
ifne 14
13: new com.sun.istack.internal.tools.MaskingClassLoader
dup
aload 0
getstatic com.sun.tools.internal.xjc.ClassLoaderBuilder.toolPackages:[Ljava/lang/String;
invokespecial com.sun.istack.internal.tools.MaskingClassLoader.<init>:(Ljava/lang/ClassLoader;[Ljava/lang/String;)V
astore 0
14: StackMap locals:
StackMap stack:
new com.sun.istack.internal.tools.ParallelWorldClassLoader
dup
aload 0
ldc "1.0/"
invokespecial com.sun.istack.internal.tools.ParallelWorldClassLoader.<init>:(Ljava/lang/ClassLoader;Ljava/lang/String;)V
astore 0
15: goto 18
16: StackMap locals:
StackMap stack:
iload 2
ifeq 18
17: new com.sun.istack.internal.tools.ParallelWorldClassLoader
dup
aload 0
ldc ""
invokespecial com.sun.istack.internal.tools.ParallelWorldClassLoader.<init>:(Ljava/lang/ClassLoader;Ljava/lang/String;)V
astore 0
18: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 cl Ljava/lang/ClassLoader;
0 19 1 v Ljava/lang/String;
2 19 2 mustang Z
5 11 3 mask Ljava/util/List<Ljava/lang/String;>;
8 11 4 apiUrl Ljava/net/URL;
Exceptions:
throws java.lang.ClassNotFoundException, java.net.MalformedURLException
MethodParameters:
Name Flags
cl
v
}
SourceFile: "ClassLoaderBuilder.java"