public abstract class org.jruby.ir.passes.CompilerPass
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.ir.passes.CompilerPass
super_class: java.lang.Object
{
static final org.jruby.util.log.Logger LOG;
descriptor: Lorg/jruby/util/log/Logger;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final java.util.List<java.lang.Class<? extends org.jruby.ir.passes.CompilerPass>> NO_DEPENDENCIES;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Class<+Lorg/jruby/ir/passes/CompilerPass;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/jruby/ir/passes/CompilerPass;
invokestatic org.jruby.util.log.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/jruby/util/log/Logger;
putstatic org.jruby.ir.passes.CompilerPass.LOG:Lorg/jruby/util/log/Logger;
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putstatic org.jruby.ir.passes.CompilerPass.NO_DEPENDENCIES:Ljava/util/List;
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/jruby/ir/passes/CompilerPass;
public abstract java.lang.String getLabel();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public java.lang.String getShortLabel();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.passes.CompilerPass.getLabel:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/passes/CompilerPass;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.passes.CompilerPass.getLabel:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/passes/CompilerPass;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
instanceof org.jruby.ir.passes.CompilerPass
ifeq 1
aload 0
invokevirtual org.jruby.ir.passes.CompilerPass.getLabel:()Ljava/lang/String;
aload 1
checkcast org.jruby.ir.passes.CompilerPass
invokevirtual org.jruby.ir.passes.CompilerPass.getLabel:()Ljava/lang/String;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/passes/CompilerPass;
0 2 1 other Ljava/lang/Object;
MethodParameters:
Name Flags
other
public abstract java.lang.Object execute(org.jruby.ir.interpreter.FullInterpreterContext, java.lang.Object[]);
descriptor: (Lorg/jruby/ir/interpreter/FullInterpreterContext;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
MethodParameters:
Name Flags
fic
dependencyData
public java.util.List<java.lang.Class<? extends org.jruby.ir.passes.CompilerPass>> getDependencies();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.jruby.ir.passes.CompilerPass.NO_DEPENDENCIES:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/passes/CompilerPass;
Signature: ()Ljava/util/List<Ljava/lang/Class<+Lorg/jruby/ir/passes/CompilerPass;>;>;
public java.lang.Object previouslyRun(org.jruby.ir.interpreter.FullInterpreterContext);
descriptor: (Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getExecutedPasses:()Ljava/util/List;
aload 0
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/passes/CompilerPass;
0 3 1 fic Lorg/jruby/ir/interpreter/FullInterpreterContext;
MethodParameters:
Name Flags
fic
public boolean invalidate(org.jruby.ir.interpreter.FullInterpreterContext);
descriptor: (Lorg/jruby/ir/interpreter/FullInterpreterContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getExecutedPasses:()Ljava/util/List;
aload 0
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/passes/CompilerPass;
0 2 1 fic Lorg/jruby/ir/interpreter/FullInterpreterContext;
MethodParameters:
Name Flags
fic
protected java.lang.Object run(org.jruby.ir.interpreter.FullInterpreterContext, boolean, boolean);
descriptor: (Lorg/jruby/ir/interpreter/FullInterpreterContext;ZZ)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: iload 2
ifne 3
aload 0
aload 1
invokevirtual org.jruby.ir.passes.CompilerPass.previouslyRun:(Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/lang/Object;
dup
astore 4
ifnull 3
2: aload 4
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual org.jruby.ir.passes.CompilerPass.getDependencies:()Ljava/util/List;
astore 5
start local 5 4: aload 5
invokeinterface java.util.List.size:()I
anewarray java.lang.Object
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 9
7: StackMap locals: java.util.List java.lang.Object[] int
StackMap stack:
aload 6
iload 7
aload 0
aload 5
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Class
aload 1
iload 3
invokevirtual org.jruby.ir.passes.CompilerPass.makeSureDependencyHasRunOnce:(Ljava/lang/Class;Lorg/jruby/ir/interpreter/FullInterpreterContext;Z)Ljava/lang/Object;
aastore
8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
aload 6
arraylength
if_icmplt 7
end local 7 10: aload 1
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getListeners:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 13
StackMap locals: org.jruby.ir.passes.CompilerPass org.jruby.ir.interpreter.FullInterpreterContext int int java.lang.Object java.util.List java.lang.Object[] top java.util.Iterator
StackMap stack:
11: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.passes.CompilerPassListener
astore 7
start local 7 12: aload 7
aload 0
aload 1
iload 3
invokeinterface org.jruby.ir.passes.CompilerPassListener.startExecute:(Lorg/jruby/ir/passes/CompilerPass;Lorg/jruby/ir/interpreter/FullInterpreterContext;Z)V
end local 7 13: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 1
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getExecutedPasses:()Ljava/util/List;
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 0
aload 1
aload 6
invokevirtual org.jruby.ir.passes.CompilerPass.execute:(Lorg/jruby/ir/interpreter/FullInterpreterContext;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 16: aload 1
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getListeners:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 19
StackMap locals: org.jruby.ir.passes.CompilerPass org.jruby.ir.interpreter.FullInterpreterContext int int java.lang.Object java.util.List java.lang.Object[] java.lang.Object top java.util.Iterator
StackMap stack:
17: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.passes.CompilerPassListener
astore 8
start local 8 18: aload 8
aload 0
aload 1
aload 7
iload 3
invokeinterface org.jruby.ir.passes.CompilerPassListener.endExecute:(Lorg/jruby/ir/passes/CompilerPass;Lorg/jruby/ir/interpreter/FullInterpreterContext;Ljava/lang/Object;Z)V
end local 8 19: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: aload 7
areturn
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 21 0 this Lorg/jruby/ir/passes/CompilerPass;
0 21 1 fic Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 21 2 force Z
0 21 3 childScope Z
1 21 4 prevData Ljava/lang/Object;
4 21 5 dependencies Ljava/util/List<Ljava/lang/Class<+Lorg/jruby/ir/passes/CompilerPass;>;>;
5 21 6 data [Ljava/lang/Object;
6 10 7 i I
12 13 7 listener Lorg/jruby/ir/passes/CompilerPassListener;
16 21 7 passData Ljava/lang/Object;
18 19 8 listener Lorg/jruby/ir/passes/CompilerPassListener;
MethodParameters:
Name Flags
fic
force
childScope
public java.lang.Object run(org.jruby.ir.interpreter.FullInterpreterContext, boolean);
descriptor: (Lorg/jruby/ir/interpreter/FullInterpreterContext;Z)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_0
invokevirtual org.jruby.ir.passes.CompilerPass.run:(Lorg/jruby/ir/interpreter/FullInterpreterContext;ZZ)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/passes/CompilerPass;
0 1 1 fic Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 1 2 force Z
MethodParameters:
Name Flags
fic
force
public java.lang.Object run(org.jruby.ir.interpreter.FullInterpreterContext);
descriptor: (Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_0
invokevirtual org.jruby.ir.passes.CompilerPass.run:(Lorg/jruby/ir/interpreter/FullInterpreterContext;ZZ)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/passes/CompilerPass;
0 1 1 fic Lorg/jruby/ir/interpreter/FullInterpreterContext;
MethodParameters:
Name Flags
fic
private makeSureDependencyHasRunOnce(java.lang.Class<? extends org.jruby.ir.passes.CompilerPass>, org.jruby.ir.interpreter.FullInterpreterContext, boolean);
descriptor: (Ljava/lang/Class;Lorg/jruby/ir/interpreter/FullInterpreterContext;Z)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.jruby.ir.passes.CompilerPass.createPassInstance:(Ljava/lang/Class;)Lorg/jruby/ir/passes/CompilerPass;
astore 4
start local 4 1: aload 4
aload 2
invokevirtual org.jruby.ir.passes.CompilerPass.previouslyRun:(Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/lang/Object;
astore 5
start local 5 2: aload 5
ifnonnull 5
3: aload 4
aload 2
iconst_0
iload 3
invokevirtual org.jruby.ir.passes.CompilerPass.run:(Lorg/jruby/ir/interpreter/FullInterpreterContext;ZZ)Ljava/lang/Object;
astore 5
4: goto 9
5: StackMap locals: org.jruby.ir.passes.CompilerPass java.lang.Object
StackMap stack:
aload 2
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
invokevirtual org.jruby.ir.IRManager.getListeners:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 8
StackMap locals: org.jruby.ir.passes.CompilerPass java.lang.Class org.jruby.ir.interpreter.FullInterpreterContext int org.jruby.ir.passes.CompilerPass java.lang.Object top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.passes.CompilerPassListener
astore 6
start local 6 7: aload 6
aload 4
aload 2
aload 5
iload 3
invokeinterface org.jruby.ir.passes.CompilerPassListener.alreadyExecuted:(Lorg/jruby/ir/passes/CompilerPass;Lorg/jruby/ir/interpreter/FullInterpreterContext;Ljava/lang/Object;Z)V
end local 6 8: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: StackMap locals: org.jruby.ir.passes.CompilerPass java.lang.Class org.jruby.ir.interpreter.FullInterpreterContext int org.jruby.ir.passes.CompilerPass java.lang.Object
StackMap stack:
aload 5
areturn
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 10 0 this Lorg/jruby/ir/passes/CompilerPass;
0 10 1 passClass Ljava/lang/Class<+Lorg/jruby/ir/passes/CompilerPass;>;
0 10 2 fic Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 10 3 childScope Z
1 10 4 pass Lorg/jruby/ir/passes/CompilerPass;
2 10 5 data Ljava/lang/Object;
7 8 6 listener Lorg/jruby/ir/passes/CompilerPassListener;
Signature: (Ljava/lang/Class<+Lorg/jruby/ir/passes/CompilerPass;>;Lorg/jruby/ir/interpreter/FullInterpreterContext;Z)Ljava/lang/Object;
MethodParameters:
Name Flags
passClass
fic
childScope
public static org.jruby.ir.passes.CompilerPass createPassInstance(java.lang.Class<? extends org.jruby.ir.passes.CompilerPass>);
descriptor: (Ljava/lang/Class;)Lorg/jruby/ir/passes/CompilerPass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.ir.passes.CompilerPass
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 3: getstatic org.jruby.ir.passes.CompilerPass.LOG:Lorg/jruby/util/log/Logger;
new java.lang.StringBuilder
dup
ldc "failed to create compiler pass: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokeinterface org.jruby.util.log.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 4: goto 7
5: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 6: getstatic org.jruby.ir.passes.CompilerPass.LOG:Lorg/jruby/util/log/Logger;
new java.lang.StringBuilder
dup
ldc "failed to create compiler pass: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokeinterface org.jruby.util.log.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 passClass Ljava/lang/Class<+Lorg/jruby/ir/passes/CompilerPass;>;
3 4 1 ex Ljava/lang/Exception;
6 7 1 ex Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
0 1 2 Class java.lang.IllegalAccessException
0 1 2 Class java.lang.IllegalArgumentException
0 1 5 Class java.lang.InstantiationException
0 1 5 Class java.lang.reflect.InvocationTargetException
0 1 5 Class java.lang.SecurityException
Signature: (Ljava/lang/Class<+Lorg/jruby/ir/passes/CompilerPass;>;)Lorg/jruby/ir/passes/CompilerPass;
MethodParameters:
Name Flags
passClass
public static org.jruby.ir.passes.CompilerPass createPassInstance(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/ir/passes/CompilerPass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "org.jruby.ir.passes."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 2: aload 2
invokestatic org.jruby.ir.passes.CompilerPass.createPassInstance:(Ljava/lang/Class;)Lorg/jruby/ir/passes/CompilerPass;
3: areturn
end local 2 4: StackMap locals: java.lang.String java.lang.String
StackMap stack: java.lang.ClassNotFoundException
pop
5: getstatic org.jruby.ir.passes.CompilerPass.LOG:Lorg/jruby/util/log/Logger;
new java.lang.StringBuilder
dup
ldc "skipping unknown compiler pass name: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokeinterface org.jruby.util.log.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 passClassName Ljava/lang/String;
1 7 1 className Ljava/lang/String;
2 4 2 clazz Ljava/lang/Class<+Lorg/jruby/ir/passes/CompilerPass;>;
Exception table:
from to target type
1 3 4 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
passClassName
public static java.util.List<org.jruby.ir.passes.CompilerPass> getPassesFromString(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
aload 1
astore 0
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifne 11
2: aload 0
bipush 44
invokestatic org.jruby.util.StringSupport.split:(Ljava/lang/String;C)Ljava/util/List;
astore 3
start local 3 3: new java.util.ArrayList
dup
aload 3
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 4: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: java.lang.String java.lang.String java.util.List java.util.List top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifne 9
7: aload 4
invokestatic org.jruby.ir.passes.CompilerPass.createPassInstance:(Ljava/lang/String;)Lorg/jruby/ir/passes/CompilerPass;
astore 6
start local 6 8: aload 6
ifnull 9
aload 2
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 3 10: goto 12
end local 2 11: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 12: StackMap locals: java.util.List
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 passList Ljava/lang/String;
0 13 1 defaultPassList Ljava/lang/String;
4 11 2 passes Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;
12 13 2 passes Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;
3 10 3 split Ljava/util/List<Ljava/lang/String;>;
6 9 4 passClassName Ljava/lang/String;
8 9 6 pass Lorg/jruby/ir/passes/CompilerPass;
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;
MethodParameters:
Name Flags
passList
defaultPassList
}
SourceFile: "CompilerPass.java"