final class org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit implements org.eclipse.jdt.internal.compiler.env.ICompilationUnit, org.eclipse.jdt.internal.compiler.ICompilerRequestor, org.eclipse.jdt.internal.compiler.env.INameEnvironment
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit
  super_class: java.lang.Object
{
  java.util.List<org.eclipse.jdt.core.compiler.IProblem> problemList;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Lorg/eclipse/jdt/core/compiler/IProblem;>;

  private final java.lang.String className;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final char[] sourceCode;
    descriptor: [C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
        start local 1 // java.lang.String sourceCode
        start local 2 // java.lang.String className
         0: .line 490
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 492
            aload 0 /* this */
            aload 2 /* className */
            putfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.className:Ljava/lang/String;
         2: .line 493
            aload 0 /* this */
            aload 1 /* sourceCode */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.sourceCode:[C
         3: .line 494
            return
        end local 2 // java.lang.String className
        end local 1 // java.lang.String sourceCode
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            0    4     1  sourceCode  Ljava/lang/String;
            0    4     2   className  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      sourceCode  
      className   

  public char[] getFileName();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
         0: .line 501
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.sourceCode:[C
            areturn
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;

  public char[] getContents();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
         0: .line 507
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.sourceCode:[C
            areturn
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;

  public char[] getMainTypeName();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
         0: .line 513
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.className:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* dot */
        start local 1 // int dot
         1: .line 514
            iload 1 /* dot */
            ifle 2
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.className:Ljava/lang/String;
            iload 1 /* dot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.className:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: invokevirtual java.lang.String.toCharArray:()[C
            areturn
        end local 1 // int dot
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            1    4     1   dot  I

  public char[][] getPackageName();
    descriptor: ()[[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
         0: .line 520
            new java.util.StringTokenizer
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.className:Ljava/lang/String;
            ldc "."
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* izer */
        start local 1 // java.util.StringTokenizer izer
         1: .line 521
            aload 1 /* izer */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            iconst_1
            isub
            anewarray char[]
            astore 2 /* result */
        start local 2 // char[][] result
         2: .line 522
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 523
      StackMap locals: java.util.StringTokenizer char[][] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 1 /* izer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
         5: .line 522
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* result */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 524
            aload 2 /* result */
            areturn
        end local 2 // char[][] result
        end local 1 // java.util.StringTokenizer izer
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            1    8     1    izer  Ljava/util/StringTokenizer;
            2    8     2  result  [[C
            3    7     3       i  I

  public boolean ignoreOptionalProblems();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
         0: .line 530
            iconst_0
            ireturn
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;

  public void acceptResult(org.eclipse.jdt.internal.compiler.CompilationResult);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/CompilationResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
        start local 1 // org.eclipse.jdt.internal.compiler.CompilationResult result
         0: .line 538
            aload 1 /* result */
            invokevirtual org.eclipse.jdt.internal.compiler.CompilationResult.hasErrors:()Z
            ifeq 6
         1: .line 540
            aload 1 /* result */
            invokevirtual org.eclipse.jdt.internal.compiler.CompilationResult.getProblems:()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
            astore 2 /* problems */
        start local 2 // org.eclipse.jdt.core.compiler.IProblem[] problems
         2: .line 541
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.problemList:Ljava/util/List;
            ifnonnull 4
         3: .line 542
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 2 /* problems */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.problemList:Ljava/util/List;
         4: .line 543
      StackMap locals: org.eclipse.jdt.core.compiler.IProblem[]
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.problemList:Ljava/util/List;
            aload 2 /* problems */
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
        end local 2 // org.eclipse.jdt.core.compiler.IProblem[] problems
         5: .line 544
            goto 12
         6: .line 547
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            invokevirtual org.eclipse.jdt.internal.compiler.CompilationResult.getClassFiles:()[Lorg/eclipse/jdt/internal/compiler/ClassFile;
            astore 2 /* classFiles */
        start local 2 // org.eclipse.jdt.internal.compiler.ClassFile[] classFiles
         7: .line 548
            aload 2 /* classFiles */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 11
      StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.CompilationResult org.eclipse.jdt.internal.compiler.ClassFile[] top int int org.eclipse.jdt.internal.compiler.ClassFile[]
      StackMap stack:
         8: aload 6
            iload 4
            aaload
            astore 3 /* classFile */
        start local 3 // org.eclipse.jdt.internal.compiler.ClassFile classFile
         9: .line 549
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.targetClassLoader:Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjTargetClassLoader;
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.className:Ljava/lang/String;
            aload 3 /* classFile */
            invokevirtual org.eclipse.jdt.internal.compiler.ClassFile.getBytes:()[B
            invokevirtual org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjTargetClassLoader.addClass:(Ljava/lang/String;[B)V
        end local 3 // org.eclipse.jdt.internal.compiler.ClassFile classFile
        10: .line 548
            iinc 4 1
      StackMap locals:
      StackMap stack:
        11: iload 4
            iload 5
            if_icmplt 8
        end local 2 // org.eclipse.jdt.internal.compiler.ClassFile[] classFiles
        12: .line 551
      StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.CompilationResult
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.compiler.CompilationResult result
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            0   13     1      result  Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            2    5     2    problems  [Lorg/eclipse/jdt/core/compiler/IProblem;
            7   12     2  classFiles  [Lorg/eclipse/jdt/internal/compiler/ClassFile;
            9   10     3   classFile  Lorg/eclipse/jdt/internal/compiler/ClassFile;
    MethodParameters:
        Name  Flags
      result  

  public org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findType(char[][]);
    descriptor: ([[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
        start local 1 // char[][] compoundTypeName
         0: .line 558
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* result */
        start local 2 // java.lang.StringBuilder result
         1: .line 559
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 561
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 3 /* i */
            ifle 5
         4: .line 562
            aload 2 /* result */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 563
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            aload 1 /* compoundTypeName */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
            pop
         6: .line 559
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* compoundTypeName */
            arraylength
            if_icmplt 3
        end local 3 // int i
         8: .line 565
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.findType:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
            areturn
        end local 2 // java.lang.StringBuilder result
        end local 1 // char[][] compoundTypeName
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            0    9     1  compoundTypeName  [[C
            1    9     2            result  Ljava/lang/StringBuilder;
            2    8     3                 i  I
    MethodParameters:
                  Name  Flags
      compoundTypeName  

  public org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findType(char[], char[][]);
    descriptor: ([C[[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
        start local 1 // char[] typeName
        start local 2 // char[][] packageName
         0: .line 571
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* result */
        start local 3 // java.lang.StringBuilder result
         1: .line 572
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: .line 573
            goto 7
         3: .line 575
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            ifle 5
         4: .line 576
            aload 3 /* result */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 577
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 2 /* packageName */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
            pop
         6: .line 573
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 2 /* packageName */
            arraylength
            if_icmplt 3
         8: .line 579
            iload 4 /* i */
            ifle 10
         9: .line 580
            aload 3 /* result */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 581
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 1 /* typeName */
            invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
            pop
        11: .line 582
            aload 0 /* this */
            aload 3 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.findType:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
            areturn
        end local 4 // int i
        end local 3 // java.lang.StringBuilder result
        end local 2 // char[][] packageName
        end local 1 // char[] typeName
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            0   12     1     typeName  [C
            0   12     2  packageName  [[C
            1   12     3       result  Ljava/lang/StringBuilder;
            2   12     4            i  I
    MethodParameters:
             Name  Flags
      typeName     
      packageName  

  private org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
        start local 1 // java.lang.String className
         0: .line 587
            aload 1 /* className */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.className:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 589
            new org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer
            dup
            aload 0 /* this */
            aconst_null
            invokespecial org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer.<init>:(Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;)V
            areturn
         2: .line 592
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* className */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* resourceName */
        start local 2 // java.lang.String resourceName
         3: .line 594
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: getstatic org.apache.cassandra.cql3.functions.UDFunction.udfClassLoader:Ljava/lang/ClassLoader;
            aload 2 /* resourceName */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 5 /* is */
        start local 5 // java.io.InputStream is
         5: .line 596
            aload 5 /* is */
            ifnull 12
         6: .line 598
            aload 5 /* is */
            invokestatic com.google.common.io.ByteStreams.toByteArray:(Ljava/io/InputStream;)[B
            astore 6 /* classBytes */
        start local 6 // byte[] classBytes
         7: .line 599
            aload 1 /* className */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 7 /* fileName */
        start local 7 // char[] fileName
         8: .line 600
            new org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
            dup
            aload 6 /* classBytes */
            aload 7 /* fileName */
            iconst_1
            invokespecial org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>:([B[CZ)V
            astore 8 /* classFileReader */
        start local 8 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader classFileReader
         9: .line 601
            new org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer
            dup
            aload 8 /* classFileReader */
            aconst_null
            invokespecial org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer.<init>:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;)V
        10: .line 603
            aload 5 /* is */
            ifnull 11
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
        11: .line 601
      StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStream byte[] char[] org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
      StackMap stack: org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer
            areturn
        end local 8 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader classFileReader
        end local 7 // char[] fileName
        end local 6 // byte[] classBytes
        12: .line 603
      StackMap locals:
      StackMap stack:
            aload 5 /* is */
            ifnull 20
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 5 /* is */
            ifnull 14
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 4
            aload 3
            ifnonnull 16
            aload 4
            astore 3
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 3
            aload 4
            if_acmpeq 17
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
        18: .line 604
      StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit java.lang.String java.lang.String
      StackMap stack: java.lang.Exception
            astore 3 /* exc */
        start local 3 // java.lang.Exception exc
        19: .line 606
            new java.lang.RuntimeException
            dup
            aload 3 /* exc */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception exc
        20: .line 608
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String resourceName
        end local 1 // java.lang.String className
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            0   21     1        className  Ljava/lang/String;
            3   21     2     resourceName  Ljava/lang/String;
            5   14     5               is  Ljava/io/InputStream;
            7   12     6       classBytes  [B
            8   12     7         fileName  [C
            9   12     8  classFileReader  Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
           19   20     3              exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5    10      13  any
           4    11      15  any
          12    15      15  any
           3    11      18  Class java.io.IOException
          12    18      18  Class java.io.IOException
           3    11      18  Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
          12    18      18  Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
    MethodParameters:
           Name  Flags
      className  

  private boolean isPackage(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
        start local 1 // java.lang.String result
         0: .line 613
            aload 1 /* result */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.className:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 614
            iconst_0
            ireturn
         2: .line 615
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* result */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* resourceName */
        start local 2 // java.lang.String resourceName
         3: .line 616
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: getstatic org.apache.cassandra.cql3.functions.UDFunction.udfClassLoader:Ljava/lang/ClassLoader;
            aload 2 /* resourceName */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 5 /* is */
        start local 5 // java.io.InputStream is
         5: .line 618
            aload 5 /* is */
            ifnonnull 6
            iconst_1
            goto 7
      StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack:
         6: iconst_0
         7: .line 619
      StackMap locals:
      StackMap stack: int
            aload 5 /* is */
            ifnull 8
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
         8: .line 618
      StackMap locals:
      StackMap stack: int
            ireturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
        10: .line 619
            aload 5 /* is */
            ifnull 11
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        15: .line 620
      StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit java.lang.String java.lang.String
      StackMap stack: java.io.IOException
            pop
        16: .line 623
            iconst_0
            ireturn
        end local 2 // java.lang.String resourceName
        end local 1 // java.lang.String result
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            0   17     1        result  Ljava/lang/String;
            3   17     2  resourceName  Ljava/lang/String;
            5   11     5            is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           5     7       9  any
           4     8      12  any
           9    12      12  any
           3     8      15  Class java.io.IOException
           9    15      15  Class java.io.IOException
    MethodParameters:
        Name  Flags
      result  

  public boolean isPackage(char[][], char[]);
    descriptor: ([[C[C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
        start local 1 // char[][] parentPackageName
        start local 2 // char[] packageName
         0: .line 630
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* result */
        start local 3 // java.lang.StringBuilder result
         1: .line 631
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: .line 632
            aload 1 /* parentPackageName */
            ifnull 9
         3: .line 633
            goto 8
         4: .line 635
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            ifle 6
         5: .line 636
            aload 3 /* result */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 637
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 1 /* parentPackageName */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
            pop
         7: .line 633
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 1 /* parentPackageName */
            arraylength
            if_icmplt 4
         9: .line 640
      StackMap locals:
      StackMap stack:
            aload 2 /* packageName */
            iconst_0
            caload
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 11
            aload 0 /* this */
            aload 3 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.isPackage:(Ljava/lang/String;)Z
            ifne 11
        10: .line 641
            iconst_0
            ireturn
        11: .line 642
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifle 13
        12: .line 643
            aload 3 /* result */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 644
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 2 /* packageName */
            invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
            pop
        14: .line 646
            aload 0 /* this */
            aload 3 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.isPackage:(Ljava/lang/String;)Z
            ireturn
        end local 4 // int i
        end local 3 // java.lang.StringBuilder result
        end local 2 // char[] packageName
        end local 1 // char[][] parentPackageName
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
            0   15     1  parentPackageName  [[C
            0   15     2        packageName  [C
            1   15     3             result  Ljava/lang/StringBuilder;
            2   15     4                  i  I
    MethodParameters:
                   Name  Flags
      parentPackageName  
      packageName        

  public void cleanup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
         0: .line 652
            return
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
}
SourceFile: "JavaBasedUDFunction.java"
NestHost: org.apache.cassandra.cql3.functions.JavaBasedUDFunction
InnerClasses:
  final EcjCompilationUnit = org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit of org.apache.cassandra.cql3.functions.JavaBasedUDFunction
  final EcjTargetClassLoader = org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjTargetClassLoader of org.apache.cassandra.cql3.functions.JavaBasedUDFunction