public final class jdk.dynalink.NamespaceOperation implements jdk.dynalink.Operation
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.dynalink.NamespaceOperation
super_class: java.lang.Object
{
private final jdk.dynalink.Operation baseOperation;
descriptor: Ljdk/dynalink/Operation;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.dynalink.Namespace[] namespaces;
descriptor: [Ljdk/dynalink/Namespace;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(jdk.dynalink.Operation, jdk.dynalink.Namespace[]);
descriptor: (Ljdk/dynalink/Operation;[Ljdk/dynalink/Namespace;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=5, 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
ldc "baseOperation is null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast jdk.dynalink.Operation
putfield jdk.dynalink.NamespaceOperation.baseOperation:Ljdk/dynalink/Operation;
2: aload 1
instanceof jdk.dynalink.NamedOperation
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "baseOperation is a NamedOperation"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: jdk.dynalink.NamespaceOperation jdk.dynalink.Operation jdk.dynalink.Namespace[]
StackMap stack:
aload 1
instanceof jdk.dynalink.NamespaceOperation
ifeq 6
5: new java.lang.IllegalArgumentException
dup
ldc "baseOperation is a NamespaceOperation"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 2
ldc "namespaces array is null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast jdk.dynalink.Namespace[]
invokevirtual jdk.dynalink.Namespace[].clone:()Ljava/lang/Object;
checkcast jdk.dynalink.Namespace[]
putfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
7: aload 2
arraylength
iconst_1
if_icmpge 9
8: new java.lang.IllegalArgumentException
dup
ldc "Must specify at least one namespace"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 10: goto 14
11: StackMap locals: int
StackMap stack:
iload 3
istore 4
start local 4 12: aload 2
iload 3
aaload
iload 4
invokedynamic get(I)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/dynalink/NamespaceOperation.lambda$0(I)Ljava/lang/String; (6)
()Ljava/lang/String;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
pop
end local 4 13: iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
aload 2
arraylength
if_icmplt 11
end local 3 15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/dynalink/NamespaceOperation;
0 16 1 baseOperation Ljdk/dynalink/Operation;
0 16 2 namespaces [Ljdk/dynalink/Namespace;
10 15 3 i I
12 13 4 fi I
MethodParameters:
Name Flags
baseOperation final
namespaces final
public jdk.dynalink.Operation getBaseOperation();
descriptor: ()Ljdk/dynalink/Operation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.dynalink.NamespaceOperation.baseOperation:Ljdk/dynalink/Operation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/NamespaceOperation;
public jdk.dynalink.Namespace[] getNamespaces();
descriptor: ()[Ljdk/dynalink/Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
invokevirtual jdk.dynalink.Namespace[].clone:()Ljava/lang/Object;
checkcast jdk.dynalink.Namespace[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/NamespaceOperation;
public int getNamespaceCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/NamespaceOperation;
public jdk.dynalink.Namespace getNamespace(int);
descriptor: (I)Ljdk/dynalink/Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
iload 1
aaload
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
pop
3: new java.lang.IndexOutOfBoundsException
dup
iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/dynalink/NamespaceOperation;
0 4 1 i I
Exception table:
from to target type
0 1 2 Class java.lang.ArrayIndexOutOfBoundsException
MethodParameters:
Name Flags
i final
public boolean contains(jdk.dynalink.Namespace);
descriptor: (Ljdk/dynalink/Namespace;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: jdk.dynalink.NamespaceOperation jdk.dynalink.Namespace top int int jdk.dynalink.Namespace[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 2
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/dynalink/NamespaceOperation;
0 8 1 namespace Ljdk/dynalink/Namespace;
3 5 2 component Ljdk/dynalink/Namespace;
MethodParameters:
Name Flags
namespace final
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 1
instanceof jdk.dynalink.NamespaceOperation
ifeq 4
1: aload 1
checkcast jdk.dynalink.NamespaceOperation
astore 2
start local 2 2: aload 0
getfield jdk.dynalink.NamespaceOperation.baseOperation:Ljdk/dynalink/Operation;
aload 2
getfield jdk.dynalink.NamespaceOperation.baseOperation:Ljdk/dynalink/Operation;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 3
aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
aload 2
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 3
iconst_1
ireturn
StackMap locals: jdk.dynalink.NamespaceOperation
StackMap stack:
3: iconst_0
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/dynalink/NamespaceOperation;
0 5 1 obj Ljava/lang/Object;
2 4 2 other Ljdk/dynalink/NamespaceOperation;
MethodParameters:
Name Flags
obj final
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.dynalink.NamespaceOperation.baseOperation:Ljdk/dynalink/Operation;
invokevirtual java.lang.Object.hashCode:()I
bipush 31
aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
imul
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/NamespaceOperation;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
getfield jdk.dynalink.NamespaceOperation.baseOperation:Ljdk/dynalink/Operation;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 1
aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
3: iconst_1
istore 2
start local 2 4: goto 7
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
bipush 124
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield jdk.dynalink.NamespaceOperation.namespaces:[Ljdk/dynalink/Namespace;
arraylength
if_icmplt 5
end local 2 8: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/dynalink/NamespaceOperation;
1 9 1 b Ljava/lang/StringBuilder;
4 8 2 i I
public static jdk.dynalink.Operation getBaseOperation(jdk.dynalink.Operation);
descriptor: (Ljdk/dynalink/Operation;)Ljdk/dynalink/Operation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.dynalink.NamespaceOperation
ifeq 1
aload 0
checkcast jdk.dynalink.NamespaceOperation
invokevirtual jdk.dynalink.NamespaceOperation.getBaseOperation:()Ljdk/dynalink/Operation;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: jdk.dynalink.Operation
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 op Ljdk/dynalink/Operation;
MethodParameters:
Name Flags
op final
public static jdk.dynalink.Namespace[] getNamespaces(jdk.dynalink.Operation);
descriptor: (Ljdk/dynalink/Operation;)[Ljdk/dynalink/Namespace;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.dynalink.NamespaceOperation
ifeq 1
aload 0
checkcast jdk.dynalink.NamespaceOperation
invokevirtual jdk.dynalink.NamespaceOperation.getNamespaces:()[Ljdk/dynalink/Namespace;
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
anewarray jdk.dynalink.Namespace
StackMap locals:
StackMap stack: jdk.dynalink.Namespace[]
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 op Ljdk/dynalink/Operation;
MethodParameters:
Name Flags
op final
public static boolean contains(jdk.dynalink.Operation, jdk.dynalink.Operation, jdk.dynalink.Namespace);
descriptor: (Ljdk/dynalink/Operation;Ljdk/dynalink/Operation;Ljdk/dynalink/Namespace;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
instanceof jdk.dynalink.NamespaceOperation
ifeq 4
1: aload 0
checkcast jdk.dynalink.NamespaceOperation
astore 3
start local 3 2: aload 3
getfield jdk.dynalink.NamespaceOperation.baseOperation:Ljdk/dynalink/Operation;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 3
aload 3
aload 2
invokevirtual jdk.dynalink.NamespaceOperation.contains:(Ljdk/dynalink/Namespace;)Z
ifeq 3
iconst_1
ireturn
StackMap locals: jdk.dynalink.NamespaceOperation
StackMap stack:
3: iconst_0
ireturn
end local 3 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 op Ljdk/dynalink/Operation;
0 5 1 baseOperation Ljdk/dynalink/Operation;
0 5 2 namespace Ljdk/dynalink/Namespace;
2 4 3 no Ljdk/dynalink/NamespaceOperation;
MethodParameters:
Name Flags
op final
baseOperation final
namespace final
private static java.lang.String lambda$0(int);
descriptor: (I)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "operations["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] is null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "NamespaceOperation.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles