public class org.eclipse.jdt.internal.core.CompilationUnitProblemFinder extends org.eclipse.jdt.internal.compiler.Compiler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.CompilationUnitProblemFinder
  super_class: org.eclipse.jdt.internal.compiler.Compiler
{
  protected void <init>(org.eclipse.jdt.internal.compiler.env.INameEnvironment, org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy, org.eclipse.jdt.internal.compiler.impl.CompilerOptions, org.eclipse.jdt.internal.compiler.ICompilerRequestor, org.eclipse.jdt.internal.compiler.IProblemFactory);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/env/INameEnvironment;Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Lorg/eclipse/jdt/internal/compiler/ICompilerRequestor;Lorg/eclipse/jdt/internal/compiler/IProblemFactory;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder this
        start local 1 // org.eclipse.jdt.internal.compiler.env.INameEnvironment environment
        start local 2 // org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy policy
        start local 3 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        start local 4 // org.eclipse.jdt.internal.compiler.ICompilerRequestor requestor
        start local 5 // org.eclipse.jdt.internal.compiler.IProblemFactory problemFactory
         0: .line 89
            aload 0 /* this */
            aload 1 /* environment */
         1: .line 90
            aload 2 /* policy */
         2: .line 91
            aload 3 /* compilerOptions */
         3: .line 92
            aload 4 /* requestor */
         4: .line 93
            aload 5 /* problemFactory */
            invokespecial org.eclipse.jdt.internal.compiler.Compiler.<init>:(Lorg/eclipse/jdt/internal/compiler/env/INameEnvironment;Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Lorg/eclipse/jdt/internal/compiler/ICompilerRequestor;Lorg/eclipse/jdt/internal/compiler/IProblemFactory;)V
         5: .line 95
            return
        end local 5 // org.eclipse.jdt.internal.compiler.IProblemFactory problemFactory
        end local 4 // org.eclipse.jdt.internal.compiler.ICompilerRequestor requestor
        end local 3 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        end local 2 // org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy policy
        end local 1 // org.eclipse.jdt.internal.compiler.env.INameEnvironment environment
        end local 0 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/eclipse/jdt/internal/core/CompilationUnitProblemFinder;
            0    6     1      environment  Lorg/eclipse/jdt/internal/compiler/env/INameEnvironment;
            0    6     2           policy  Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
            0    6     3  compilerOptions  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            0    6     4        requestor  Lorg/eclipse/jdt/internal/compiler/ICompilerRequestor;
            0    6     5   problemFactory  Lorg/eclipse/jdt/internal/compiler/IProblemFactory;
    MethodParameters:
                 Name  Flags
      environment      
      policy           
      compilerOptions  
      requestor        
      problemFactory   

  public void accept(org.eclipse.jdt.internal.compiler.env.ISourceType[], org.eclipse.jdt.internal.compiler.lookup.PackageBinding, org.eclipse.jdt.internal.compiler.env.AccessRestriction);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/env/ISourceType;Lorg/eclipse/jdt/internal/compiler/lookup/PackageBinding;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder this
        start local 1 // org.eclipse.jdt.internal.compiler.env.ISourceType[] sourceTypes
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.PackageBinding packageBinding
        start local 3 // org.eclipse.jdt.internal.compiler.env.AccessRestriction accessRestriction
         0: .line 103
            goto 2
         1: .line 104
      StackMap locals:
      StackMap stack:
            aload 1 /* sourceTypes */
            iconst_0
            aload 1 /* sourceTypes */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.internal.compiler.env.ISourceType.getEnclosingType:()Lorg/eclipse/jdt/internal/compiler/env/ISourceType;
            aastore
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* sourceTypes */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.internal.compiler.env.ISourceType.getEnclosingType:()Lorg/eclipse/jdt/internal/compiler/env/ISourceType;
            ifnonnull 1
         3: .line 108
            new org.eclipse.jdt.internal.compiler.CompilationResult
            dup
            aload 1 /* sourceTypes */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.internal.compiler.env.ISourceType.getFileName:()[C
            iconst_1
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.maxProblemsPerUnit:I
            invokespecial org.eclipse.jdt.internal.compiler.CompilationResult.<init>:([CIII)V
         4: .line 107
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.CompilationResult result
         5: .line 111
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            lstore 5 /* savedComplianceLevel */
        start local 5 // long savedComplianceLevel
         6: .line 112
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
            lstore 7 /* savedSourceLevel */
        start local 7 // long savedSourceLevel
         7: .line 114
            aload 2 /* packageBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.PackageBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            astore 9 /* environment */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         8: .line 115
            aload 9 /* environment */
            ifnonnull 10
         9: .line 116
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.lookupEnvironment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            astore 9 /* environment */
        10: .line 119
      StackMap locals: org.eclipse.jdt.internal.core.CompilationUnitProblemFinder org.eclipse.jdt.internal.compiler.env.ISourceType[] org.eclipse.jdt.internal.compiler.lookup.PackageBinding org.eclipse.jdt.internal.compiler.env.AccessRestriction org.eclipse.jdt.internal.compiler.CompilationResult long long org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment
      StackMap stack:
            aload 1 /* sourceTypes */
            iconst_0
            aaload
            checkcast org.eclipse.jdt.internal.core.SourceTypeElementInfo
            invokevirtual org.eclipse.jdt.internal.core.SourceTypeElementInfo.getHandle:()Lorg/eclipse/jdt/core/IType;
            invokeinterface org.eclipse.jdt.core.IType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            astore 10 /* project */
        start local 10 // org.eclipse.jdt.core.IJavaProject project
        11: .line 120
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            aload 10 /* project */
            ldc "org.eclipse.jdt.core.compiler.compliance"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.impl.CompilerOptions.versionToJdkLevel:(Ljava/lang/String;)J
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
        12: .line 121
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            aload 10 /* project */
            ldc "org.eclipse.jdt.core.compiler.source"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.impl.CompilerOptions.versionToJdkLevel:(Ljava/lang/String;)J
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
        13: .line 126
            aload 1 /* sourceTypes */
        14: .line 127
            bipush 31
        15: .line 130
            aload 9 /* environment */
            getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.problemReporter:Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
        16: .line 131
            aload 4 /* result */
        17: .line 125
            invokestatic org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildCompilationUnit:([Lorg/eclipse/jdt/internal/compiler/env/ISourceType;ILorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;Lorg/eclipse/jdt/internal/compiler/CompilationResult;)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
        18: .line 124
            astore 11 /* unit */
        start local 11 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit
        19: .line 133
            aload 11 /* unit */
            ifnull 27
        20: .line 134
            aload 9 /* environment */
            aload 11 /* unit */
            aload 3 /* accessRestriction */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings:(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;)V
        21: .line 135
            aload 9 /* environment */
            aload 11 /* unit */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings:(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;)V
        end local 11 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit
        end local 10 // org.eclipse.jdt.core.IJavaProject project
        22: .line 137
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 12
        24: .line 138
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            lload 5 /* savedComplianceLevel */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
        25: .line 139
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            lload 7 /* savedSourceLevel */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
        26: .line 140
            aload 12
            athrow
        27: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            lload 5 /* savedComplianceLevel */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
        28: .line 139
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            lload 7 /* savedSourceLevel */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
        29: .line 141
            return
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 7 // long savedSourceLevel
        end local 5 // long savedComplianceLevel
        end local 4 // org.eclipse.jdt.internal.compiler.CompilationResult result
        end local 3 // org.eclipse.jdt.internal.compiler.env.AccessRestriction accessRestriction
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.PackageBinding packageBinding
        end local 1 // org.eclipse.jdt.internal.compiler.env.ISourceType[] sourceTypes
        end local 0 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   30     0                  this  Lorg/eclipse/jdt/internal/core/CompilationUnitProblemFinder;
            0   30     1           sourceTypes  [Lorg/eclipse/jdt/internal/compiler/env/ISourceType;
            0   30     2        packageBinding  Lorg/eclipse/jdt/internal/compiler/lookup/PackageBinding;
            0   30     3     accessRestriction  Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;
            5   30     4                result  Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            6   30     5  savedComplianceLevel  J
            7   30     7      savedSourceLevel  J
            8   30     9           environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
           11   22    10               project  Lorg/eclipse/jdt/core/IJavaProject;
           19   22    11                  unit  Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
      Exception table:
        from    to  target  type
          10    23      23  any
    MethodParameters:
                   Name  Flags
      sourceTypes        
      packageBinding     
      accessRestriction  

  public void accept(org.eclipse.jdt.internal.compiler.env.IModule, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IModule;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder this
        start local 1 // org.eclipse.jdt.internal.compiler.env.IModule module
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         0: .line 145
            aconst_null
            astore 3 /* handle */
        start local 3 // org.eclipse.jdt.core.IModuleDescription handle
         1: .line 146
            aload 1 /* module */
            instanceof org.eclipse.jdt.internal.core.ModuleDescriptionInfo
            ifeq 3
         2: .line 147
            aload 1 /* module */
            checkcast org.eclipse.jdt.internal.core.ModuleDescriptionInfo
            invokevirtual org.eclipse.jdt.internal.core.ModuleDescriptionInfo.getHandle:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 3 /* handle */
         3: .line 149
      StackMap locals: org.eclipse.jdt.core.IModuleDescription
      StackMap stack:
            aload 3 /* handle */
            ifnonnull 6
         4: .line 150
            aload 0 /* this */
            aload 1 /* module */
            aload 2 /* environment */
            invokespecial org.eclipse.jdt.internal.compiler.Compiler.accept:(Lorg/eclipse/jdt/internal/compiler/env/IModule;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
         5: .line 151
            return
         6: .line 154
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.CompilationResult
            dup
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.MODULE_INFO_FILE_NAME:[C
            iconst_1
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.maxProblemsPerUnit:I
            invokespecial org.eclipse.jdt.internal.compiler.CompilationResult.<init>:([CIII)V
         7: .line 153
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.CompilationResult result
         8: .line 157
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            lstore 5 /* savedComplianceLevel */
        start local 5 // long savedComplianceLevel
         9: .line 158
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
            lstore 7 /* savedSourceLevel */
        start local 7 // long savedSourceLevel
        10: .line 160
            aload 2 /* environment */
            ifnonnull 12
        11: .line 161
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.lookupEnvironment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            astore 2 /* environment */
        12: .line 164
      StackMap locals: org.eclipse.jdt.internal.compiler.CompilationResult long long
      StackMap stack:
            aload 3 /* handle */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            astore 9 /* project */
        start local 9 // org.eclipse.jdt.core.IJavaProject project
        13: .line 165
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            aload 9 /* project */
            ldc "org.eclipse.jdt.core.compiler.compliance"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.impl.CompilerOptions.versionToJdkLevel:(Ljava/lang/String;)J
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
        14: .line 166
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            aload 9 /* project */
            ldc "org.eclipse.jdt.core.compiler.source"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.impl.CompilerOptions.versionToJdkLevel:(Ljava/lang/String;)J
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
        15: .line 171
            aload 1 /* module */
        16: .line 172
            aload 2 /* environment */
            getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.problemReporter:Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
        17: .line 173
            aload 4 /* result */
        18: .line 170
            invokestatic org.eclipse.jdt.internal.compiler.parser.SourceTypeConverter.buildModularCompilationUnit:(Lorg/eclipse/jdt/internal/compiler/env/IModule;Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;Lorg/eclipse/jdt/internal/compiler/CompilationResult;)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
        19: .line 169
            astore 10 /* unit */
        start local 10 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit
        20: .line 175
            aload 10 /* unit */
            ifnull 28
        21: .line 176
            aload 2 /* environment */
            aload 10 /* unit */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings:(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;Lorg/eclipse/jdt/internal/compiler/env/AccessRestriction;)V
        22: .line 177
            aload 2 /* environment */
            aload 10 /* unit */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings:(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;)V
        end local 10 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit
        end local 9 // org.eclipse.jdt.core.IJavaProject project
        23: .line 179
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 11
        25: .line 180
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            lload 5 /* savedComplianceLevel */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
        26: .line 181
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            lload 7 /* savedSourceLevel */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
        27: .line 182
            aload 11
            athrow
        28: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            lload 5 /* savedComplianceLevel */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
        29: .line 181
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            lload 7 /* savedSourceLevel */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
        30: .line 183
            return
        end local 7 // long savedSourceLevel
        end local 5 // long savedComplianceLevel
        end local 4 // org.eclipse.jdt.internal.compiler.CompilationResult result
        end local 3 // org.eclipse.jdt.core.IModuleDescription handle
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 1 // org.eclipse.jdt.internal.compiler.env.IModule module
        end local 0 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   31     0                  this  Lorg/eclipse/jdt/internal/core/CompilationUnitProblemFinder;
            0   31     1                module  Lorg/eclipse/jdt/internal/compiler/env/IModule;
            0   31     2           environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            1   31     3                handle  Lorg/eclipse/jdt/core/IModuleDescription;
            8   31     4                result  Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            9   31     5  savedComplianceLevel  J
           10   31     7      savedSourceLevel  J
           13   23     9               project  Lorg/eclipse/jdt/core/IJavaProject;
           20   23    10                  unit  Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
      Exception table:
        from    to  target  type
          12    24      24  any
    MethodParameters:
             Name  Flags
      module       
      environment  

  protected static org.eclipse.jdt.internal.compiler.impl.CompilerOptions getCompilerOptions(java.util.Map, boolean, boolean);
    descriptor: (Ljava/util/Map;ZZ)Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.util.Map settings
        start local 1 // boolean creatingAST
        start local 2 // boolean statementsRecovery
         0: .line 186
            new org.eclipse.jdt.internal.compiler.impl.CompilerOptions
            dup
            aload 0 /* settings */
            invokespecial org.eclipse.jdt.internal.compiler.impl.CompilerOptions.<init>:(Ljava/util/Map;)V
            astore 3 /* compilerOptions */
        start local 3 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
         1: .line 187
            aload 3 /* compilerOptions */
            iload 2 /* statementsRecovery */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.performMethodsFullRecovery:Z
         2: .line 188
            aload 3 /* compilerOptions */
            iload 2 /* statementsRecovery */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.performStatementsRecovery:Z
         3: .line 189
            aload 3 /* compilerOptions */
            iload 1 /* creatingAST */
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: java.util.Map int int org.eclipse.jdt.internal.compiler.impl.CompilerOptions
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.CompilerOptions
         4: iconst_1
      StackMap locals: java.util.Map int int org.eclipse.jdt.internal.compiler.impl.CompilerOptions
      StackMap stack: org.eclipse.jdt.internal.compiler.impl.CompilerOptions int
         5: putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.parseLiteralExpressionsAsConstants:Z
         6: .line 190
            iload 1 /* creatingAST */
            ifeq 8
         7: .line 191
            aload 3 /* compilerOptions */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.storeAnnotations:Z
         8: .line 192
      StackMap locals:
      StackMap stack:
            aload 3 /* compilerOptions */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        end local 2 // boolean statementsRecovery
        end local 1 // boolean creatingAST
        end local 0 // java.util.Map settings
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0            settings  Ljava/util/Map;
            0    9     1         creatingAST  Z
            0    9     2  statementsRecovery  Z
            1    9     3     compilerOptions  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
    MethodParameters:
                    Name  Flags
      settings            
      creatingAST         
      statementsRecovery  

  protected static org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy getHandlingPolicy();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 199
            invokestatic org.eclipse.jdt.internal.compiler.DefaultErrorHandlingPolicies.proceedWithAllProblems:()Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected static org.eclipse.jdt.internal.compiler.ICompilerRequestor getRequestor();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/ICompilerRequestor;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 206
            new org.eclipse.jdt.internal.core.CompilationUnitProblemFinder$1
            dup
            invokespecial org.eclipse.jdt.internal.core.CompilationUnitProblemFinder$1.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean isTestSource(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.ICompilationUnit);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/ICompilationUnit;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // org.eclipse.jdt.core.ICompilationUnit cu
         0: .line 216
            aload 0 /* project */
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getResolvedClasspath:(Z)[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* resolvedClasspath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
         1: .line 217
            aload 1 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getResource:()Lorg/eclipse/core/resources/IResource;
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* resourcePath */
        start local 3 // org.eclipse.core.runtime.IPath resourcePath
         2: .line 218
            aload 2 /* resolvedClasspath */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.runtime.IPath top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* e */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry e
         4: .line 219
            aload 4 /* e */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_3
            if_icmpne 8
         5: .line 220
            aload 4 /* e */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isTest:()Z
            ifeq 8
         6: .line 221
            aload 4 /* e */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 3 /* resourcePath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 8
         7: .line 222
            iconst_1
            ireturn
        end local 4 // org.eclipse.jdt.core.IClasspathEntry e
         8: .line 218
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 3
        end local 3 // org.eclipse.core.runtime.IPath resourcePath
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        10: .line 227
            goto 15
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.ICompilationUnit
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        11: astore 2 /* e */
        start local 2 // org.eclipse.jdt.core.JavaModelException e
        12: .line 228
            aload 2 /* e */
            new java.lang.StringBuilder
            dup
            ldc "Exception while determining if compilation unit \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 229
            ldc "\" is test source"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 228
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 2 // org.eclipse.jdt.core.JavaModelException e
        15: .line 231
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.core.ICompilationUnit cu
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0            project  Lorg/eclipse/jdt/core/IJavaProject;
            0   16     1                 cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            1   10     2  resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            2   10     3       resourcePath  Lorg/eclipse/core/runtime/IPath;
            4    8     4                  e  Lorg/eclipse/jdt/core/IClasspathEntry;
           12   15     2                  e  Lorg/eclipse/jdt/core/JavaModelException;
      Exception table:
        from    to  target  type
           0     7      11  Class org.eclipse.jdt.core.JavaModelException
           8    10      11  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      project  
      cu       

  public static org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration process(org.eclipse.jdt.internal.core.CompilationUnit, org.eclipse.jdt.internal.compiler.SourceElementParser, org.eclipse.jdt.core.WorkingCopyOwner, java.util.HashMap, boolean, int, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/internal/compiler/SourceElementParser;Lorg/eclipse/jdt/core/WorkingCopyOwner;Ljava/util/HashMap;ZILorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=20, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.CompilationUnit unitElement
        start local 1 // org.eclipse.jdt.internal.compiler.SourceElementParser parser
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        start local 3 // java.util.HashMap problems
        start local 4 // boolean creatingAST
        start local 5 // int reconcileFlags
        start local 6 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 247
            aload 0 /* unitElement */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 7 /* project */
        start local 7 // org.eclipse.jdt.internal.core.JavaProject project
         1: .line 248
            aconst_null
            astore 8 /* environment */
        start local 8 // org.eclipse.jdt.internal.core.CancelableNameEnvironment environment
         2: .line 249
            aconst_null
            astore 9 /* problemFactory */
        start local 9 // org.eclipse.jdt.internal.core.CancelableProblemFactory problemFactory
         3: .line 250
            aconst_null
            astore 10 /* problemFinder */
        start local 10 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder problemFinder
         4: .line 251
            aconst_null
            astore 11 /* unit */
        start local 11 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit
         5: .line 253
            new org.eclipse.jdt.internal.core.CancelableNameEnvironment
            dup
            aload 7 /* project */
            aload 2 /* workingCopyOwner */
            aload 6 /* monitor */
            aload 0 /* unitElement */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 0 /* unitElement */
            invokestatic org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.isTestSource:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/ICompilationUnit;)Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals: org.eclipse.jdt.internal.core.CompilationUnit org.eclipse.jdt.internal.compiler.SourceElementParser org.eclipse.jdt.core.WorkingCopyOwner java.util.HashMap int int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.CancelableNameEnvironment org.eclipse.jdt.internal.core.CancelableProblemFactory org.eclipse.jdt.internal.core.CompilationUnitProblemFinder org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
      StackMap stack: new 5 new 5 org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.core.runtime.IProgressMonitor
         6: iconst_1
      StackMap locals: org.eclipse.jdt.internal.core.CompilationUnit org.eclipse.jdt.internal.compiler.SourceElementParser org.eclipse.jdt.core.WorkingCopyOwner java.util.HashMap int int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.CancelableNameEnvironment org.eclipse.jdt.internal.core.CancelableProblemFactory org.eclipse.jdt.internal.core.CompilationUnitProblemFinder org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
      StackMap stack: new 5 new 5 org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.core.runtime.IProgressMonitor int
         7: invokespecial org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;Z)V
            astore 8 /* environment */
         8: .line 254
            new org.eclipse.jdt.internal.core.CancelableProblemFactory
            dup
            aload 6 /* monitor */
            invokespecial org.eclipse.jdt.internal.core.CancelableProblemFactory.<init>:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
            astore 9 /* problemFactory */
         9: .line 255
            aload 7 /* project */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOptions:(Z)Ljava/util/Map;
            iload 4 /* creatingAST */
            iload 5 /* reconcileFlags */
            iconst_2
            iand
            ifeq 10
            iconst_1
            goto 11
      StackMap locals: org.eclipse.jdt.internal.core.CompilationUnit org.eclipse.jdt.internal.compiler.SourceElementParser org.eclipse.jdt.core.WorkingCopyOwner java.util.HashMap int int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.CancelableNameEnvironment org.eclipse.jdt.internal.core.CancelableProblemFactory org.eclipse.jdt.internal.core.CompilationUnitProblemFinder org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
      StackMap stack: java.util.Map int
        10: iconst_0
      StackMap locals: org.eclipse.jdt.internal.core.CompilationUnit org.eclipse.jdt.internal.compiler.SourceElementParser org.eclipse.jdt.core.WorkingCopyOwner java.util.HashMap int int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.CancelableNameEnvironment org.eclipse.jdt.internal.core.CancelableProblemFactory org.eclipse.jdt.internal.core.CompilationUnitProblemFinder org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
      StackMap stack: java.util.Map int int
        11: invokestatic org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.getCompilerOptions:(Ljava/util/Map;ZZ)Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            astore 12 /* compilerOptions */
        start local 12 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        12: .line 256
            iload 5 /* reconcileFlags */
            bipush 8
            iand
            ifeq 13
            iconst_1
            goto 14
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.CompilerOptions
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 13 /* ignoreMethodBodies */
        start local 13 // boolean ignoreMethodBodies
        15: .line 257
            aload 12 /* compilerOptions */
            iload 13 /* ignoreMethodBodies */
            putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.ignoreMethodBodies:Z
        16: .line 258
            new org.eclipse.jdt.internal.core.CompilationUnitProblemFinder
            dup
        17: .line 259
            aload 8 /* environment */
        18: .line 260
            invokestatic org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.getHandlingPolicy:()Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
        19: .line 261
            aload 12 /* compilerOptions */
        20: .line 262
            invokestatic org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.getRequestor:()Lorg/eclipse/jdt/internal/compiler/ICompilerRequestor;
        21: .line 263
            aload 9 /* problemFactory */
        22: .line 258
            invokespecial org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.<init>:(Lorg/eclipse/jdt/internal/compiler/env/INameEnvironment;Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Lorg/eclipse/jdt/internal/compiler/ICompilerRequestor;Lorg/eclipse/jdt/internal/compiler/IProblemFactory;)V
            astore 10 /* problemFinder */
        23: .line 264
            iconst_1
            istore 14 /* analyzeAndGenerateCode */
        start local 14 // boolean analyzeAndGenerateCode
        24: .line 265
            iload 13 /* ignoreMethodBodies */
            ifeq 26
        25: .line 266
            iconst_0
            istore 14 /* analyzeAndGenerateCode */
        26: .line 269
      StackMap locals: int int
      StackMap stack:
            aload 1 /* parser */
            ifnull 37
        27: .line 270
            aload 10 /* problemFinder */
            aload 1 /* parser */
            putfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.parser:Lorg/eclipse/jdt/internal/compiler/parser/Parser;
        28: .line 271
            aload 1 /* parser */
            aload 0 /* unitElement */
            iconst_1
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit:(Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
            astore 11 /* unit */
        29: .line 272
            aload 10 /* problemFinder */
        30: .line 273
            aload 11 /* unit */
        31: .line 274
            aload 0 /* unitElement */
        32: .line 275
            iconst_1
        33: .line 276
            iload 14 /* analyzeAndGenerateCode */
        34: .line 277
            iload 14 /* analyzeAndGenerateCode */
        35: .line 272
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.resolve:(Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;ZZZ)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
            pop
        36: .line 278
            goto 47
        37: .line 280
      StackMap locals:
      StackMap stack:
            aload 10 /* problemFinder */
        38: .line 281
            aload 0 /* unitElement */
        39: .line 282
            iconst_1
        40: .line 283
            iload 14 /* analyzeAndGenerateCode */
        41: .line 284
            iload 14 /* analyzeAndGenerateCode */
        42: .line 280
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.resolve:(Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;ZZZ)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
        43: .line 279
            astore 11 /* unit */
        44: .line 286
            goto 47
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.problem.AbortCompilation
        45: astore 15 /* e */
        start local 15 // org.eclipse.jdt.internal.compiler.problem.AbortCompilation e
        46: .line 287
            aload 10 /* problemFinder */
            aload 15 /* e */
            aload 11 /* unit */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.handleInternalException:(Lorg/eclipse/jdt/internal/compiler/problem/AbortCompilation;Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;)V
        end local 15 // org.eclipse.jdt.internal.compiler.problem.AbortCompilation e
        47: .line 289
      StackMap locals:
      StackMap stack:
            aload 11 /* unit */
            ifnull 90
        48: .line 290
            aload 11 /* unit */
            getfield org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.compilationResult:Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            astore 15 /* unitResult */
        start local 15 // org.eclipse.jdt.internal.compiler.CompilationResult unitResult
        49: .line 291
            aload 15 /* unitResult */
            invokevirtual org.eclipse.jdt.internal.compiler.CompilationResult.getCUProblems:()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
            astore 16 /* unitProblems */
        start local 16 // org.eclipse.jdt.core.compiler.CategorizedProblem[] unitProblems
        50: .line 292
            aload 16 /* unitProblems */
            ifnonnull 51
            iconst_0
            goto 52
      StackMap locals: org.eclipse.jdt.internal.compiler.CompilationResult org.eclipse.jdt.core.compiler.CategorizedProblem[]
      StackMap stack:
        51: aload 16 /* unitProblems */
            arraylength
      StackMap locals:
      StackMap stack: int
        52: istore 17 /* length */
        start local 17 // int length
        53: .line 293
            iload 17 /* length */
            ifle 57
        54: .line 294
            iload 17 /* length */
            anewarray org.eclipse.jdt.core.compiler.CategorizedProblem
            astore 18 /* categorizedProblems */
        start local 18 // org.eclipse.jdt.core.compiler.CategorizedProblem[] categorizedProblems
        55: .line 295
            aload 16 /* unitProblems */
            iconst_0
            aload 18 /* categorizedProblems */
            iconst_0
            iload 17 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        56: .line 296
            aload 3 /* problems */
            ldc "org.eclipse.jdt.core.problem"
            aload 18 /* categorizedProblems */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 18 // org.eclipse.jdt.core.compiler.CategorizedProblem[] categorizedProblems
        57: .line 298
      StackMap locals: int
      StackMap stack:
            aload 15 /* unitResult */
            invokevirtual org.eclipse.jdt.internal.compiler.CompilationResult.getTasks:()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
            astore 16 /* unitProblems */
        58: .line 299
            aload 16 /* unitProblems */
            ifnonnull 59
            iconst_0
            goto 60
      StackMap locals:
      StackMap stack:
        59: aload 16 /* unitProblems */
            arraylength
      StackMap locals:
      StackMap stack: int
        60: istore 17 /* length */
        61: .line 300
            iload 17 /* length */
            ifle 65
        62: .line 301
            iload 17 /* length */
            anewarray org.eclipse.jdt.core.compiler.CategorizedProblem
            astore 18 /* categorizedProblems */
        start local 18 // org.eclipse.jdt.core.compiler.CategorizedProblem[] categorizedProblems
        63: .line 302
            aload 16 /* unitProblems */
            iconst_0
            aload 18 /* categorizedProblems */
            iconst_0
            iload 17 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        64: .line 303
            aload 3 /* problems */
            ldc "org.eclipse.jdt.core.task"
            aload 18 /* categorizedProblems */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 18 // org.eclipse.jdt.core.compiler.CategorizedProblem[] categorizedProblems
        65: .line 305
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.NameLookup.VERBOSE:Z
            ifeq 90
        66: .line 306
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " TIME SPENT in NameLoopkup#seekTypesInSourcePackage: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* environment */
            getfield org.eclipse.jdt.internal.core.CancelableNameEnvironment.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
            getfield org.eclipse.jdt.internal.core.NameLookup.timeSpentInSeekTypesInSourcePackage:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "ms"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        67: .line 307
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " TIME SPENT in NameLoopkup#seekTypesInBinaryPackage: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* environment */
            getfield org.eclipse.jdt.internal.core.CancelableNameEnvironment.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
            getfield org.eclipse.jdt.internal.core.NameLookup.timeSpentInSeekTypesInBinaryPackage:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "ms"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 17 // int length
        end local 16 // org.eclipse.jdt.core.compiler.CategorizedProblem[] unitProblems
        end local 15 // org.eclipse.jdt.internal.compiler.CompilationResult unitResult
        end local 14 // boolean analyzeAndGenerateCode
        end local 13 // boolean ignoreMethodBodies
        end local 12 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        68: .line 310
            goto 90
      StackMap locals: org.eclipse.jdt.internal.core.CompilationUnit org.eclipse.jdt.internal.compiler.SourceElementParser org.eclipse.jdt.core.WorkingCopyOwner java.util.HashMap int int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.CancelableNameEnvironment org.eclipse.jdt.internal.core.CancelableProblemFactory org.eclipse.jdt.internal.core.CompilationUnitProblemFinder org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
      StackMap stack: org.eclipse.core.runtime.OperationCanceledException
        69: astore 12 /* e */
        start local 12 // org.eclipse.core.runtime.OperationCanceledException e
        70: .line 312
            aload 12 /* e */
            athrow
        end local 12 // org.eclipse.core.runtime.OperationCanceledException e
        71: .line 313
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 12 /* e */
        start local 12 // java.lang.RuntimeException e
        72: .line 315
            aload 0 /* unitElement */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.findRecommendedLineSeparator:()Ljava/lang/String;
            astore 13 /* lineDelimiter */
        start local 13 // java.lang.String lineDelimiter
        73: .line 316
            new java.lang.StringBuffer
            dup
            ldc "Exception occurred during problem detection:"
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 14 /* message */
        start local 14 // java.lang.StringBuffer message
        74: .line 317
            aload 14 /* message */
            aload 13 /* lineDelimiter */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        75: .line 318
            aload 14 /* message */
            ldc "----------------------------------- SOURCE BEGIN -------------------------------------"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        76: .line 319
            aload 14 /* message */
            aload 13 /* lineDelimiter */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        77: .line 320
            aload 14 /* message */
            aload 0 /* unitElement */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getSource:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        78: .line 321
            aload 14 /* message */
            aload 13 /* lineDelimiter */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        79: .line 322
            aload 14 /* message */
            ldc "----------------------------------- SOURCE END -------------------------------------"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        80: .line 323
            aload 12 /* e */
            aload 14 /* message */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        81: .line 324
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 12 /* e */
            sipush 1005
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        end local 14 // java.lang.StringBuffer message
        end local 13 // java.lang.String lineDelimiter
        end local 12 // java.lang.RuntimeException e
        82: .line 325
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 19
        83: .line 326
            aload 8 /* environment */
            ifnull 85
        84: .line 327
            aload 8 /* environment */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.CancelableNameEnvironment.setMonitor:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        85: .line 328
      StackMap locals: org.eclipse.jdt.internal.core.CompilationUnit org.eclipse.jdt.internal.compiler.SourceElementParser org.eclipse.jdt.core.WorkingCopyOwner java.util.HashMap int int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.CancelableNameEnvironment org.eclipse.jdt.internal.core.CancelableProblemFactory org.eclipse.jdt.internal.core.CompilationUnitProblemFinder org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 9 /* problemFactory */
            ifnull 87
        86: .line 329
            aload 9 /* problemFactory */
            aconst_null
            putfield org.eclipse.jdt.internal.core.CancelableProblemFactory.monitor:Lorg/eclipse/core/runtime/IProgressMonitor;
        87: .line 331
      StackMap locals:
      StackMap stack:
            aload 10 /* problemFinder */
            ifnull 89
            iload 4 /* creatingAST */
            ifne 89
        88: .line 332
            aload 10 /* problemFinder */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.lookupEnvironment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.reset:()V
        89: .line 333
      StackMap locals:
      StackMap stack:
            aload 19
            athrow
        90: .line 326
      StackMap locals: org.eclipse.jdt.internal.core.CompilationUnit org.eclipse.jdt.internal.compiler.SourceElementParser org.eclipse.jdt.core.WorkingCopyOwner java.util.HashMap int int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.CancelableNameEnvironment org.eclipse.jdt.internal.core.CancelableProblemFactory org.eclipse.jdt.internal.core.CompilationUnitProblemFinder org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
      StackMap stack:
            aload 8 /* environment */
            ifnull 92
        91: .line 327
            aload 8 /* environment */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.CancelableNameEnvironment.setMonitor:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        92: .line 328
      StackMap locals:
      StackMap stack:
            aload 9 /* problemFactory */
            ifnull 94
        93: .line 329
            aload 9 /* problemFactory */
            aconst_null
            putfield org.eclipse.jdt.internal.core.CancelableProblemFactory.monitor:Lorg/eclipse/core/runtime/IProgressMonitor;
        94: .line 331
      StackMap locals:
      StackMap stack:
            aload 10 /* problemFinder */
            ifnull 96
            iload 4 /* creatingAST */
            ifne 96
        95: .line 332
            aload 10 /* problemFinder */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.lookupEnvironment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.reset:()V
        96: .line 334
      StackMap locals:
      StackMap stack:
            aload 11 /* unit */
            areturn
        end local 11 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration unit
        end local 10 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder problemFinder
        end local 9 // org.eclipse.jdt.internal.core.CancelableProblemFactory problemFactory
        end local 8 // org.eclipse.jdt.internal.core.CancelableNameEnvironment environment
        end local 7 // org.eclipse.jdt.internal.core.JavaProject project
        end local 6 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 5 // int reconcileFlags
        end local 4 // boolean creatingAST
        end local 3 // java.util.HashMap problems
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        end local 1 // org.eclipse.jdt.internal.compiler.SourceElementParser parser
        end local 0 // org.eclipse.jdt.internal.core.CompilationUnit unitElement
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   97     0             unitElement  Lorg/eclipse/jdt/internal/core/CompilationUnit;
            0   97     1                  parser  Lorg/eclipse/jdt/internal/compiler/SourceElementParser;
            0   97     2        workingCopyOwner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0   97     3                problems  Ljava/util/HashMap;
            0   97     4             creatingAST  Z
            0   97     5          reconcileFlags  I
            0   97     6                 monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   97     7                 project  Lorg/eclipse/jdt/internal/core/JavaProject;
            2   97     8             environment  Lorg/eclipse/jdt/internal/core/CancelableNameEnvironment;
            3   97     9          problemFactory  Lorg/eclipse/jdt/internal/core/CancelableProblemFactory;
            4   97    10           problemFinder  Lorg/eclipse/jdt/internal/core/CompilationUnitProblemFinder;
            5   97    11                    unit  Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
           12   68    12         compilerOptions  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
           15   68    13      ignoreMethodBodies  Z
           24   68    14  analyzeAndGenerateCode  Z
           46   47    15                       e  Lorg/eclipse/jdt/internal/compiler/problem/AbortCompilation;
           49   68    15              unitResult  Lorg/eclipse/jdt/internal/compiler/CompilationResult;
           50   68    16            unitProblems  [Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
           53   68    17                  length  I
           55   57    18     categorizedProblems  [Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
           63   65    18     categorizedProblems  [Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
           70   71    12                       e  Lorg/eclipse/core/runtime/OperationCanceledException;
           72   82    12                       e  Ljava/lang/RuntimeException;
           73   82    13           lineDelimiter  Ljava/lang/String;
           74   82    14                 message  Ljava/lang/StringBuffer;
      Exception table:
        from    to  target  type
          26    44      45  Class org.eclipse.jdt.internal.compiler.problem.AbortCompilation
           5    68      69  Class org.eclipse.core.runtime.OperationCanceledException
           5    68      71  Class java.lang.RuntimeException
           5    82      82  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                  Name  Flags
      unitElement       
      parser            
      workingCopyOwner  
      problems          
      creatingAST       
      reconcileFlags    
      monitor           

  public static org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration process(org.eclipse.jdt.internal.core.CompilationUnit, org.eclipse.jdt.core.WorkingCopyOwner, java.util.HashMap, boolean, int, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/core/WorkingCopyOwner;Ljava/util/HashMap;ZILorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.CompilationUnit unitElement
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        start local 2 // java.util.HashMap problems
        start local 3 // boolean creatingAST
        start local 4 // int reconcileFlags
        start local 5 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 346
            aload 0 /* unitElement */
            aconst_null
            aload 1 /* workingCopyOwner */
            aload 2 /* problems */
            iload 3 /* creatingAST */
            iload 4 /* reconcileFlags */
            aload 5 /* monitor */
            invokestatic org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process:(Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/internal/compiler/SourceElementParser;Lorg/eclipse/jdt/core/WorkingCopyOwner;Ljava/util/HashMap;ZILorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
            areturn
        end local 5 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 4 // int reconcileFlags
        end local 3 // boolean creatingAST
        end local 2 // java.util.HashMap problems
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        end local 0 // org.eclipse.jdt.internal.core.CompilationUnit unitElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0       unitElement  Lorg/eclipse/jdt/internal/core/CompilationUnit;
            0    1     1  workingCopyOwner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    1     2          problems  Ljava/util/HashMap;
            0    1     3       creatingAST  Z
            0    1     4    reconcileFlags  I
            0    1     5           monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                  Name  Flags
      unitElement       
      workingCopyOwner  
      problems          
      creatingAST       
      reconcileFlags    
      monitor           

  public void initializeParser();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder this
         0: .line 355
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.util.CommentRecorderParser
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.problemReporter:Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.options:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.parseLiteralExpressionsAsConstants:Z
            invokespecial org.eclipse.jdt.internal.core.util.CommentRecorderParser.<init>:(Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;Z)V
            putfield org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.parser:Lorg/eclipse/jdt/internal/compiler/parser/Parser;
         1: .line 356
            return
        end local 0 // org.eclipse.jdt.internal.core.CompilationUnitProblemFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/CompilationUnitProblemFinder;
}
SourceFile: "CompilationUnitProblemFinder.java"
NestMembers:
  org.eclipse.jdt.internal.core.CompilationUnitProblemFinder$1
InnerClasses:
  org.eclipse.jdt.internal.core.CompilationUnitProblemFinder$1