public class org.eclipse.jdt.core.dom.CompilationUnit extends org.eclipse.jdt.core.dom.ASTNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.core.dom.CompilationUnit
  super_class: org.eclipse.jdt.core.dom.ASTNode
{
  private static final org.eclipse.jdt.core.dom.Message[] EMPTY_MESSAGES;
    descriptor: [Lorg/eclipse/jdt/core/dom/Message;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.eclipse.jdt.core.compiler.IProblem[] EMPTY_PROBLEMS;
    descriptor: [Lorg/eclipse/jdt/core/compiler/IProblem;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.eclipse.jdt.core.dom.ChildListPropertyDescriptor IMPORTS_PROPERTY;
    descriptor: Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.eclipse.jdt.core.dom.ChildPropertyDescriptor PACKAGE_PROPERTY;
    descriptor: Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.eclipse.jdt.core.dom.ChildPropertyDescriptor MODULE_PROPERTY;
    descriptor: Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.util.List PROPERTY_DESCRIPTORS;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.List PROPERTY_DESCRIPTORS_9_0;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.eclipse.jdt.core.dom.ChildListPropertyDescriptor TYPES_PROPERTY;
    descriptor: Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private org.eclipse.jdt.core.dom.DefaultCommentMapper commentMapper;
    descriptor: Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.ITypeRoot typeRoot;
    descriptor: Lorg/eclipse/jdt/core/ITypeRoot;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.dom.ASTNode$NodeList imports;
    descriptor: Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
    flags: (0x0002) ACC_PRIVATE

  private int[] lineEndTable;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.dom.Message[] messages;
    descriptor: [Lorg/eclipse/jdt/core/dom/Message;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List optionalCommentList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

  org.eclipse.jdt.core.dom.Comment[] optionalCommentTable;
    descriptor: [Lorg/eclipse/jdt/core/dom/Comment;
    flags: (0x0000) 

  private org.eclipse.jdt.core.dom.PackageDeclaration optionalPackageDeclaration;
    descriptor: Lorg/eclipse/jdt/core/dom/PackageDeclaration;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.dom.ModuleDeclaration module;
    descriptor: Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.compiler.IProblem[] problems;
    descriptor: [Lorg/eclipse/jdt/core/compiler/IProblem;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object statementsRecoveryData;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.core.dom.ASTNode$NodeList types;
    descriptor: Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=1, args_size=0
         0: .line 64
            iconst_0
            anewarray org.eclipse.jdt.core.dom.Message
            putstatic org.eclipse.jdt.core.dom.CompilationUnit.EMPTY_MESSAGES:[Lorg/eclipse/jdt/core/dom/Message;
         1: .line 69
            iconst_0
            anewarray org.eclipse.jdt.core.compiler.IProblem
            putstatic org.eclipse.jdt.core.dom.CompilationUnit.EMPTY_PROBLEMS:[Lorg/eclipse/jdt/core/compiler/IProblem;
         2: .line 77
            new org.eclipse.jdt.core.dom.ChildListPropertyDescriptor
            dup
            ldc Lorg/eclipse/jdt/core/dom/CompilationUnit;
            ldc "imports"
            ldc Lorg/eclipse/jdt/core/dom/ImportDeclaration;
            iconst_0
            invokespecial org.eclipse.jdt.core.dom.ChildListPropertyDescriptor.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Z)V
         3: .line 76
            putstatic org.eclipse.jdt.core.dom.CompilationUnit.IMPORTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
         4: .line 85
            new org.eclipse.jdt.core.dom.ChildPropertyDescriptor
            dup
            ldc Lorg/eclipse/jdt/core/dom/CompilationUnit;
            ldc "package"
            ldc Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            iconst_0
            iconst_0
            invokespecial org.eclipse.jdt.core.dom.ChildPropertyDescriptor.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;ZZ)V
         5: .line 84
            putstatic org.eclipse.jdt.core.dom.CompilationUnit.PACKAGE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
         6: .line 93
            new org.eclipse.jdt.core.dom.ChildPropertyDescriptor
            dup
            ldc Lorg/eclipse/jdt/core/dom/CompilationUnit;
            ldc "module"
            ldc Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            iconst_0
            iconst_0
            invokespecial org.eclipse.jdt.core.dom.ChildPropertyDescriptor.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;ZZ)V
         7: .line 92
            putstatic org.eclipse.jdt.core.dom.CompilationUnit.MODULE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
         8: .line 117
            new org.eclipse.jdt.core.dom.ChildListPropertyDescriptor
            dup
            ldc Lorg/eclipse/jdt/core/dom/CompilationUnit;
            ldc "types"
            ldc Lorg/eclipse/jdt/core/dom/AbstractTypeDeclaration;
            iconst_1
            invokespecial org.eclipse.jdt.core.dom.ChildListPropertyDescriptor.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Z)V
         9: .line 116
            putstatic org.eclipse.jdt.core.dom.CompilationUnit.TYPES_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
        10: .line 120
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 0 /* properyList */
        start local 0 // java.util.List properyList
        11: .line 121
            ldc Lorg/eclipse/jdt/core/dom/CompilationUnit;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.createPropertyList:(Ljava/lang/Class;Ljava/util/List;)V
        12: .line 122
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.PACKAGE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.addProperty:(Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/util/List;)V
        13: .line 123
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.IMPORTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.addProperty:(Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/util/List;)V
        14: .line 124
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.TYPES_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.addProperty:(Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/util/List;)V
        15: .line 125
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.reapPropertyList:(Ljava/util/List;)Ljava/util/List;
            putstatic org.eclipse.jdt.core.dom.CompilationUnit.PROPERTY_DESCRIPTORS:Ljava/util/List;
        16: .line 127
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 0 /* properyList */
        17: .line 128
            ldc Lorg/eclipse/jdt/core/dom/CompilationUnit;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.createPropertyList:(Ljava/lang/Class;Ljava/util/List;)V
        18: .line 129
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.PACKAGE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.addProperty:(Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/util/List;)V
        19: .line 130
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.IMPORTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.addProperty:(Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/util/List;)V
        20: .line 131
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.TYPES_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.addProperty:(Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/util/List;)V
        21: .line 132
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.MODULE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.addProperty:(Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;Ljava/util/List;)V
        22: .line 133
            aload 0 /* properyList */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.reapPropertyList:(Ljava/util/List;)Ljava/util/List;
            putstatic org.eclipse.jdt.core.dom.CompilationUnit.PROPERTY_DESCRIPTORS_9_0:Ljava/util/List;
        end local 0 // java.util.List properyList
        23: .line 134
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
           11   23     0  properyList  Ljava/util/List;

  public static java.util.List propertyDescriptors(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int apiLevel
         0: .line 148
            iload 0 /* apiLevel */
            bipush 9
            if_icmpge 2
         1: .line 149
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.PROPERTY_DESCRIPTORS:Ljava/util/List;
            areturn
         2: .line 151
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.PROPERTY_DESCRIPTORS_9_0:Ljava/util/List;
            areturn
        end local 0 // int apiLevel
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  apiLevel  I
    MethodParameters:
          Name  Flags
      apiLevel  

  void <init>(org.eclipse.jdt.core.dom.AST);
    descriptor: (Lorg/eclipse/jdt/core/dom/AST;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.AST ast
         0: .line 245
            aload 0 /* this */
            aload 1 /* ast */
            invokespecial org.eclipse.jdt.core.dom.ASTNode.<init>:(Lorg/eclipse/jdt/core/dom/AST;)V
         1: .line 159
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
         2: .line 165
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.CompilationUnit.typeRoot:Lorg/eclipse/jdt/core/ITypeRoot;
         3: .line 171
            aload 0 /* this */
         4: .line 172
            new org.eclipse.jdt.core.dom.ASTNode$NodeList
            dup
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.IMPORTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            invokespecial org.eclipse.jdt.core.dom.ASTNode$NodeList.<init>:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;)V
            putfield org.eclipse.jdt.core.dom.CompilationUnit.imports:Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
         5: .line 182
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.util.Util.EMPTY_INT_ARRAY:[I
            putfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
         6: .line 194
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentList:Ljava/util/List;
         7: .line 202
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentTable:[Lorg/eclipse/jdt/core/dom/Comment;
         8: .line 208
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.CompilationUnit.optionalPackageDeclaration:Lorg/eclipse/jdt/core/dom/PackageDeclaration;
         9: .line 214
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.CompilationUnit.module:Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
        10: .line 218
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.EMPTY_PROBLEMS:[Lorg/eclipse/jdt/core/compiler/IProblem;
            putfield org.eclipse.jdt.core.dom.CompilationUnit.problems:[Lorg/eclipse/jdt/core/compiler/IProblem;
        11: .line 229
            aload 0 /* this */
        12: .line 230
            new org.eclipse.jdt.core.dom.ASTNode$NodeList
            dup
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.TYPES_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            invokespecial org.eclipse.jdt.core.dom.ASTNode$NodeList.<init>:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;)V
            putfield org.eclipse.jdt.core.dom.CompilationUnit.types:Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
        13: .line 246
            return
        end local 1 // org.eclipse.jdt.core.dom.AST ast
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   14     1   ast  Lorg/eclipse/jdt/core/dom/AST;
    MethodParameters:
      Name  Flags
      ast   

  void accept0(org.eclipse.jdt.core.dom.ASTVisitor);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTVisitor;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ASTVisitor visitor
         0: .line 250
            aload 1 /* visitor */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.ASTVisitor.visit:(Lorg/eclipse/jdt/core/dom/CompilationUnit;)Z
            istore 2 /* visitChildren */
        start local 2 // boolean visitChildren
         1: .line 251
            iload 2 /* visitChildren */
            ifeq 7
         2: .line 253
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.ast:Lorg/eclipse/jdt/core/dom/AST;
            getfield org.eclipse.jdt.core.dom.AST.apiLevel:I
            bipush 9
            if_icmplt 4
         3: .line 254
            aload 0 /* this */
            aload 1 /* visitor */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getModule:()Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.acceptChild:(Lorg/eclipse/jdt/core/dom/ASTVisitor;Lorg/eclipse/jdt/core/dom/ASTNode;)V
         4: .line 256
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* visitor */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getPackage:()Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.acceptChild:(Lorg/eclipse/jdt/core/dom/ASTVisitor;Lorg/eclipse/jdt/core/dom/ASTNode;)V
         5: .line 257
            aload 0 /* this */
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.imports:Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.acceptChildren:(Lorg/eclipse/jdt/core/dom/ASTVisitor;Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;)V
         6: .line 258
            aload 0 /* this */
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.types:Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.acceptChildren:(Lorg/eclipse/jdt/core/dom/ASTVisitor;Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;)V
         7: .line 260
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.ASTVisitor.endVisit:(Lorg/eclipse/jdt/core/dom/CompilationUnit;)V
         8: .line 261
            return
        end local 2 // boolean visitChildren
        end local 1 // org.eclipse.jdt.core.dom.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    9     1        visitor  Lorg/eclipse/jdt/core/dom/ASTVisitor;
            1    9     2  visitChildren  Z
    MethodParameters:
         Name  Flags
      visitor  

  org.eclipse.jdt.core.dom.ASTNode clone0(org.eclipse.jdt.core.dom.AST);
    descriptor: (Lorg/eclipse/jdt/core/dom/AST;)Lorg/eclipse/jdt/core/dom/ASTNode;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.AST target
         0: .line 265
            new org.eclipse.jdt.core.dom.CompilationUnit
            dup
            aload 1 /* target */
            invokespecial org.eclipse.jdt.core.dom.CompilationUnit.<init>:(Lorg/eclipse/jdt/core/dom/AST;)V
            astore 2 /* result */
        start local 2 // org.eclipse.jdt.core.dom.CompilationUnit result
         1: .line 267
            aload 2 /* result */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getStartPosition:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLength:()I
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.setSourceRange:(II)V
         2: .line 268
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.ast:Lorg/eclipse/jdt/core/dom/AST;
            getfield org.eclipse.jdt.core.dom.AST.apiLevel:I
            bipush 9
            if_icmplt 4
         3: .line 269
            aload 2 /* result */
            aload 1 /* target */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getModule:()Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            invokestatic org.eclipse.jdt.core.dom.ASTNode.copySubtree:(Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.ModuleDeclaration
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.setModule:(Lorg/eclipse/jdt/core/dom/ModuleDeclaration;)V
         4: .line 271
      StackMap locals: org.eclipse.jdt.core.dom.CompilationUnit
      StackMap stack:
            aload 2 /* result */
         5: .line 272
            aload 1 /* target */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getPackage:()Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            invokestatic org.eclipse.jdt.core.dom.ASTNode.copySubtree:(Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.PackageDeclaration
         6: .line 271
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.setPackage:(Lorg/eclipse/jdt/core/dom/PackageDeclaration;)V
         7: .line 273
            aload 2 /* result */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.imports:()Ljava/util/List;
            aload 1 /* target */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.imports:()Ljava/util/List;
            invokestatic org.eclipse.jdt.core.dom.ASTNode.copySubtrees:(Lorg/eclipse/jdt/core/dom/AST;Ljava/util/List;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 274
            aload 2 /* result */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.types:()Ljava/util/List;
            aload 1 /* target */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.types:()Ljava/util/List;
            invokestatic org.eclipse.jdt.core.dom.ASTNode.copySubtrees:(Lorg/eclipse/jdt/core/dom/AST;Ljava/util/List;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 275
            aload 2 /* result */
            areturn
        end local 2 // org.eclipse.jdt.core.dom.CompilationUnit result
        end local 1 // org.eclipse.jdt.core.dom.AST target
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   10     1  target  Lorg/eclipse/jdt/core/dom/AST;
            1   10     2  result  Lorg/eclipse/jdt/core/dom/CompilationUnit;
    MethodParameters:
        Name  Flags
      target  

  public int getColumnNumber(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // int position
         0: .line 295
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            ifnonnull 1
            bipush -2
            ireturn
         1: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* position */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLineNumber:(I)I
            istore 2 /* line */
        start local 2 // int line
         2: .line 297
            iload 2 /* line */
            iconst_m1
            if_icmpne 4
         3: .line 298
            iconst_m1
            ireturn
         4: .line 300
      StackMap locals: int
      StackMap stack:
            iload 2 /* line */
            iconst_1
            if_icmpne 7
         5: .line 301
            iload 1 /* position */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getStartPosition:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLength:()I
            iadd
            if_icmplt 6
            iconst_m1
            ireturn
         6: .line 302
      StackMap locals:
      StackMap stack:
            iload 1 /* position */
            ireturn
         7: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            arraylength
            istore 3 /* length */
        start local 3 // int length
         8: .line 308
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            iload 2 /* line */
            iconst_2
            isub
            iaload
            istore 4 /* previousLineOffset */
        start local 4 // int previousLineOffset
         9: .line 310
            iload 4 /* previousLineOffset */
            iconst_1
            iadd
            istore 5 /* offsetForLine */
        start local 5 // int offsetForLine
        10: .line 311
            iload 2 /* line */
            iload 3 /* length */
            iconst_1
            iadd
            if_icmpne 11
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getStartPosition:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLength:()I
            iadd
            iconst_1
            isub
            goto 12
      StackMap locals: int int int
      StackMap stack:
        11: aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            iload 2 /* line */
            iconst_1
            isub
            iaload
      StackMap locals:
      StackMap stack: int
        12: istore 6 /* currentLineEnd */
        start local 6 // int currentLineEnd
        13: .line 312
            iload 5 /* offsetForLine */
            iload 6 /* currentLineEnd */
            if_icmple 15
        14: .line 313
            iconst_m1
            ireturn
        15: .line 315
      StackMap locals: int
      StackMap stack:
            iload 1 /* position */
            iload 5 /* offsetForLine */
            isub
            ireturn
        end local 6 // int currentLineEnd
        end local 5 // int offsetForLine
        end local 4 // int previousLineOffset
        end local 3 // int length
        end local 2 // int line
        end local 1 // int position
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   16     1            position  I
            2   16     2                line  I
            8   16     3              length  I
            9   16     4  previousLineOffset  I
           10   16     5       offsetForLine  I
           13   16     6      currentLineEnd  I
    MethodParameters:
          Name  Flags
      position  final

  public org.eclipse.jdt.core.dom.ASTNode findDeclaringNode(org.eclipse.jdt.core.dom.IBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/IBinding;)Lorg/eclipse/jdt/core/dom/ASTNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.IBinding binding
         0: .line 373
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.ast:Lorg/eclipse/jdt/core/dom/AST;
            invokevirtual org.eclipse.jdt.core.dom.AST.getBindingResolver:()Lorg/eclipse/jdt/core/dom/BindingResolver;
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.core.dom.BindingResolver.findDeclaringNode:(Lorg/eclipse/jdt/core/dom/IBinding;)Lorg/eclipse/jdt/core/dom/ASTNode;
            areturn
        end local 1 // org.eclipse.jdt.core.dom.IBinding binding
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    1     1  binding  Lorg/eclipse/jdt/core/dom/IBinding;
    MethodParameters:
         Name  Flags
      binding  

  public org.eclipse.jdt.core.dom.ASTNode findDeclaringNode(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/ASTNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // java.lang.String key
         0: .line 421
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.ast:Lorg/eclipse/jdt/core/dom/AST;
            invokevirtual org.eclipse.jdt.core.dom.AST.getBindingResolver:()Lorg/eclipse/jdt/core/dom/BindingResolver;
            aload 1 /* key */
            invokevirtual org.eclipse.jdt.core.dom.BindingResolver.findDeclaringNode:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/ASTNode;
            areturn
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public java.util.List getCommentList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 473
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentList:Ljava/util/List;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  org.eclipse.jdt.core.dom.DefaultCommentMapper getCommentMapper();
    descriptor: ()Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 483
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public int getExtendedLength(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 499
            aload 1 /* node */
            ifnonnull 2
         1: .line 500
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            ifnull 3
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            if_acmpeq 4
         3: .line 504
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getLength:()I
            ireturn
         4: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.DefaultCommentMapper.getExtendedLength:(Lorg/eclipse/jdt/core/dom/ASTNode;)I
            ireturn
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    5     1  node  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
      Name  Flags
      node  

  public int getExtendedStartPosition(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 523
            aload 1 /* node */
            ifnonnull 2
         1: .line 524
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            ifnull 3
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            if_acmpeq 4
         3: .line 528
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getStartPosition:()I
            ireturn
         4: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.DefaultCommentMapper.getExtendedStartPosition:(Lorg/eclipse/jdt/core/dom/ASTNode;)I
            ireturn
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    5     1  node  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
      Name  Flags
      node  

  public org.eclipse.jdt.core.IJavaElement getJavaElement();
    descriptor: ()Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 543
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.typeRoot:Lorg/eclipse/jdt/core/ITypeRoot;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public org.eclipse.jdt.core.dom.Message[] getMessages();
    descriptor: ()[Lorg/eclipse/jdt/core/dom/Message;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 562
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.messages:[Lorg/eclipse/jdt/core/dom/Message;
            ifnonnull 14
         1: .line 563
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.problems:[Lorg/eclipse/jdt/core/compiler/IProblem;
            arraylength
            istore 1 /* problemLength */
        start local 1 // int problemLength
         2: .line 564
            iload 1 /* problemLength */
            ifne 5
         3: .line 565
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.EMPTY_MESSAGES:[Lorg/eclipse/jdt/core/dom/Message;
            putfield org.eclipse.jdt.core.dom.CompilationUnit.messages:[Lorg/eclipse/jdt/core/dom/Message;
         4: .line 566
            goto 14
         5: .line 567
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* problemLength */
            anewarray org.eclipse.jdt.core.dom.Message
            putfield org.eclipse.jdt.core.dom.CompilationUnit.messages:[Lorg/eclipse/jdt/core/dom/Message;
         6: .line 568
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 13
         8: .line 569
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.problems:[Lorg/eclipse/jdt/core/compiler/IProblem;
            iload 2 /* i */
            aaload
            astore 3 /* problem */
        start local 3 // org.eclipse.jdt.core.compiler.IProblem problem
         9: .line 570
            aload 3 /* problem */
            invokeinterface org.eclipse.jdt.core.compiler.IProblem.getSourceStart:()I
            istore 4 /* start */
        start local 4 // int start
        10: .line 571
            aload 3 /* problem */
            invokeinterface org.eclipse.jdt.core.compiler.IProblem.getSourceEnd:()I
            istore 5 /* end */
        start local 5 // int end
        11: .line 572
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.messages:[Lorg/eclipse/jdt/core/dom/Message;
            iload 2 /* i */
            new org.eclipse.jdt.core.dom.Message
            dup
            aload 3 /* problem */
            invokeinterface org.eclipse.jdt.core.compiler.IProblem.getMessage:()Ljava/lang/String;
            iload 4 /* start */
            iload 5 /* end */
            iload 4 /* start */
            isub
            iconst_1
            iadd
            invokespecial org.eclipse.jdt.core.dom.Message.<init>:(Ljava/lang/String;II)V
            aastore
        end local 5 // int end
        end local 4 // int start
        end local 3 // org.eclipse.jdt.core.compiler.IProblem problem
        12: .line 568
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            iload 1 /* problemLength */
            if_icmplt 8
        end local 2 // int i
        end local 1 // int problemLength
        14: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.messages:[Lorg/eclipse/jdt/core/dom/Message;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            2   14     1  problemLength  I
            7   14     2              i  I
            9   12     3        problem  Lorg/eclipse/jdt/core/compiler/IProblem;
           10   12     4          start  I
           11   12     5            end  I

  final int getNodeType0();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 581
            bipush 15
            ireturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public org.eclipse.jdt.core.dom.ModuleDeclaration getModule();
    descriptor: ()Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 593
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.unsupportedBelow9:()V
         1: .line 594
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.module:Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public org.eclipse.jdt.core.dom.PackageDeclaration getPackage();
    descriptor: ()Lorg/eclipse/jdt/core/dom/PackageDeclaration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 605
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalPackageDeclaration:Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public int getPosition(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // int line
        start local 2 // int column
         0: .line 627
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            ifnonnull 1
            bipush -2
            ireturn
         1: .line 628
      StackMap locals:
      StackMap stack:
            iload 1 /* line */
            iconst_1
            if_icmplt 2
            iload 2 /* column */
            ifge 3
      StackMap locals:
      StackMap stack:
         2: iconst_m1
            ireturn
         3: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            arraylength
            dup
            istore 3 /* length */
        start local 3 // int length
         4: ifne 9
         5: .line 631
            iload 1 /* line */
            iconst_1
            if_icmpeq 6
            iconst_m1
            ireturn
         6: .line 632
      StackMap locals: int
      StackMap stack:
            iload 2 /* column */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getStartPosition:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLength:()I
            iadd
            if_icmplt 7
            iconst_m1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iload 2 /* column */
      StackMap locals:
      StackMap stack: int
         8: ireturn
         9: .line 634
      StackMap locals:
      StackMap stack:
            iload 1 /* line */
            iconst_1
            if_icmpne 14
        10: .line 635
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            iconst_0
            iaload
            istore 4 /* endOfLine */
        start local 4 // int endOfLine
        11: .line 636
            iload 2 /* column */
            iload 4 /* endOfLine */
            if_icmple 12
            iconst_m1
            goto 13
      StackMap locals: int
      StackMap stack:
        12: iload 2 /* column */
      StackMap locals:
      StackMap stack: int
        13: ireturn
        end local 4 // int endOfLine
        14: .line 637
      StackMap locals:
      StackMap stack:
            iload 1 /* line */
            iload 3 /* length */
            iconst_1
            iadd
            if_icmple 16
        15: .line 639
            iconst_m1
            ireturn
        16: .line 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            iload 1 /* line */
            iconst_2
            isub
            iaload
            istore 4 /* previousLineOffset */
        start local 4 // int previousLineOffset
        17: .line 645
            iload 4 /* previousLineOffset */
            iconst_1
            iadd
            istore 5 /* offsetForLine */
        start local 5 // int offsetForLine
        18: .line 646
            iload 1 /* line */
            iload 3 /* length */
            iconst_1
            iadd
            if_icmpne 19
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getStartPosition:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLength:()I
            iadd
            iconst_1
            isub
            goto 20
      StackMap locals: int int
      StackMap stack:
        19: aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            iload 1 /* line */
            iconst_1
            isub
            iaload
      StackMap locals:
      StackMap stack: int
        20: istore 6 /* currentLineEnd */
        start local 6 // int currentLineEnd
        21: .line 647
            iload 5 /* offsetForLine */
            iload 2 /* column */
            iadd
            iload 6 /* currentLineEnd */
            if_icmple 23
        22: .line 648
            iconst_m1
            ireturn
        23: .line 650
      StackMap locals: int
      StackMap stack:
            iload 5 /* offsetForLine */
            iload 2 /* column */
            iadd
            ireturn
        end local 6 // int currentLineEnd
        end local 5 // int offsetForLine
        end local 4 // int previousLineOffset
        end local 3 // int length
        end local 2 // int column
        end local 1 // int line
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   24     0                this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   24     1                line  I
            0   24     2              column  I
            4   24     3              length  I
           11   14     4           endOfLine  I
           17   24     4  previousLineOffset  I
           18   24     5       offsetForLine  I
           21   24     6      currentLineEnd  I
    MethodParameters:
        Name  Flags
      line    
      column  

  public org.eclipse.jdt.core.compiler.IProblem[] getProblems();
    descriptor: ()[Lorg/eclipse/jdt/core/compiler/IProblem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 670
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.problems:[Lorg/eclipse/jdt/core/compiler/IProblem;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public java.lang.Object getStatementsRecoveryData();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 684
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.statementsRecoveryData:Ljava/lang/Object;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public org.eclipse.jdt.core.ITypeRoot getTypeRoot();
    descriptor: ()Lorg/eclipse/jdt/core/ITypeRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 695
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.typeRoot:Lorg/eclipse/jdt/core/ITypeRoot;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public java.util.List imports();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 706
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.imports:Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public int firstLeadingCommentIndex(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 719
            aload 1 /* node */
            ifnonnull 2
         1: .line 720
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            ifnull 3
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            if_acmpeq 4
         3: .line 723
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         4: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.DefaultCommentMapper.firstLeadingCommentIndex:(Lorg/eclipse/jdt/core/dom/ASTNode;)I
            ireturn
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    5     1  node  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
      Name  Flags
      node  

  public int lastTrailingCommentIndex(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 738
            aload 1 /* node */
            ifnonnull 2
         1: .line 739
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            ifnull 3
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            if_acmpeq 4
         3: .line 742
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         4: .line 744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            aload 1 /* node */
            invokevirtual org.eclipse.jdt.core.dom.DefaultCommentMapper.lastTrailingCommentIndex:(Lorg/eclipse/jdt/core/dom/ASTNode;)I
            ireturn
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    5     1  node  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
      Name  Flags
      node  

  void initCommentMapper(org.eclipse.jdt.internal.compiler.parser.Scanner);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/parser/Scanner;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.internal.compiler.parser.Scanner scanner
         0: .line 755
            aload 0 /* this */
            new org.eclipse.jdt.core.dom.DefaultCommentMapper
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentTable:[Lorg/eclipse/jdt/core/dom/Comment;
            invokespecial org.eclipse.jdt.core.dom.DefaultCommentMapper.<init>:([Lorg/eclipse/jdt/core/dom/Comment;)V
            putfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
         1: .line 756
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.commentMapper:Lorg/eclipse/jdt/core/dom/DefaultCommentMapper;
            aload 0 /* this */
            aload 1 /* scanner */
            invokevirtual org.eclipse.jdt.core.dom.DefaultCommentMapper.initialize:(Lorg/eclipse/jdt/core/dom/CompilationUnit;Lorg/eclipse/jdt/internal/compiler/parser/Scanner;)V
         2: .line 757
            return
        end local 1 // org.eclipse.jdt.internal.compiler.parser.Scanner scanner
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    3     1  scanner  Lorg/eclipse/jdt/internal/compiler/parser/Scanner;
    MethodParameters:
         Name  Flags
      scanner  

  final java.util.List internalGetChildListProperty(org.eclipse.jdt.core.dom.ChildListPropertyDescriptor);
    descriptor: (Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;)Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ChildListPropertyDescriptor property
         0: .line 761
            aload 1 /* property */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.IMPORTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            if_acmpne 2
         1: .line 762
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.imports:()Ljava/util/List;
            areturn
         2: .line 764
      StackMap locals:
      StackMap stack:
            aload 1 /* property */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.TYPES_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            if_acmpne 4
         3: .line 765
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.types:()Ljava/util/List;
            areturn
         4: .line 768
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* property */
            invokespecial org.eclipse.jdt.core.dom.ASTNode.internalGetChildListProperty:(Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;)Ljava/util/List;
            areturn
        end local 1 // org.eclipse.jdt.core.dom.ChildListPropertyDescriptor property
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    5     1  property  Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
    MethodParameters:
          Name  Flags
      property  

  final org.eclipse.jdt.core.dom.ASTNode internalGetSetChildProperty(org.eclipse.jdt.core.dom.ChildPropertyDescriptor, boolean, org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;ZLorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/dom/ASTNode;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ChildPropertyDescriptor property
        start local 2 // boolean get
        start local 3 // org.eclipse.jdt.core.dom.ASTNode child
         0: .line 773
            aload 1 /* property */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.MODULE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            if_acmpne 5
         1: .line 774
            iload 2 /* get */
            ifeq 3
         2: .line 775
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getModule:()Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            areturn
         3: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* child */
            checkcast org.eclipse.jdt.core.dom.ModuleDeclaration
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.setModule:(Lorg/eclipse/jdt/core/dom/ModuleDeclaration;)V
         4: .line 778
            aconst_null
            areturn
         5: .line 781
      StackMap locals:
      StackMap stack:
            aload 1 /* property */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.PACKAGE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            if_acmpne 10
         6: .line 782
            iload 2 /* get */
            ifeq 8
         7: .line 783
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getPackage:()Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            areturn
         8: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* child */
            checkcast org.eclipse.jdt.core.dom.PackageDeclaration
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.setPackage:(Lorg/eclipse/jdt/core/dom/PackageDeclaration;)V
         9: .line 786
            aconst_null
            areturn
        10: .line 790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* property */
            iload 2 /* get */
            aload 3 /* child */
            invokespecial org.eclipse.jdt.core.dom.ASTNode.internalGetSetChildProperty:(Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;ZLorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/dom/ASTNode;
            areturn
        end local 3 // org.eclipse.jdt.core.dom.ASTNode child
        end local 2 // boolean get
        end local 1 // org.eclipse.jdt.core.dom.ChildPropertyDescriptor property
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   11     1  property  Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            0   11     2       get  Z
            0   11     3     child  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
          Name  Flags
      property  
      get       
      child     

  final java.util.List internalStructuralPropertiesForType(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // int apiLevel
         0: .line 795
            iload 1 /* apiLevel */
            invokestatic org.eclipse.jdt.core.dom.CompilationUnit.propertyDescriptors:(I)Ljava/util/List;
            areturn
        end local 1 // int apiLevel
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    1     1  apiLevel  I
    MethodParameters:
          Name  Flags
      apiLevel  

  public int lineNumber(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // int position
         0: .line 821
            aload 0 /* this */
            iload 1 /* position */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLineNumber:(I)I
            istore 2 /* lineNumber */
        start local 2 // int lineNumber
         1: .line 822
            iload 2 /* lineNumber */
            iconst_1
            if_icmpge 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iload 2 /* lineNumber */
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // int lineNumber
        end local 1 // int position
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    4     1    position  I
            1    4     2  lineNumber  I
    MethodParameters:
          Name  Flags
      position  

  public int getLineNumber(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // int position
         0: .line 847
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            ifnonnull 1
            bipush -2
            ireturn
         1: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            arraylength
            dup
            istore 2 /* length */
        start local 2 // int length
         2: ifne 6
         3: .line 850
            iload 1 /* position */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getStartPosition:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLength:()I
            iadd
            if_icmplt 5
         4: .line 851
            iconst_m1
            ireturn
         5: .line 853
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
         6: .line 855
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* low */
        start local 3 // int low
         7: .line 856
            iload 1 /* position */
            ifge 9
         8: .line 858
            iconst_m1
            ireturn
         9: .line 860
      StackMap locals: int
      StackMap stack:
            iload 1 /* position */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            iload 3 /* low */
            iaload
            if_icmpgt 11
        10: .line 862
            iconst_1
            ireturn
        11: .line 865
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            iconst_1
            isub
            istore 4 /* hi */
        start local 4 // int hi
        12: .line 866
            iload 1 /* position */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            iload 4 /* hi */
            iaload
            if_icmple 16
        13: .line 868
            iload 1 /* position */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getStartPosition:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getLength:()I
            iadd
            if_icmplt 15
        14: .line 870
            iconst_m1
            ireturn
        15: .line 872
      StackMap locals: int
      StackMap stack:
            iload 2 /* length */
            iconst_1
            iadd
            ireturn
        16: .line 883
      StackMap locals:
      StackMap stack:
            iload 3 /* low */
            iconst_1
            iadd
            iload 4 /* hi */
            if_icmpne 18
        17: .line 886
            iload 3 /* low */
            iconst_2
            iadd
            ireturn
        18: .line 889
      StackMap locals:
      StackMap stack:
            iload 3 /* low */
            iload 4 /* hi */
            iload 3 /* low */
            isub
            iconst_2
            idiv
            iadd
            istore 5 /* mid */
        start local 5 // int mid
        19: .line 891
            iload 1 /* position */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            iload 5 /* mid */
            iaload
            if_icmpgt 22
        20: .line 894
            iload 5 /* mid */
            istore 4 /* hi */
        21: .line 895
            goto 16
        22: .line 899
      StackMap locals: int
      StackMap stack:
            iload 5 /* mid */
            istore 3 /* low */
        end local 5 // int mid
        23: .line 879
            goto 16
        end local 4 // int hi
        end local 3 // int low
        end local 2 // int length
        end local 1 // int position
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   24     1  position  I
            2   24     2    length  I
            7   24     3       low  I
           12   24     4        hi  I
           19   23     5       mid  I
    MethodParameters:
          Name  Flags
      position  

  int memSize();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 907
            bipush 72
            istore 1 /* size */
        start local 1 // int size
         1: .line 908
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            ifnull 3
         2: .line 909
            iload 1 /* size */
            bipush 12
            iconst_4
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
            arraylength
            imul
            iadd
            iadd
            istore 1 /* size */
         3: .line 911
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentTable:[Lorg/eclipse/jdt/core/dom/Comment;
            ifnull 5
         4: .line 912
            iload 1 /* size */
            bipush 12
            iconst_4
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentTable:[Lorg/eclipse/jdt/core/dom/Comment;
            arraylength
            imul
            iadd
            iadd
            istore 1 /* size */
         5: .line 915
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            ireturn
        end local 1 // int size
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            1    6     1  size  I

  public void recordModifications();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 946
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.AST.recordModifications:(Lorg/eclipse/jdt/core/dom/CompilationUnit;)V
         1: .line 947
            return
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;

  public org.eclipse.text.edits.TextEdit rewrite(org.eclipse.jface.text.IDocument, java.util.Map);
    descriptor: (Lorg/eclipse/jface/text/IDocument;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jface.text.IDocument document
        start local 2 // java.util.Map options
         0: .line 986
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            aload 1 /* document */
            aload 2 /* options */
            invokevirtual org.eclipse.jdt.core.dom.AST.rewrite:(Lorg/eclipse/jface/text/IDocument;Ljava/util/Map;)Lorg/eclipse/text/edits/TextEdit;
            areturn
        end local 2 // java.util.Map options
        end local 1 // org.eclipse.jface.text.IDocument document
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    1     1  document  Lorg/eclipse/jface/text/IDocument;
            0    1     2   options  Ljava/util/Map;
    MethodParameters:
          Name  Flags
      document  
      options   

  void setCommentTable(org.eclipse.jdt.core.dom.Comment[]);
    descriptor: ([Lorg/eclipse/jdt/core/dom/Comment;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.Comment[] commentTable
         0: .line 1005
            aload 1 /* commentTable */
            ifnonnull 4
         1: .line 1006
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentList:Ljava/util/List;
         2: .line 1007
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentTable:[Lorg/eclipse/jdt/core/dom/Comment;
         3: .line 1008
            goto 20
         4: .line 1009
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* nextAvailablePosition */
        start local 2 // int nextAvailablePosition
         5: .line 1010
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 16
         7: .line 1011
      StackMap locals: int int
      StackMap stack:
            aload 1 /* commentTable */
            iload 3 /* i */
            aaload
            astore 4 /* comment */
        start local 4 // org.eclipse.jdt.core.dom.Comment comment
         8: .line 1012
            aload 4 /* comment */
            ifnonnull 10
         9: .line 1013
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        10: .line 1015
      StackMap locals: org.eclipse.jdt.core.dom.Comment
      StackMap stack:
            aload 4 /* comment */
            invokevirtual org.eclipse.jdt.core.dom.Comment.getStartPosition:()I
            istore 5 /* start */
        start local 5 // int start
        11: .line 1016
            aload 4 /* comment */
            invokevirtual org.eclipse.jdt.core.dom.Comment.getLength:()I
            istore 6 /* length */
        start local 6 // int length
        12: .line 1017
            iload 5 /* start */
            iflt 13
            iload 6 /* length */
            iflt 13
            iload 5 /* start */
            iload 2 /* nextAvailablePosition */
            if_icmpge 14
        13: .line 1018
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        14: .line 1020
      StackMap locals:
      StackMap stack:
            aload 4 /* comment */
            invokevirtual org.eclipse.jdt.core.dom.Comment.getStartPosition:()I
            aload 4 /* comment */
            invokevirtual org.eclipse.jdt.core.dom.Comment.getLength:()I
            iadd
            istore 2 /* nextAvailablePosition */
        end local 6 // int length
        end local 5 // int start
        end local 4 // org.eclipse.jdt.core.dom.Comment comment
        15: .line 1010
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            aload 1 /* commentTable */
            arraylength
            if_icmplt 7
        end local 3 // int i
        17: .line 1022
            aload 0 /* this */
            aload 1 /* commentTable */
            putfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentTable:[Lorg/eclipse/jdt/core/dom/Comment;
        18: .line 1023
            aload 1 /* commentTable */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 3 /* commentList */
        start local 3 // java.util.List commentList
        19: .line 1025
            aload 0 /* this */
            aload 3 /* commentList */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentList:Ljava/util/List;
        end local 3 // java.util.List commentList
        end local 2 // int nextAvailablePosition
        20: .line 1027
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.core.dom.Comment[] commentTable
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   21     0                   this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   21     1           commentTable  [Lorg/eclipse/jdt/core/dom/Comment;
            5   20     2  nextAvailablePosition  I
            6   17     3                      i  I
            8   15     4                comment  Lorg/eclipse/jdt/core/dom/Comment;
           11   15     5                  start  I
           12   15     6                 length  I
           19   20     3            commentList  Ljava/util/List;
    MethodParameters:
              Name  Flags
      commentTable  

  void setTypeRoot(org.eclipse.jdt.core.ITypeRoot);
    descriptor: (Lorg/eclipse/jdt/core/ITypeRoot;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.ITypeRoot typeRoot
         0: .line 1036
            aload 0 /* this */
            aload 1 /* typeRoot */
            putfield org.eclipse.jdt.core.dom.CompilationUnit.typeRoot:Lorg/eclipse/jdt/core/ITypeRoot;
         1: .line 1037
            return
        end local 1 // org.eclipse.jdt.core.ITypeRoot typeRoot
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    2     1  typeRoot  Lorg/eclipse/jdt/core/ITypeRoot;
    MethodParameters:
          Name  Flags
      typeRoot  

  void setLineEndTable(int[]);
    descriptor: ([I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // int[] lineEndTable
         0: .line 1050
            aload 1 /* lineEndTable */
            ifnonnull 2
         1: .line 1051
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 1055
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.checkModifiable:()V
         3: .line 1056
            aload 0 /* this */
            aload 1 /* lineEndTable */
            putfield org.eclipse.jdt.core.dom.CompilationUnit.lineEndTable:[I
         4: .line 1057
            return
        end local 1 // int[] lineEndTable
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    5     1  lineEndTable  [I
    MethodParameters:
              Name  Flags
      lineEndTable  

  public void setModule(org.eclipse.jdt.core.dom.ModuleDeclaration);
    descriptor: (Lorg/eclipse/jdt/core/dom/ModuleDeclaration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ModuleDeclaration module
         0: .line 1074
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.unsupportedBelow9:()V
         1: .line 1075
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.module:Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            astore 2 /* oldChild */
        start local 2 // org.eclipse.jdt.core.dom.ASTNode oldChild
         2: .line 1076
            aload 0 /* this */
            aload 2 /* oldChild */
            aload 1 /* module */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.MODULE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.preReplaceChild:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;)V
         3: .line 1077
            aload 0 /* this */
            aload 1 /* module */
            putfield org.eclipse.jdt.core.dom.CompilationUnit.module:Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
         4: .line 1078
            aload 0 /* this */
            aload 2 /* oldChild */
            aload 1 /* module */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.MODULE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.postReplaceChild:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;)V
         5: .line 1079
            return
        end local 2 // org.eclipse.jdt.core.dom.ASTNode oldChild
        end local 1 // org.eclipse.jdt.core.dom.ModuleDeclaration module
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    6     1    module  Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            2    6     2  oldChild  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
        Name  Flags
      module  

  public void setPackage(org.eclipse.jdt.core.dom.PackageDeclaration);
    descriptor: (Lorg/eclipse/jdt/core/dom/PackageDeclaration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.PackageDeclaration pkgDecl
         0: .line 1095
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalPackageDeclaration:Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            astore 2 /* oldChild */
        start local 2 // org.eclipse.jdt.core.dom.ASTNode oldChild
         1: .line 1096
            aload 0 /* this */
            aload 2 /* oldChild */
            aload 1 /* pkgDecl */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.PACKAGE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.preReplaceChild:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;)V
         2: .line 1097
            aload 0 /* this */
            aload 1 /* pkgDecl */
            putfield org.eclipse.jdt.core.dom.CompilationUnit.optionalPackageDeclaration:Lorg/eclipse/jdt/core/dom/PackageDeclaration;
         3: .line 1098
            aload 0 /* this */
            aload 2 /* oldChild */
            aload 1 /* pkgDecl */
            getstatic org.eclipse.jdt.core.dom.CompilationUnit.PACKAGE_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.postReplaceChild:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ChildPropertyDescriptor;)V
         4: .line 1099
            return
        end local 2 // org.eclipse.jdt.core.dom.ASTNode oldChild
        end local 1 // org.eclipse.jdt.core.dom.PackageDeclaration pkgDecl
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    5     1   pkgDecl  Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            1    5     2  oldChild  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
         Name  Flags
      pkgDecl  

  void setProblems(org.eclipse.jdt.core.compiler.IProblem[]);
    descriptor: ([Lorg/eclipse/jdt/core/compiler/IProblem;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.compiler.IProblem[] problems
         0: .line 1109
            aload 1 /* problems */
            ifnonnull 2
         1: .line 1110
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 1112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* problems */
            putfield org.eclipse.jdt.core.dom.CompilationUnit.problems:[Lorg/eclipse/jdt/core/compiler/IProblem;
         3: .line 1113
            return
        end local 1 // org.eclipse.jdt.core.compiler.IProblem[] problems
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    4     1  problems  [Lorg/eclipse/jdt/core/compiler/IProblem;
    MethodParameters:
          Name  Flags
      problems  

  void setStatementsRecoveryData(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // java.lang.Object data
         0: .line 1124
            aload 0 /* this */
            aload 1 /* data */
            putfield org.eclipse.jdt.core.dom.CompilationUnit.statementsRecoveryData:Ljava/lang/Object;
         1: .line 1125
            return
        end local 1 // java.lang.Object data
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    2     1  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      data  

  final boolean subtreeMatch0(org.eclipse.jdt.core.dom.ASTMatcher, java.lang.Object);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTMatcher;Ljava/lang/Object;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
        start local 1 // org.eclipse.jdt.core.dom.ASTMatcher matcher
        start local 2 // java.lang.Object other
         0: .line 1130
            aload 1 /* matcher */
            aload 0 /* this */
            aload 2 /* other */
            invokevirtual org.eclipse.jdt.core.dom.ASTMatcher.match:(Lorg/eclipse/jdt/core/dom/CompilationUnit;Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.Object other
        end local 1 // org.eclipse.jdt.core.dom.ASTMatcher matcher
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    1     1  matcher  Lorg/eclipse/jdt/core/dom/ASTMatcher;
            0    1     2    other  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      matcher  
      other    

  int treeSize();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 1135
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.memSize:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 1136
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.module:Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            ifnull 3
         2: .line 1137
            iload 1 /* size */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getModule:()Lorg/eclipse/jdt/core/dom/ModuleDeclaration;
            invokevirtual org.eclipse.jdt.core.dom.ModuleDeclaration.treeSize:()I
            iadd
            istore 1 /* size */
         3: .line 1139
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalPackageDeclaration:Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            ifnull 5
         4: .line 1140
            iload 1 /* size */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getPackage:()Lorg/eclipse/jdt/core/dom/PackageDeclaration;
            invokevirtual org.eclipse.jdt.core.dom.PackageDeclaration.treeSize:()I
            iadd
            istore 1 /* size */
         5: .line 1142
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.imports:Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
            invokevirtual org.eclipse.jdt.core.dom.ASTNode$NodeList.listSize:()I
            iadd
            istore 1 /* size */
         6: .line 1143
            iload 1 /* size */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.types:Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
            invokevirtual org.eclipse.jdt.core.dom.ASTNode$NodeList.listSize:()I
            iadd
            istore 1 /* size */
         7: .line 1145
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentList:Ljava/util/List;
            ifnull 15
         8: .line 1146
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         9: goto 14
        10: .line 1147
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentList:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Comment
            astore 3 /* comment */
        start local 3 // org.eclipse.jdt.core.dom.Comment comment
        11: .line 1148
            aload 3 /* comment */
            ifnull 13
            aload 3 /* comment */
            invokevirtual org.eclipse.jdt.core.dom.Comment.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            ifnonnull 13
        12: .line 1149
            iload 1 /* size */
            aload 3 /* comment */
            invokevirtual org.eclipse.jdt.core.dom.Comment.treeSize:()I
            iadd
            istore 1 /* size */
        end local 3 // org.eclipse.jdt.core.dom.Comment comment
        13: .line 1146
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.optionalCommentList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 10
        end local 2 // int i
        15: .line 1153
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            ireturn
        end local 1 // int size
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            1   16     1     size  I
            9   15     2        i  I
           11   13     3  comment  Lorg/eclipse/jdt/core/dom/Comment;

  public java.util.List types();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
         0: .line 1169
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.CompilationUnit.types:Lorg/eclipse/jdt/core/dom/ASTNode$NodeList;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/CompilationUnit;
}
SourceFile: "CompilationUnit.java"
InnerClasses:
  NodeList = org.eclipse.jdt.core.dom.ASTNode$NodeList of org.eclipse.jdt.core.dom.ASTNode