class org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1 extends org.objectweb.asm.ClassVisitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1
super_class: org.objectweb.asm.ClassVisitor
{
final org.apache.cassandra.cql3.functions.UDFByteCodeVerifier this$0;
descriptor: Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.util.Set val$errors;
descriptor: Ljava/util/Set;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$clsNameSl;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.apache.cassandra.cql3.functions.UDFByteCodeVerifier, int, java.util.Set, java.lang.String);
descriptor: (Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;ILjava/util/Set;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 2 0: aload 0
aload 1
putfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.this$0:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
aload 3
putfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
aload 0
aload 4
putfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$clsNameSl:Ljava/lang/String;
aload 0
iload 2
invokespecial org.objectweb.asm.ClassVisitor.<init>:(I)V
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier$1;
0 1 2 $anonymous0 I
MethodParameters:
Name Flags
this$0 final
$anonymous0
val$errors final
val$clsNameSl final
public org.objectweb.asm.FieldVisitor visitField(int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
new java.lang.StringBuilder
dup
ldc "field declared: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: aconst_null
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 2 0 this Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier$1;
0 2 1 access I
0 2 2 name Ljava/lang/String;
0 2 3 desc Ljava/lang/String;
0 2 4 signature Ljava/lang/String;
0 2 5 value Ljava/lang/Object;
MethodParameters:
Name Flags
access
name
desc
signature
value
public org.objectweb.asm.MethodVisitor visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: ldc "<init>"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
ldc "(Lcom/datastax/driver/core/TypeCodec;[Lcom/datastax/driver/core/TypeCodec;Lorg/apache/cassandra/cql3/functions/UDFContext;)V"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
1: iconst_1
iload 1
if_icmpeq 3
2: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
ldc "constructor not public"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals:
StackMap stack:
new org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ConstructorVisitor
dup
aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
invokespecial org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ConstructorVisitor.<init>:(Ljava/util/Set;)V
areturn
4: StackMap locals:
StackMap stack:
ldc "executeImpl"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
ldc "(Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List;)Ljava/nio/ByteBuffer;"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
5: iconst_4
iload 1
if_icmpeq 7
6: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
ldc "executeImpl not protected"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
new org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ExecuteImplVisitor
dup
aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.this$0:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
invokespecial org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ExecuteImplVisitor.<init>:(Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;Ljava/util/Set;)V
areturn
8: StackMap locals:
StackMap stack:
ldc "executeAggregateImpl"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
ldc "(Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/lang/Object;Ljava/util/List;)Ljava/lang/Object;"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
9: iconst_4
iload 1
if_icmpeq 11
10: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
ldc "executeAggregateImpl not protected"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: StackMap locals:
StackMap stack:
new org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ExecuteImplVisitor
dup
aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.this$0:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
invokespecial org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ExecuteImplVisitor.<init>:(Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;Ljava/util/Set;)V
areturn
12: StackMap locals:
StackMap stack:
ldc "<clinit>"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
ldc "static initializer declared"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
14: goto 17
15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
new java.lang.StringBuilder
dup
ldc "not allowed method declared: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: new org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ExecuteImplVisitor
dup
aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.this$0:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
invokespecial org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ExecuteImplVisitor.<init>:(Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;Ljava/util/Set;)V
areturn
17: StackMap locals:
StackMap stack:
aconst_null
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 18 0 this Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier$1;
0 18 1 access I
0 18 2 name Ljava/lang/String;
0 18 3 desc Ljava/lang/String;
0 18 4 signature Ljava/lang/String;
0 18 5 exceptions [Ljava/lang/String;
MethodParameters:
Name Flags
access
name
desc
signature
exceptions
public void visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
descriptor: (IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.JAVA_UDF_NAME:Ljava/lang/String;
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
new java.lang.StringBuilder
dup
ldc "class does not extend "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/apache/cassandra/cql3/functions/JavaUDF;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
iload 2
bipush 49
if_icmpeq 4
3: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
ldc "class not public final"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
aload 4
aload 5
aload 6
invokespecial org.objectweb.asm.ClassVisitor.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
5: 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 6 0 this Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier$1;
0 6 1 version I
0 6 2 access I
0 6 3 name Ljava/lang/String;
0 6 4 signature Ljava/lang/String;
0 6 5 superName Ljava/lang/String;
0 6 6 interfaces [Ljava/lang/String;
MethodParameters:
Name Flags
version
access
name
signature
superName
interfaces
public void visitInnerClass(java.lang.String, java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$clsNameSl:Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1.val$errors:Ljava/util/Set;
ldc "class declared as inner class"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
invokespecial org.objectweb.asm.ClassVisitor.visitInnerClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier$1;
0 4 1 name Ljava/lang/String;
0 4 2 outerName Ljava/lang/String;
0 4 3 innerName Ljava/lang/String;
0 4 4 access I
MethodParameters:
Name Flags
name
outerName
innerName
access
}
SourceFile: "UDFByteCodeVerifier.java"
EnclosingMethod: org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.verify:(Ljava/lang/String;[B)Ljava/util/Set;
NestHost: org.apache.cassandra.cql3.functions.UDFByteCodeVerifier
InnerClasses:
org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$1
private ConstructorVisitor = org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ConstructorVisitor of org.apache.cassandra.cql3.functions.UDFByteCodeVerifier
private ExecuteImplVisitor = org.apache.cassandra.cql3.functions.UDFByteCodeVerifier$ExecuteImplVisitor of org.apache.cassandra.cql3.functions.UDFByteCodeVerifier