public class org.eclipse.jdt.internal.compiler.ast.SwitchStatement extends org.eclipse.jdt.internal.compiler.ast.Expression
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.ast.SwitchStatement
  super_class: org.eclipse.jdt.internal.compiler.ast.Expression
{
  public org.eclipse.jdt.internal.compiler.ast.Expression expression;
    descriptor: Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.ast.Statement[] statements;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Statement;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.lookup.BlockScope scope;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    flags: (0x0001) ACC_PUBLIC

  public int explicitDeclarations;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.codegen.BranchLabel breakLabel;
    descriptor: Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.ast.CaseStatement[] cases;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.ast.CaseStatement defaultCase;
    descriptor: Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
    flags: (0x0001) ACC_PUBLIC

  public int blockStart;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int caseCount;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  int[] constants;
    descriptor: [I
    flags: (0x0000) 

  int[] constMapping;
    descriptor: [I
    flags: (0x0000) 

  java.lang.String[] stringConstants;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

  public boolean switchLabeledRules;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public int nConstants;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public static final int CASE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int FALLTHROUGH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int ESCAPING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int BREAKING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final char[] SecretStringVariableName;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public org.eclipse.jdt.internal.compiler.lookup.SyntheticMethodBinding synthetic;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding;
    flags: (0x0001) ACC_PUBLIC

  int preSwitchInitStateIndex;
    descriptor: I
    flags: (0x0000) 

  int mergedInitStateIndex;
    descriptor: I
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.ast.CaseStatement[] duplicateCaseStatements;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
    flags: (0x0000) 

  int duplicateCaseStatementsCounter;
    descriptor: I
    flags: (0x0000) 

  private org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding dispatchStringCopy;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 70
            ldc " switchDispatchString"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.compiler.ast.SwitchStatement.SecretStringVariableName:[C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
         0: .line 46
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ast.Expression.<init>:()V
         1: .line 60
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.switchLabeledRules:Z
         2: .line 76
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
         3: .line 77
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
         4: .line 79
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatements:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
         5: .line 80
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatementsCounter:I
         6: .line 81
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
         7: .line 46
            return
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;

  protected int getFallThroughState(org.eclipse.jdt.internal.compiler.ast.Statement, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Statement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Statement stmt
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
         0: .line 84
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.switchLabeledRules:Z
            ifeq 21
         1: .line 85
            aload 1 /* stmt */
            instanceof org.eclipse.jdt.internal.compiler.ast.Expression
            ifeq 2
            aload 1 /* stmt */
            checkcast org.eclipse.jdt.internal.compiler.ast.Expression
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isTrulyExpression:()Z
            ifne 3
      StackMap locals:
      StackMap stack:
         2: aload 1 /* stmt */
            instanceof org.eclipse.jdt.internal.compiler.ast.ThrowStatement
            ifeq 4
         3: .line 86
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
         4: .line 88
      StackMap locals:
      StackMap stack:
            aload 1 /* stmt */
            instanceof org.eclipse.jdt.internal.compiler.ast.Block
            ifeq 21
         5: .line 89
            aload 1 /* stmt */
            checkcast org.eclipse.jdt.internal.compiler.ast.Block
            astore 3 /* block */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.Block block
         6: .line 90
            aload 3 /* block */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Block.doesNotCompleteNormally:()Z
            ifeq 8
         7: .line 91
            iconst_3
            ireturn
         8: .line 94
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Block
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.ast.BreakStatement
            dup
            aconst_null
            aload 3 /* block */
            getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
            iconst_1
            isub
            aload 3 /* block */
            getfield org.eclipse.jdt.internal.compiler.ast.Block.sourceEnd:I
            invokespecial org.eclipse.jdt.internal.compiler.ast.BreakStatement.<init>:([CII)V
            astore 4 /* breakStatement */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.BreakStatement breakStatement
         9: .line 96
            aload 3 /* block */
            getfield org.eclipse.jdt.internal.compiler.ast.Block.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnonnull 10
            iconst_0
            goto 11
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.BreakStatement
      StackMap stack:
        10: aload 3 /* block */
            getfield org.eclipse.jdt.internal.compiler.ast.Block.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* l */
        start local 5 // int l
        12: .line 97
            iload 5 /* l */
            ifne 16
        13: .line 98
            aload 3 /* block */
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.ast.Statement
            dup
            iconst_0
            aload 4 /* breakStatement */
            aastore
            putfield org.eclipse.jdt.internal.compiler.ast.Block.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
        14: .line 99
            aload 3 /* block */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            putfield org.eclipse.jdt.internal.compiler.ast.Block.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
        15: .line 100
            goto 20
        16: .line 101
      StackMap locals: int
      StackMap stack:
            iload 5 /* l */
            iconst_1
            iadd
            anewarray org.eclipse.jdt.internal.compiler.ast.Statement
            astore 6 /* newArray */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.Statement[] newArray
        17: .line 102
            aload 3 /* block */
            getfield org.eclipse.jdt.internal.compiler.ast.Block.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iconst_0
            aload 6 /* newArray */
            iconst_0
            iload 5 /* l */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 103
            aload 6 /* newArray */
            iload 5 /* l */
            aload 4 /* breakStatement */
            aastore
        19: .line 104
            aload 3 /* block */
            aload 6 /* newArray */
            putfield org.eclipse.jdt.internal.compiler.ast.Block.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
        end local 6 // org.eclipse.jdt.internal.compiler.ast.Statement[] newArray
        20: .line 106
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
        end local 5 // int l
        end local 4 // org.eclipse.jdt.internal.compiler.ast.BreakStatement breakStatement
        end local 3 // org.eclipse.jdt.internal.compiler.ast.Block block
        21: .line 109
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Statement stmt
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0   22     1            stmt  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            0   22     2      blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            6   21     3           block  Lorg/eclipse/jdt/internal/compiler/ast/Block;
            9   21     4  breakStatement  Lorg/eclipse/jdt/internal/compiler/ast/BreakStatement;
           12   21     5               l  I
           17   20     6        newArray  [Lorg/eclipse/jdt/internal/compiler/ast/Statement;
    MethodParameters:
            Name  Flags
      stmt        
      blockScope  

  protected void completeNormallyCheck(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
         0: .line 113
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0    1     1  blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
            Name  Flags
      blockScope  

  protected boolean needToCheckFlowInAbsenceOfDefaultBranch();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
         0: .line 115
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;

  public org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=17, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 120
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 3 /* flowInfo */
         1: .line 121
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.implicitConversion:I
            sipush 1024
            iand
            ifne 4
         2: .line 122
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 5
         3: .line 123
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 11
            if_icmpeq 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEnum:()Z
            ifeq 5
         4: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkNPE:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;I)Z
            pop
         5: .line 127
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext
            dup
            aload 2 /* flowContext */
            aload 0 /* this */
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:()V
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            iconst_1
            iconst_1
            invokespecial org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.<init>:(Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;ZZ)V
         6: .line 126
            astore 4 /* switchContext */
        start local 4 // org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext switchContext
         7: .line 128
            aload 4 /* switchContext */
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            putfield org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.isExpression:Z
         8: .line 132
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 5 /* caseInits */
        start local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo caseInits
         9: .line 134
            aload 0 /* this */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
        10: .line 135
            iconst_0
            istore 6 /* caseIndex */
        start local 6 // int caseIndex
        11: .line 136
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 57
        12: .line 137
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.reachMode:()I
            iconst_3
            iand
            ifeq 13
            iconst_1
            goto 14
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 7 /* initialComplaintLevel */
        start local 7 // int initialComplaintLevel
        15: .line 138
            iload 7 /* initialComplaintLevel */
            istore 8 /* complaintLevel */
        start local 8 // int complaintLevel
        16: .line 139
            iconst_0
            istore 9 /* fallThroughState */
        start local 9 // int fallThroughState
        17: .line 140
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        18: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 11 /* max */
        start local 11 // int max
        19: goto 55
        20: .line 141
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 10 /* i */
            aaload
            astore 12 /* statement */
        start local 12 // org.eclipse.jdt.internal.compiler.ast.Statement statement
        21: .line 142
            iload 6 /* caseIndex */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            if_icmpge 31
            aload 12 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 6 /* caseIndex */
            aaload
            if_acmpne 31
        22: .line 143
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 6 /* caseIndex */
            aaload
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
        23: .line 144
            iinc 6 /* caseIndex */ 1
        24: .line 145
            iload 9 /* fallThroughState */
            iconst_1
            if_icmpne 27
        25: .line 146
            aload 12 /* statement */
            getfield org.eclipse.jdt.internal.compiler.ast.Statement.bits:I
            ldc 536870912
            iand
            ifne 27
        26: .line 147
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            getfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.possibleFallThroughCase:(Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;)V
        27: .line 149
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement
      StackMap stack:
            aload 5 /* caseInits */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 5 /* caseInits */
        28: .line 150
            iload 7 /* initialComplaintLevel */
            istore 8 /* complaintLevel */
        29: .line 151
            iconst_0
            istore 9 /* fallThroughState */
        30: .line 152
            goto 49
      StackMap locals:
      StackMap stack:
        31: aload 12 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            if_acmpne 40
        32: .line 153
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
        33: .line 154
            iload 9 /* fallThroughState */
            iconst_1
            if_icmpne 36
        34: .line 155
            aload 12 /* statement */
            getfield org.eclipse.jdt.internal.compiler.ast.Statement.bits:I
            ldc 536870912
            iand
            ifne 36
        35: .line 156
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            getfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.possibleFallThroughCase:(Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;)V
        36: .line 158
      StackMap locals:
      StackMap stack:
            aload 5 /* caseInits */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 5 /* caseInits */
        37: .line 159
            iload 7 /* initialComplaintLevel */
            istore 8 /* complaintLevel */
        38: .line 160
            iconst_0
            istore 9 /* fallThroughState */
        39: .line 161
            goto 49
        40: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            ifne 48
        41: .line 163
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3735552
            lcmp
            iflt 48
        42: .line 164
            aload 12 /* statement */
            instanceof org.eclipse.jdt.internal.compiler.ast.YieldStatement
            ifeq 48
        43: .line 165
            aload 12 /* statement */
            checkcast org.eclipse.jdt.internal.compiler.ast.YieldStatement
            getfield org.eclipse.jdt.internal.compiler.ast.YieldStatement.isImplicit:Z
            ifeq 48
        44: .line 166
            aload 12 /* statement */
            checkcast org.eclipse.jdt.internal.compiler.ast.YieldStatement
            astore 13 /* y */
        start local 13 // org.eclipse.jdt.internal.compiler.ast.YieldStatement y
        45: .line 167
            aload 12 /* statement */
            checkcast org.eclipse.jdt.internal.compiler.ast.YieldStatement
            getfield org.eclipse.jdt.internal.compiler.ast.YieldStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 14 /* e */
        start local 14 // org.eclipse.jdt.internal.compiler.ast.Expression e
        46: .line 171
            aload 13 /* y */
            getfield org.eclipse.jdt.internal.compiler.ast.YieldStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.statementExpression:()Z
            ifne 48
        47: .line 172
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 14 /* e */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.invalidExpressionAsStatement:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        end local 14 // org.eclipse.jdt.internal.compiler.ast.Expression e
        end local 13 // org.eclipse.jdt.internal.compiler.ast.YieldStatement y
        48: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* statement */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.getFallThroughState:(Lorg/eclipse/jdt/internal/compiler/ast/Statement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)I
            istore 9 /* fallThroughState */
        49: .line 177
      StackMap locals:
      StackMap stack:
            aload 12 /* statement */
            aload 5 /* caseInits */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            iload 8 /* complaintLevel */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.complainIfUnreachable:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;IZ)I
            dup
            istore 8 /* complaintLevel */
            iconst_2
            if_icmpge 54
        50: .line 178
            aload 12 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 4 /* switchContext */
            aload 5 /* caseInits */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 5 /* caseInits */
        51: .line 179
            aload 5 /* caseInits */
            getstatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.DEAD_END:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            if_acmpne 53
        52: .line 180
            iconst_2
            istore 9 /* fallThroughState */
        53: .line 182
      StackMap locals:
      StackMap stack:
            aload 4 /* switchContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.expireNullCheckedFieldInfo:()V
        end local 12 // org.eclipse.jdt.internal.compiler.ast.Statement statement
        54: .line 140
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 10 /* i */
            iload 11 /* max */
            if_icmplt 20
        end local 11 // int max
        end local 10 // int i
        56: .line 185
            aload 0 /* this */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.completeNormallyCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        end local 9 // int fallThroughState
        end local 8 // int complaintLevel
        end local 7 // int initialComplaintLevel
        57: .line 188
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* resolvedTypeBinding */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolvedTypeBinding
        58: .line 189
            aload 7 /* resolvedTypeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEnum:()Z
            ifeq 61
        59: .line 190
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.classScope:()Lorg/eclipse/jdt/internal/compiler/lookup/ClassScope;
            getfield org.eclipse.jdt.internal.compiler.lookup.ClassScope.referenceContext:Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            astore 8 /* sourceTypeBinding */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding sourceTypeBinding
        60: .line 191
            aload 0 /* this */
            aload 8 /* sourceTypeBinding */
            aload 7 /* resolvedTypeBinding */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.addSyntheticMethodForSwitchEnum:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;)Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.synthetic:Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding;
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding sourceTypeBinding
        61: .line 194
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnonnull 67
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.needToCheckFlowInAbsenceOfDefaultBranch:()Z
            ifeq 67
        62: .line 196
            aload 3 /* flowInfo */
            aload 5 /* caseInits */
            aload 4 /* switchContext */
            getfield org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.addPotentialInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        63: .line 197
            aload 0 /* this */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
        64: .line 198
            aload 3 /* flowInfo */
            astore 16
        65: .line 207
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 66
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
        66: .line 198
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.lookup.TypeBinding top top top top top top top top org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 16
            areturn
        67: .line 202
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 5 /* caseInits */
            aload 4 /* switchContext */
            getfield org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext.initsOnBreak:Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 8 /* mergedInfo */
        start local 8 // org.eclipse.jdt.internal.compiler.flow.FlowInfo mergedInfo
        68: .line 203
            aload 0 /* this */
        69: .line 204
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            aload 8 /* mergedInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.recordInitializationStates:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)I
        70: .line 203
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
        71: .line 205
            aload 8 /* mergedInfo */
            astore 16
        72: .line 207
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 73
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
        73: .line 205
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.flow.FlowInfo top top top top top top top org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 16
            areturn
        end local 8 // org.eclipse.jdt.internal.compiler.flow.FlowInfo mergedInfo
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolvedTypeBinding
        end local 6 // int caseIndex
        end local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo caseInits
        end local 4 // org.eclipse.jdt.internal.compiler.flow.SwitchFlowContext switchContext
        74: .line 206
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack: java.lang.Throwable
            astore 15
        75: .line 207
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 76
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
        76: .line 208
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   77     0                   this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0   77     1           currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   77     2            flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   77     3               flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            7   74     4          switchContext  Lorg/eclipse/jdt/internal/compiler/flow/SwitchFlowContext;
            9   74     5              caseInits  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           11   74     6              caseIndex  I
           15   57     7  initialComplaintLevel  I
           16   57     8         complaintLevel  I
           17   57     9       fallThroughState  I
           18   56    10                      i  I
           19   56    11                    max  I
           21   54    12              statement  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
           45   48    13                      y  Lorg/eclipse/jdt/internal/compiler/ast/YieldStatement;
           46   48    14                      e  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           58   74     7    resolvedTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           60   61     8      sourceTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
           68   74     8             mergedInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
      Exception table:
        from    to  target  type
           0    65      74  any
          67    72      74  any
    MethodParameters:
              Name  Flags
      currentScope  
      flowContext   
      flowInfo      

  public void generateCodeForStringSwitch(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=19, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
         0: .line 224
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.bits:I
            ldc -2147483648
            iand
            ifne 3
         1: .line 421
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
         2: .line 225
      StackMap locals:
      StackMap stack:
            return
         3: .line 227
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 3 /* pc */
        start local 3 // int pc
         4: .line 282
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* hasCases */
        start local 4 // boolean hasCases
         7: .line 283
            iload 4 /* hasCases */
            ifeq 8
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.stringConstants:[Ljava/lang/String;
            arraylength
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 5 /* constSize */
        start local 5 // int constSize
        10: .line 285
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3670016
            lcmp
            iflt 34
        11: .line 286
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            istore 8 /* max */
        start local 8 // int max
        13: goto 17
        14: .line 287
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int top int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 7 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.constantExpressions:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 9 /* l */
        start local 9 // int l
        15: .line 288
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 7 /* i */
            aaload
            iload 9 /* l */
            anewarray org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            putfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.targetLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        end local 9 // int l
        16: .line 286
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            iload 8 /* max */
            if_icmplt 14
        end local 8 // int max
        end local 7 // int i
        18: .line 290
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.nConstants:I
            anewarray org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            astore 6 /* sourceCaseLabels */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] sourceCaseLabels
        19: .line 291
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        20: .line 292
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        21: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            istore 9 /* max */
        start local 9 // int max
        22: goto 32
        23: .line 293
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 8 /* i */
            aaload
            astore 10 /* stmt */
        start local 10 // org.eclipse.jdt.internal.compiler.ast.CaseStatement stmt
        24: .line 294
            iconst_0
            istore 11 /* k */
        start local 11 // int k
        25: aload 10 /* stmt */
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.constantExpressions:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 12 /* l */
        start local 12 // int l
        26: goto 30
        27: .line 295
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.CaseStatement int int
      StackMap stack:
            aload 10 /* stmt */
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.targetLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            iload 11 /* k */
            aload 6 /* sourceCaseLabels */
            iload 7 /* j */
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            dup_x2
            aastore
            aastore
        28: .line 296
            aload 6 /* sourceCaseLabels */
            iload 7 /* j */
            iinc 7 /* j */ 1
            aaload
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
        29: .line 294
            iinc 11 /* k */ 1
      StackMap locals:
      StackMap stack:
        30: iload 11 /* k */
            iload 12 /* l */
            if_icmplt 27
        end local 12 // int l
        end local 11 // int k
        end local 10 // org.eclipse.jdt.internal.compiler.ast.CaseStatement stmt
        31: .line 292
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 8 /* i */
            iload 9 /* max */
            if_icmplt 23
        end local 9 // int max
        end local 8 // int i
        end local 7 // int j
        33: .line 299
            goto 42
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] sourceCaseLabels
        34: .line 300
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            anewarray org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            astore 6 /* sourceCaseLabels */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] sourceCaseLabels
        35: .line 301
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        36: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            istore 8 /* max */
        start local 8 // int max
        37: goto 41
        38: .line 302
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 7 /* i */
            aaload
            aload 6 /* sourceCaseLabels */
            iload 7 /* i */
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            dup_x2
            aastore
            putfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.targetLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        39: .line 303
            aload 6 /* sourceCaseLabels */
            iload 7 /* i */
            aaload
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
        40: .line 301
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 7 /* i */
            iload 8 /* max */
            if_icmplt 38
        end local 8 // int max
        end local 7 // int i
        42: .line 306
      StackMap locals:
      StackMap stack:
            iload 5 /* constSize */
            anewarray org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase
            astore 7 /* stringCases */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase[] stringCases
        43: .line 307
            iload 5 /* constSize */
            anewarray org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            astore 8 /* hashCodeCaseLabels */
        start local 8 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] hashCodeCaseLabels
        44: .line 308
            aload 0 /* this */
            iload 5 /* constSize */
            newarray 10
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
        45: .line 309
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        46: goto 51
        47: .line 310
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] int
      StackMap stack:
            aload 7 /* stringCases */
            iload 9 /* i */
            new org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.stringConstants:[Ljava/lang/String;
            iload 9 /* i */
            aaload
            invokevirtual java.lang.String.hashCode:()I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.stringConstants:[Ljava/lang/String;
            iload 9 /* i */
            aaload
            aload 6 /* sourceCaseLabels */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constMapping:[I
            iload 9 /* i */
            iaload
            aaload
            invokespecial org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;ILjava/lang/String;Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
            aastore
        48: .line 311
            aload 8 /* hashCodeCaseLabels */
            iload 9 /* i */
            new org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.CaseLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            aastore
        49: .line 312
            aload 8 /* hashCodeCaseLabels */
            iload 9 /* i */
            aaload
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
        50: .line 309
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        51: iload 9 /* i */
            iload 5 /* constSize */
            if_icmplt 47
        end local 9 // int i
        52: .line 314
            aload 7 /* stringCases */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
        53: .line 316
            iconst_0
            istore 9 /* uniqHashCount */
        start local 9 // int uniqHashCount
        54: .line 317
            iconst_0
            istore 10 /* lastHashCode */
        start local 10 // int lastHashCode
        55: .line 318
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        56: iload 5 /* constSize */
            istore 12 /* length */
        start local 12 // int length
        57: goto 62
        58: .line 319
      StackMap locals: int int int
      StackMap stack:
            aload 7 /* stringCases */
            iload 11 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase.hashCode:I
            istore 13 /* hashCode */
        start local 13 // int hashCode
        59: .line 320
            iload 11 /* i */
            ifeq 60
            iload 13 /* hashCode */
            iload 10 /* lastHashCode */
            if_icmpeq 61
        60: .line 321
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iload 9 /* uniqHashCount */
            iinc 9 /* uniqHashCount */ 1
            iload 13 /* hashCode */
            dup_x2
            iastore
            istore 10 /* lastHashCode */
        end local 13 // int hashCode
        61: .line 318
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        62: iload 11 /* i */
            iload 12 /* length */
            if_icmplt 58
        end local 12 // int length
        end local 11 // int i
        63: .line 325
            iload 9 /* uniqHashCount */
            iload 5 /* constSize */
            if_icmpeq 66
        64: .line 326
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iconst_0
            aload 0 /* this */
            iload 9 /* uniqHashCount */
            newarray 10
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iconst_0
            iload 9 /* uniqHashCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        65: .line 327
            aload 8 /* hashCodeCaseLabels */
            iconst_0
            iload 9 /* uniqHashCount */
            anewarray org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            dup
            astore 8 /* hashCodeCaseLabels */
            iconst_0
            iload 9 /* uniqHashCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        66: .line 329
      StackMap locals:
      StackMap stack:
            iload 9 /* uniqHashCount */
            newarray 10
            astore 11 /* sortedIndexes */
        start local 11 // int[] sortedIndexes
        67: .line 330
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        68: goto 71
        69: .line 331
      StackMap locals: int[] int
      StackMap stack:
            aload 11 /* sortedIndexes */
            iload 12 /* i */
            iload 12 /* i */
            iastore
        70: .line 330
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 12 /* i */
            iload 9 /* uniqHashCount */
            if_icmplt 69
        end local 12 // int i
        72: .line 334
            new org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.CaseLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 12 /* defaultCaseLabel */
        start local 12 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel defaultCaseLabel
        73: .line 335
            aload 12 /* defaultCaseLabel */
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
        74: .line 338
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.initialize:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
        75: .line 340
            new org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.BranchLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 13 /* defaultBranchLabel */
        start local 13 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel defaultBranchLabel
        76: .line 341
            iload 4 /* hasCases */
            ifeq 77
            aload 13 /* defaultBranchLabel */
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.BranchLabel.tagBits:I
        77: .line 342
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] int int int[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnull 79
        78: .line 343
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            aload 13 /* defaultBranchLabel */
            putfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.targetLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        79: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
        80: .line 347
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.store:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Z)V
        81: .line 348
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        82: .line 349
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringHashCode:()V
        83: .line 350
            iload 4 /* hasCases */
            ifeq 103
        84: .line 351
            aload 2 /* codeStream */
            aload 12 /* defaultCaseLabel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            aload 11 /* sortedIndexes */
            aload 8 /* hashCodeCaseLabels */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lookupswitch:(Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;[I[I[Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;)V
        85: .line 352
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        86: iconst_0
            istore 15 /* j */
        start local 15 // int j
        87: iload 5 /* constSize */
            istore 16 /* max */
        start local 16 // int max
        88: goto 100
        89: .line 353
      StackMap locals: int int int
      StackMap stack:
            aload 7 /* stringCases */
            iload 14 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase.hashCode:I
            istore 17 /* hashCode */
        start local 17 // int hashCode
        90: .line 354
            iload 14 /* i */
            ifeq 91
            iload 17 /* hashCode */
            iload 10 /* lastHashCode */
            if_icmpeq 95
        91: .line 355
      StackMap locals: int
      StackMap stack:
            iload 17 /* hashCode */
            istore 10 /* lastHashCode */
        92: .line 356
            iload 14 /* i */
            ifeq 94
        93: .line 357
            aload 2 /* codeStream */
            aload 13 /* defaultBranchLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        94: .line 359
      StackMap locals:
      StackMap stack:
            aload 8 /* hashCodeCaseLabels */
            iload 15 /* j */
            iinc 15 /* j */ 1
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CaseLabel.place:()V
        95: .line 361
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.load:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        96: .line 362
            aload 2 /* codeStream */
            aload 7 /* stringCases */
            iload 14 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase.string:Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ldc:(Ljava/lang/String;)V
        97: .line 363
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeStringEquals:()V
        98: .line 364
            aload 2 /* codeStream */
            aload 7 /* stringCases */
            iload 14 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase.label:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.ifne:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
        end local 17 // int hashCode
        99: .line 352
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
       100: iload 14 /* i */
            iload 16 /* max */
            if_icmplt 89
        end local 16 // int max
        end local 15 // int j
        end local 14 // int i
       101: .line 366
            aload 2 /* codeStream */
            aload 13 /* defaultBranchLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.goto_:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
       102: .line 367
            goto 104
       103: .line 368
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
       104: .line 372
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 14 /* caseIndex */
        start local 14 // int caseIndex
       105: .line 373
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 124
       106: .line 374
            iconst_0
            istore 15 /* i */
        start local 15 // int i
       107: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 16 /* maxCases */
        start local 16 // int maxCases
       108: goto 123
       109: .line 375
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 15 /* i */
            aaload
            astore 17 /* statement */
        start local 17 // org.eclipse.jdt.internal.compiler.ast.Statement statement
       110: .line 376
            iload 14 /* caseIndex */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            if_icmpge 116
            aload 17 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 14 /* caseIndex */
            aaload
            if_acmpne 116
       111: .line 377
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 14 /* caseIndex */
            aaload
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       112: .line 378
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            iconst_m1
            if_icmpeq 114
       113: .line 379
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       114: .line 381
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement
      StackMap stack:
            iinc 14 /* caseIndex */ 1
       115: .line 382
            goto 121
       116: .line 383
      StackMap locals:
      StackMap stack:
            aload 17 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            if_acmpne 121
       117: .line 384
            aload 12 /* defaultCaseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CaseLabel.place:()V
       118: .line 385
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       119: .line 386
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            iconst_m1
            if_icmpeq 121
       120: .line 387
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       121: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aload 17 /* statement */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statementGenerateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/ast/Statement;)V
        end local 17 // org.eclipse.jdt.internal.compiler.ast.Statement statement
       122: .line 374
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
       123: iload 15 /* i */
            iload 16 /* maxCases */
            if_icmplt 109
        end local 16 // int maxCases
        end local 15 // int i
       124: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
            iconst_m1
            if_icmpeq 127
       125: .line 397
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       126: .line 398
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       127: .line 400
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
       128: .line 401
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 1 /* currentScope */
            if_acmpeq 130
       129: .line 402
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.exitUserScope:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
       130: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       131: .line 406
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnonnull 135
       132: .line 408
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.sourceEnd:I
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(IIZ)V
       133: .line 409
            aload 12 /* defaultCaseLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CaseLabel.place:()V
       134: .line 410
            aload 13 /* defaultBranchLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       135: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expectedType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 143
       136: .line 413
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expectedType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 15 /* expectedType */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
       137: .line 414
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.lastAbruptCompletion:I
            iconst_m1
            if_icmpne 138
            iconst_1
            goto 139
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
       138: iconst_0
      StackMap locals:
      StackMap stack: int
       139: istore 16 /* optimizedGoto */
        start local 16 // boolean optimizedGoto
       140: .line 417
            aload 2 /* codeStream */
            aload 15 /* expectedType */
            iload 16 /* optimizedGoto */
            ifeq 141
            iconst_0
            goto 142
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] int int int[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack: org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.lookup.TypeBinding
       141: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] int int int[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel org.eclipse.jdt.internal.compiler.codegen.BranchLabel int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack: org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
       142: iload 16 /* optimizedGoto */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordExpressionType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
        end local 16 // boolean optimizedGoto
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
       143: .line 419
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 3 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 14 // int caseIndex
        end local 13 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel defaultBranchLabel
        end local 12 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel defaultCaseLabel
        end local 11 // int[] sortedIndexes
        end local 10 // int lastHashCode
        end local 9 // int uniqHashCount
        end local 8 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] hashCodeCaseLabels
        end local 7 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase[] stringCases
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel[] sourceCaseLabels
        end local 5 // int constSize
        end local 4 // boolean hasCases
        end local 3 // int pc
       144: .line 420
            goto 148
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream
      StackMap stack: java.lang.Throwable
       145: astore 18
       146: .line 421
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 147
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       147: .line 422
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 18
            athrow
       148: .line 421
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 149
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       149: .line 423
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  150     0                this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0  150     1        currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0  150     2          codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            4  144     3                  pc  I
            7  144     4            hasCases  Z
           10  144     5           constSize  I
           19   34     6    sourceCaseLabels  [Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
           35  144     6    sourceCaseLabels  [Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
           12   18     7                   i  I
           13   18     8                 max  I
           15   16     9                   l  I
           20   33     7                   j  I
           21   33     8                   i  I
           22   33     9                 max  I
           24   31    10                stmt  Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
           25   31    11                   k  I
           26   31    12                   l  I
           36   42     7                   i  I
           37   42     8                 max  I
           43  144     7         stringCases  [Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement$1StringSwitchCase;
           44  144     8  hashCodeCaseLabels  [Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;
           46   52     9                   i  I
           54  144     9       uniqHashCount  I
           55  144    10        lastHashCode  I
           56   63    11                   i  I
           57   63    12              length  I
           59   61    13            hashCode  I
           67  144    11       sortedIndexes  [I
           68   72    12                   i  I
           73  144    12    defaultCaseLabel  Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;
           76  144    13  defaultBranchLabel  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
           86  101    14                   i  I
           87  101    15                   j  I
           88  101    16                 max  I
           90   99    17            hashCode  I
          105  144    14           caseIndex  I
          107  124    15                   i  I
          108  124    16            maxCases  I
          110  122    17           statement  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
          137  143    15        expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          140  143    16       optimizedGoto  Z
      Exception table:
        from    to  target  type
           0     1     145  any
           3   145     145  any
    MethodParameters:
              Name  Flags
      currentScope  
      codeStream    

  public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=17, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
         0: .line 434
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 11
            if_icmpne 3
         1: .line 435
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.generateCodeForStringSwitch:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
         2: .line 436
            return
         3: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.bits:I
            ldc -2147483648
            iand
            ifne 6
         4: .line 606
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
         5: .line 440
      StackMap locals:
      StackMap stack:
            return
         6: .line 442
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 3 /* pc */
        start local 3 // int pc
         7: .line 445
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.initialize:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
         8: .line 446
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            ifnonnull 9
            iconst_0
            goto 10
      StackMap locals: int
      StackMap stack:
         9: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            arraylength
      StackMap locals:
      StackMap stack: int
        10: istore 4 /* constantCount */
        start local 4 // int constantCount
        11: .line 447
            iconst_0
            istore 5 /* nCaseLabels */
        start local 5 // int nCaseLabels
        12: .line 449
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3670016
            lcmp
            iflt 37
        13: .line 450
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        14: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            istore 8 /* max */
        start local 8 // int max
        15: goto 20
        16: .line 451
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int top int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 7 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.constantExpressions:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 9 /* l */
        start local 9 // int l
        17: .line 452
            iload 5 /* nCaseLabels */
            iload 9 /* l */
            iadd
            istore 5 /* nCaseLabels */
        18: .line 453
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 7 /* i */
            aaload
            iload 9 /* l */
            anewarray org.eclipse.jdt.internal.compiler.codegen.BranchLabel
            putfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.targetLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        end local 9 // int l
        19: .line 450
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            iload 8 /* max */
            if_icmplt 16
        end local 8 // int max
        end local 7 // int i
        21: .line 455
            iload 5 /* nCaseLabels */
            anewarray org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            astore 6 /* caseLabels */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] caseLabels
        22: .line 456
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        23: .line 457
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        24: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            istore 9 /* max */
        start local 9 // int max
        25: goto 35
        26: .line 458
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 8 /* i */
            aaload
            astore 10 /* stmt */
        start local 10 // org.eclipse.jdt.internal.compiler.ast.CaseStatement stmt
        27: .line 459
            iconst_0
            istore 11 /* k */
        start local 11 // int k
        28: aload 10 /* stmt */
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.constantExpressions:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 12 /* l */
        start local 12 // int l
        29: goto 33
        30: .line 460
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.CaseStatement int int
      StackMap stack:
            aload 10 /* stmt */
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.targetLabels:[Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            iload 11 /* k */
            aload 6 /* caseLabels */
            iload 7 /* j */
            new org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.CaseLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            dup_x2
            aastore
            aastore
        31: .line 461
            aload 6 /* caseLabels */
            iload 7 /* j */
            iinc 7 /* j */ 1
            aaload
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
        32: .line 459
            iinc 11 /* k */ 1
      StackMap locals:
      StackMap stack:
        33: iload 11 /* k */
            iload 12 /* l */
            if_icmplt 30
        end local 12 // int l
        end local 11 // int k
        end local 10 // org.eclipse.jdt.internal.compiler.ast.CaseStatement stmt
        34: .line 457
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 8 /* i */
            iload 9 /* max */
            if_icmplt 26
        end local 9 // int max
        end local 8 // int i
        end local 7 // int j
        36: .line 464
            goto 45
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] caseLabels
        37: .line 465
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            anewarray org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            astore 6 /* caseLabels */
        start local 6 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] caseLabels
        38: .line 466
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        39: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            istore 8 /* max */
        start local 8 // int max
        40: goto 44
        41: .line 467
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 7 /* i */
            aaload
            aload 6 /* caseLabels */
            iload 7 /* i */
            new org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.CaseLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            dup_x2
            aastore
            putfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.targetLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        42: .line 468
            aload 6 /* caseLabels */
            iload 7 /* i */
            aaload
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
        43: .line 466
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 7 /* i */
            iload 8 /* max */
            if_icmplt 41
        end local 8 // int max
        end local 7 // int i
        45: .line 472
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.codegen.CaseLabel
            dup
            aload 2 /* codeStream */
            invokespecial org.eclipse.jdt.internal.compiler.codegen.CaseLabel.<init>:(Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
            astore 7 /* defaultLabel */
        start local 7 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel defaultLabel
        46: .line 473
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            ifeq 47
            iconst_1
            goto 48
      StackMap locals: org.eclipse.jdt.internal.compiler.codegen.CaseLabel
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 8 /* hasCases */
        start local 8 // boolean hasCases
        49: .line 474
            iload 8 /* hasCases */
            ifeq 50
            aload 7 /* defaultLabel */
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
            iconst_2
            ior
            putfield org.eclipse.jdt.internal.compiler.codegen.CaseLabel.tagBits:I
        50: .line 475
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnull 52
        51: .line 476
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            aload 7 /* defaultLabel */
            putfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.targetLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
        52: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 9 /* resolvedType1 */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolvedType1
        53: .line 480
            iconst_0
            istore 10 /* valueRequired */
        start local 10 // boolean valueRequired
        54: .line 481
            aload 9 /* resolvedType1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEnum:()Z
            ifeq 63
        55: .line 483
            aload 2 /* codeStream */
            bipush -72
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.synthetic:Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invoke:(BLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        56: .line 484
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
        57: .line 486
            aload 2 /* codeStream */
            aload 9 /* resolvedType1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.constantPoolName:()[C
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeEnumOrdinal:([C)V
        58: .line 487
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.iaload:()V
        59: .line 488
            iload 8 /* hasCases */
            ifne 61
        60: .line 490
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
        61: .line 492
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
            iload 8 /* hasCases */
            istore 10 /* valueRequired */
        62: .line 493
            goto 67
        63: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 64
            iload 8 /* hasCases */
            ifne 64
            iconst_0
            goto 65
      StackMap locals:
      StackMap stack:
        64: iconst_1
      StackMap locals:
      StackMap stack: int
        65: istore 10 /* valueRequired */
        66: .line 496
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iload 10 /* valueRequired */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
        67: .line 499
      StackMap locals:
      StackMap stack:
            iload 8 /* hasCases */
            ifeq 96
        68: .line 500
            iload 4 /* constantCount */
            newarray 10
            astore 11 /* sortedIndexes */
        start local 11 // int[] sortedIndexes
        69: .line 502
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        70: goto 73
        71: .line 503
      StackMap locals: int[] int
      StackMap stack:
            aload 11 /* sortedIndexes */
            iload 12 /* i */
            iload 12 /* i */
            iastore
        72: .line 502
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 12 /* i */
            iload 4 /* constantCount */
            if_icmplt 71
        end local 12 // int i
        74: .line 506
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iconst_0
            iload 4 /* constantCount */
            newarray 10
            dup
            astore 12 /* localKeysCopy */
        start local 12 // int[] localKeysCopy
        75: iconst_0
            iload 4 /* constantCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        76: .line 507
            aload 12 /* localKeysCopy */
            iconst_0
            iload 4 /* constantCount */
            iconst_1
            isub
            aload 11 /* sortedIndexes */
            invokestatic org.eclipse.jdt.internal.compiler.codegen.CodeStream.sort:([III[I)V
        77: .line 509
            aload 12 /* localKeysCopy */
            iload 4 /* constantCount */
            iconst_1
            isub
            iaload
            istore 13 /* max */
        start local 13 // int max
        78: .line 510
            aload 12 /* localKeysCopy */
            iconst_0
            iaload
            istore 14 /* min */
        start local 14 // int min
        79: .line 511
            iload 4 /* constantCount */
            i2d
            ldc 2.5
            dmul
            d2l
            iload 13 /* max */
            i2l
            iload 14 /* min */
            i2l
            lsub
            lcmp
            ifle 93
        80: .line 515
            iload 13 /* max */
            ldc 2147418112
            if_icmple 83
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3145728
            lcmp
            ifge 83
        81: .line 516
            aload 2 /* codeStream */
            aload 7 /* defaultLabel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            aload 11 /* sortedIndexes */
            aload 6 /* caseLabels */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lookupswitch:(Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;[I[I[Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;)V
        82: .line 518
            goto 94
        83: .line 519
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int[] int[] int int
      StackMap stack:
            aload 2 /* codeStream */
        84: .line 520
            aload 7 /* defaultLabel */
        85: .line 521
            iload 14 /* min */
        86: .line 522
            iload 13 /* max */
        87: .line 523
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
        88: .line 524
            aload 11 /* sortedIndexes */
        89: .line 525
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constMapping:[I
        90: .line 526
            aload 6 /* caseLabels */
        91: .line 519
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.tableswitch:(Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;II[I[I[I[Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;)V
        92: .line 528
            goto 94
        93: .line 529
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 7 /* defaultLabel */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            aload 11 /* sortedIndexes */
            aload 6 /* caseLabels */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.lookupswitch:(Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;[I[I[Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;)V
        94: .line 531
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 14 // int min
        end local 13 // int max
        end local 12 // int[] localKeysCopy
        end local 11 // int[] sortedIndexes
        95: .line 532
            goto 98
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
        96: iload 10 /* valueRequired */
            ifeq 98
        97: .line 533
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
        98: .line 537
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* caseIndex */
        start local 11 // int caseIndex
        99: .line 538
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 117
       100: .line 539
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       101: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 13 /* maxCases */
        start local 13 // int maxCases
       102: goto 116
       103: .line 540
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 12 /* i */
            aaload
            astore 14 /* statement */
        start local 14 // org.eclipse.jdt.internal.compiler.ast.Statement statement
       104: .line 541
            iload 11 /* caseIndex */
            iload 4 /* constantCount */
            if_icmpge 110
            aload 14 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 11 /* caseIndex */
            aaload
            if_acmpne 110
       105: .line 542
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 11 /* caseIndex */
            aaload
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       106: .line 543
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            iconst_m1
            if_icmpeq 108
       107: .line 544
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       108: .line 546
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement
      StackMap stack:
            iinc 11 /* caseIndex */ 1
       109: .line 547
            goto 114
       110: .line 548
      StackMap locals:
      StackMap stack:
            aload 14 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            if_acmpne 114
       111: .line 549
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       112: .line 550
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            iconst_m1
            if_icmpeq 114
       113: .line 551
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       114: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            aload 14 /* statement */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statementGenerateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/ast/Statement;)V
        end local 14 // org.eclipse.jdt.internal.compiler.ast.Statement statement
       115: .line 539
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
       116: iload 12 /* i */
            iload 13 /* maxCases */
            if_icmplt 103
        end local 13 // int maxCases
        end local 12 // int i
       117: .line 558
      StackMap locals:
      StackMap stack:
            aload 9 /* resolvedType1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEnum:()Z
            ifeq 118
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            ifeq 118
            iconst_1
            goto 119
      StackMap locals:
      StackMap stack:
       118: iconst_0
      StackMap locals:
      StackMap stack: int
       119: istore 12 /* enumInSwitchExpression */
        start local 12 // boolean enumInSwitchExpression
       120: .line 559
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnonnull 121
            iload 12 /* enumInSwitchExpression */
            ifeq 121
            iconst_1
            goto 122
      StackMap locals: int
      StackMap stack:
       121: iconst_0
      StackMap locals:
      StackMap stack: int
       122: istore 13 /* isEnumSwitchWithoutDefaultCase */
        start local 13 // boolean isEnumSwitchWithoutDefaultCase
       123: .line 560
            iload 13 /* isEnumSwitchWithoutDefaultCase */
            ifeq 131
       124: .line 562
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            iconst_m1
            if_icmpeq 126
       125: .line 563
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.preSwitchInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       126: .line 565
      StackMap locals: int
      StackMap stack:
            aload 7 /* defaultLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CaseLabel.place:()V
       127: .line 574
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.newJavaLangIncompatibleClassChangeError:()V
       128: .line 575
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.dup:()V
       129: .line 576
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invokeJavaLangIncompatibleClassChangeErrorDefaultConstructor:()V
       130: .line 577
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.athrow:()V
       131: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
            iconst_m1
            if_icmpeq 134
       132: .line 581
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.removeNotDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       133: .line 582
            aload 2 /* codeStream */
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.mergedInitStateIndex:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.addDefinitelyAssignedVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;I)V
       134: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 1 /* currentScope */
            if_acmpeq 136
       135: .line 585
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.exitUserScope:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
       136: .line 588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.place:()V
       137: .line 589
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnonnull 140
            iload 12 /* enumInSwitchExpression */
            ifne 140
       138: .line 591
            aload 2 /* codeStream */
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.sourceEnd:I
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(IIZ)V
       139: .line 592
            aload 7 /* defaultLabel */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CaseLabel.place:()V
       140: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            ifeq 152
       141: .line 595
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 14 /* switchResolveType */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding switchResolveType
       142: .line 596
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expectedType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 144
       143: .line 597
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expectedType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 14 /* switchResolveType */
       144: .line 599
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.lastAbruptCompletion:I
            iconst_m1
            if_icmpne 145
            iconst_1
            goto 146
      StackMap locals:
      StackMap stack:
       145: iconst_0
      StackMap locals:
      StackMap stack: int
       146: istore 15 /* optimizedGoto */
        start local 15 // boolean optimizedGoto
       147: .line 602
            aload 2 /* codeStream */
            aload 14 /* switchResolveType */
            iload 15 /* optimizedGoto */
            ifeq 148
            iconst_0
            goto 149
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack: org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.lookup.TypeBinding
       148: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack: org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
       149: iload 15 /* optimizedGoto */
            ifne 150
            iload 13 /* isEnumSwitchWithoutDefaultCase */
            ifne 150
            iconst_0
            goto 151
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack: org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
       150: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream int int int org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] org.eclipse.jdt.internal.compiler.codegen.CaseLabel int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack: org.eclipse.jdt.internal.compiler.codegen.CodeStream org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
       151: invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordExpressionType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
        end local 15 // boolean optimizedGoto
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding switchResolveType
       152: .line 604
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 3 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        end local 13 // boolean isEnumSwitchWithoutDefaultCase
        end local 12 // boolean enumInSwitchExpression
        end local 11 // int caseIndex
        end local 10 // boolean valueRequired
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolvedType1
        end local 8 // boolean hasCases
        end local 7 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel defaultLabel
        end local 6 // org.eclipse.jdt.internal.compiler.codegen.CaseLabel[] caseLabels
        end local 5 // int nCaseLabels
        end local 4 // int constantCount
        end local 3 // int pc
       153: .line 605
            goto 157
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream
      StackMap stack: java.lang.Throwable
       154: astore 16
       155: .line 606
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 156
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       156: .line 607
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 16
            athrow
       157: .line 606
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.codegen.CodeStream
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 158
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       158: .line 608
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0  159     0                            this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0  159     1                    currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0  159     2                      codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            7  153     3                              pc  I
           11  153     4                   constantCount  I
           12  153     5                     nCaseLabels  I
           22   37     6                      caseLabels  [Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;
           38  153     6                      caseLabels  [Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;
           14   21     7                               i  I
           15   21     8                             max  I
           17   19     9                               l  I
           23   36     7                               j  I
           24   36     8                               i  I
           25   36     9                             max  I
           27   34    10                            stmt  Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
           28   34    11                               k  I
           29   34    12                               l  I
           39   45     7                               i  I
           40   45     8                             max  I
           46  153     7                    defaultLabel  Lorg/eclipse/jdt/internal/compiler/codegen/CaseLabel;
           49  153     8                        hasCases  Z
           53  153     9                   resolvedType1  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           54  153    10                   valueRequired  Z
           69   95    11                   sortedIndexes  [I
           70   74    12                               i  I
           75   95    12                   localKeysCopy  [I
           78   95    13                             max  I
           79   95    14                             min  I
           99  153    11                       caseIndex  I
          101  117    12                               i  I
          102  117    13                        maxCases  I
          104  115    14                       statement  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
          120  153    12          enumInSwitchExpression  Z
          123  153    13  isEnumSwitchWithoutDefaultCase  Z
          142  152    14               switchResolveType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          147  152    15                   optimizedGoto  Z
      Exception table:
        from    to  target  type
           3     4     154  any
           6   154     154  any
    MethodParameters:
              Name  Flags
      currentScope  
      codeStream    

  protected void statementGenerateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, org.eclipse.jdt.internal.compiler.ast.Statement);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Lorg/eclipse/jdt/internal/compiler/ast/Statement;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // org.eclipse.jdt.internal.compiler.ast.Statement statement
         0: .line 610
            aload 3 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
         1: .line 611
            return
        end local 3 // org.eclipse.jdt.internal.compiler.ast.Statement statement
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0    2     1  currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    2     2    codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0    2     3     statement  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
    MethodParameters:
              Name  Flags
      currentScope  
      codeStream    
      statement     

  public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // boolean valueRequired
         0: .line 615
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
         1: .line 616
            return
        end local 3 // boolean valueRequired
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0    2     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    2     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0    2     3  valueRequired  Z
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      valueRequired  

  public java.lang.StringBuffer printStatement(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 620
            iload 1 /* indent */
            aload 2 /* output */
            invokestatic org.eclipse.jdt.internal.compiler.ast.SwitchStatement.printIndent:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            ldc "switch ("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 621
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            ldc ") {"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 622
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 12
         3: .line 623
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 11
         5: .line 624
      StackMap locals: int
      StackMap stack:
            aload 2 /* output */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 625
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 3 /* i */
            aaload
            instanceof org.eclipse.jdt.internal.compiler.ast.CaseStatement
            ifeq 9
         7: .line 626
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 3 /* i */
            aaload
            iload 1 /* indent */
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.printStatement:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
         8: .line 627
            goto 10
         9: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 3 /* i */
            aaload
            iload 1 /* indent */
            iconst_2
            iadd
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.printStatement:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        10: .line 623
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            if_icmplt 5
        end local 3 // int i
        12: .line 632
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            ldc "\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 633
            iload 1 /* indent */
            aload 2 /* output */
            invokestatic org.eclipse.jdt.internal.compiler.ast.SwitchStatement.printIndent:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            bipush 125
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            areturn
        end local 2 // java.lang.StringBuffer output
        end local 1 // int indent
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0   14     1  indent  I
            0   14     2  output  Ljava/lang/StringBuffer;
            4   12     3       i  I
    MethodParameters:
        Name  Flags
      indent  
      output  

  private int getNConstants();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
         0: .line 637
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         1: .line 638
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 3 /* l */
        start local 3 // int l
         3: goto 13
         4: .line 639
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 2 /* i */
            aaload
            astore 4 /* statement */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.Statement statement
         5: .line 640
            aload 4 /* statement */
            instanceof org.eclipse.jdt.internal.compiler.ast.CaseStatement
            ifne 7
         6: .line 641
            goto 12
         7: .line 643
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Statement
      StackMap stack:
            aload 4 /* statement */
            checkcast org.eclipse.jdt.internal.compiler.ast.CaseStatement
            astore 5 /* caseStmt */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.CaseStatement caseStmt
         8: .line 644
            iload 1 /* n */
            aload 5 /* caseStmt */
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.constantExpressions:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 9
            aload 5 /* caseStmt */
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.constantExpressions:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            goto 11
         9: .line 645
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement int int int org.eclipse.jdt.internal.compiler.ast.Statement org.eclipse.jdt.internal.compiler.ast.CaseStatement
      StackMap stack: int
            aload 5 /* caseStmt */
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.constantExpression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack: int
        10: iconst_0
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement int int int org.eclipse.jdt.internal.compiler.ast.Statement org.eclipse.jdt.internal.compiler.ast.CaseStatement
      StackMap stack: int int
        11: iadd
            istore 1 /* n */
        end local 5 // org.eclipse.jdt.internal.compiler.ast.CaseStatement caseStmt
        end local 4 // org.eclipse.jdt.internal.compiler.ast.Statement statement
        12: .line 638
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            iload 3 /* l */
            if_icmplt 4
        end local 3 // int l
        end local 2 // int i
        14: .line 647
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            1   15     1          n  I
            2   14     2          i  I
            3   14     3          l  I
            5   12     4  statement  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            8   12     5   caseStmt  Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;

  public void resolve(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=20, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope upperScope
         0: .line 652
            iconst_0
            istore 2 /* isEnumSwitch */
        start local 2 // boolean isEnumSwitch
         1: .line 653
            iconst_0
            istore 3 /* isStringSwitch */
        start local 3 // boolean isStringSwitch
         2: .line 654
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* expressionType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
         3: .line 655
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            astore 5 /* compilerOptions */
        start local 5 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
         4: .line 656
            aload 4 /* expressionType */
            ifnull 27
         5: .line 657
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* upperScope */
            aload 4 /* expressionType */
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         6: .line 659
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
            ifne 9
         7: .line 660
            aconst_null
            astore 4 /* expressionType */
         8: .line 661
            goto 27
         9: .line 662
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions
      StackMap stack:
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 14
        10: .line 663
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 4 /* expressionType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isConstantValueOfTypeAssignableToType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 12
        11: .line 664
            goto 27
        12: .line 665
      StackMap locals:
      StackMap stack:
            aload 4 /* expressionType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 25
        13: .line 666
            goto 27
        14: .line 667
      StackMap locals:
      StackMap stack:
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isEnum:()Z
            ifeq 19
        15: .line 668
            iconst_1
            istore 2 /* isEnumSwitch */
        16: .line 669
            aload 5 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3211264
            lcmp
            ifge 27
        17: .line 670
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.incorrectSwitchType:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        18: .line 672
            goto 27
        19: .line 673
      StackMap locals:
      StackMap stack:
            aload 1 /* upperScope */
            aload 4 /* expressionType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.isBoxingCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 22
        20: .line 674
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* upperScope */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        21: .line 675
            goto 27
        22: .line 676
      StackMap locals:
      StackMap stack:
            aload 5 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3342336
            lcmp
            iflt 25
            aload 4 /* expressionType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 11
            if_icmpne 25
        23: .line 677
            iconst_1
            istore 3 /* isStringSwitch */
        24: .line 678
            goto 27
        25: .line 680
      StackMap locals:
      StackMap stack:
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.incorrectSwitchType:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        26: .line 681
            aconst_null
            astore 4 /* expressionType */
        27: .line 684
      StackMap locals:
      StackMap stack:
            iload 3 /* isStringSwitch */
            ifeq 32
        28: .line 688
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
            dup
            getstatic org.eclipse.jdt.internal.compiler.ast.SwitchStatement.SecretStringVariableName:[C
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getJavaLangString:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_0
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.<init>:([CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
        29: .line 689
            aload 1 /* upperScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.addLocalVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        30: .line 690
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.setConstant:(Lorg/eclipse/jdt/internal/compiler/impl/Constant;)V
        31: .line 691
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.dispatchStringCopy:Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.useFlag:I
        32: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 91
        33: .line 694
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.lookup.BlockScope
            dup
            aload 1 /* upperScope */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BlockScope.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
        34: .line 697
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            dup
            istore 6 /* length */
        start local 6 // int length
        35: anewarray org.eclipse.jdt.internal.compiler.ast.CaseStatement
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
        36: .line 698
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.getNConstants:()I
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.nConstants:I
        37: .line 699
            iload 3 /* isStringSwitch */
            ifne 41
        38: .line 700
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.nConstants:I
            newarray 10
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
        39: .line 701
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.nConstants:I
            newarray 10
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constMapping:[I
        40: .line 702
            goto 43
        41: .line 703
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.nConstants:I
            anewarray java.lang.String
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.stringConstants:[Ljava/lang/String;
        42: .line 704
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.nConstants:I
            newarray 10
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constMapping:[I
        43: .line 706
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* counter */
        start local 7 // int counter
        44: .line 707
            iconst_0
            istore 8 /* caseCounter */
        start local 8 // int caseCounter
        45: .line 708
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        46: goto 83
        47: .line 710
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.nConstants:I
            newarray 10
            astore 11 /* caseIndex */
        start local 11 // int[] caseIndex
        48: .line 711
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 9 /* i */
            aaload
            astore 12 /* statement */
        start local 12 // org.eclipse.jdt.internal.compiler.ast.Statement statement
        49: .line 712
            aload 12 /* statement */
            instanceof org.eclipse.jdt.internal.compiler.ast.CaseStatement
            ifne 52
        50: .line 713
            aload 12 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.resolve:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        51: .line 714
            goto 82
        52: .line 716
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int int int int top int[] org.eclipse.jdt.internal.compiler.ast.Statement
      StackMap stack:
            aload 12 /* statement */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 4 /* expressionType */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.resolveCase:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;)[Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            dup
            astore 10 /* constantsList */
        start local 10 // org.eclipse.jdt.internal.compiler.impl.Constant[] constantsList
        53: getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstantList:[Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 81
        54: .line 717
            aload 10 /* constantsList */
            dup
            astore 16
            arraylength
            istore 15
            iconst_0
            istore 14
            goto 80
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int int int int org.eclipse.jdt.internal.compiler.impl.Constant[] int[] org.eclipse.jdt.internal.compiler.ast.Statement top int int org.eclipse.jdt.internal.compiler.impl.Constant[]
      StackMap stack:
        55: aload 16
            iload 14
            aaload
            astore 13 /* con */
        start local 13 // org.eclipse.jdt.internal.compiler.impl.Constant con
        56: .line 718
            aload 13 /* con */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpne 58
        57: .line 719
            goto 79
        58: .line 720
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int int int int org.eclipse.jdt.internal.compiler.impl.Constant[] int[] org.eclipse.jdt.internal.compiler.ast.Statement org.eclipse.jdt.internal.compiler.impl.Constant int int org.eclipse.jdt.internal.compiler.impl.Constant[]
      StackMap stack:
            iload 3 /* isStringSwitch */
            ifne 68
        59: .line 721
            aload 13 /* con */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            istore 17 /* key */
        start local 17 // int key
        60: .line 723
            iconst_0
            istore 18 /* j */
        start local 18 // int j
        61: goto 65
        62: .line 724
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iload 18 /* j */
            iaload
            iload 17 /* key */
            if_icmpne 64
        63: .line 725
            aload 0 /* this */
            aload 12 /* statement */
            checkcast org.eclipse.jdt.internal.compiler.ast.CaseStatement
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            aload 11 /* caseIndex */
            iload 18 /* j */
            iaload
            aaload
            iload 6 /* length */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.reportDuplicateCase:(Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;I)V
        64: .line 723
      StackMap locals:
      StackMap stack:
            iinc 18 /* j */ 1
      StackMap locals:
      StackMap stack:
        65: iload 18 /* j */
            iload 7 /* counter */
            if_icmplt 62
        end local 18 // int j
        66: .line 728
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iload 7 /* counter */
            iload 17 /* key */
            iastore
        end local 17 // int key
        67: .line 729
            goto 76
        68: .line 730
      StackMap locals:
      StackMap stack:
            aload 13 /* con */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.stringValue:()Ljava/lang/String;
            astore 17 /* key */
        start local 17 // java.lang.String key
        69: .line 732
            iconst_0
            istore 18 /* j */
        start local 18 // int j
        70: goto 74
        71: .line 733
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.stringConstants:[Ljava/lang/String;
            iload 18 /* j */
            aaload
            aload 17 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 73
        72: .line 734
            aload 0 /* this */
            aload 12 /* statement */
            checkcast org.eclipse.jdt.internal.compiler.ast.CaseStatement
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            aload 11 /* caseIndex */
            iload 18 /* j */
            iaload
            aaload
            iload 6 /* length */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.reportDuplicateCase:(Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;I)V
        73: .line 732
      StackMap locals:
      StackMap stack:
            iinc 18 /* j */ 1
      StackMap locals:
      StackMap stack:
        74: iload 18 /* j */
            iload 7 /* counter */
            if_icmplt 71
        end local 18 // int j
        75: .line 737
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.stringConstants:[Ljava/lang/String;
            iload 7 /* counter */
            aload 17 /* key */
            aastore
        end local 17 // java.lang.String key
        76: .line 739
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constMapping:[I
            iload 7 /* counter */
            iload 7 /* counter */
            iastore
        77: .line 740
            aload 11 /* caseIndex */
            iload 7 /* counter */
            iload 8 /* caseCounter */
            iastore
        78: .line 741
            iinc 7 /* counter */ 1
        end local 13 // org.eclipse.jdt.internal.compiler.impl.Constant con
        79: .line 717
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int int int int org.eclipse.jdt.internal.compiler.impl.Constant[] int[] org.eclipse.jdt.internal.compiler.ast.Statement top int int org.eclipse.jdt.internal.compiler.impl.Constant[]
      StackMap stack:
            iinc 14 1
      StackMap locals:
      StackMap stack:
        80: iload 14
            iload 15
            if_icmplt 55
        81: .line 744
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int int int int org.eclipse.jdt.internal.compiler.impl.Constant[] int[] org.eclipse.jdt.internal.compiler.ast.Statement
      StackMap stack:
            iinc 8 /* caseCounter */ 1
        end local 12 // org.eclipse.jdt.internal.compiler.ast.Statement statement
        end local 11 // int[] caseIndex
        end local 10 // org.eclipse.jdt.internal.compiler.impl.Constant[] constantsList
        82: .line 708
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        83: iload 9 /* i */
            iload 6 /* length */
            if_icmplt 47
        end local 9 // int i
        84: .line 746
            iload 6 /* length */
            iload 7 /* counter */
            if_icmpeq 93
        85: .line 747
            iload 3 /* isStringSwitch */
            ifne 88
        86: .line 748
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iconst_0
            aload 0 /* this */
            iload 7 /* counter */
            newarray 10
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iconst_0
            iload 7 /* counter */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        87: .line 749
            goto 89
        88: .line 750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.stringConstants:[Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            iload 7 /* counter */
            anewarray java.lang.String
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.stringConstants:[Ljava/lang/String;
            iconst_0
            iload 7 /* counter */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        89: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constMapping:[I
            iconst_0
            aload 0 /* this */
            iload 7 /* counter */
            newarray 10
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constMapping:[I
            iconst_0
            iload 7 /* counter */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 8 // int caseCounter
        end local 7 // int counter
        end local 6 // int length
        90: .line 754
            goto 93
        91: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.bits:I
            bipush 8
            iand
            ifeq 93
        92: .line 756
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.blockStart:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.undocumentedEmptyBlock:(II)V
        93: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.reportMixingCaseTypes:()V
        94: .line 761
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnonnull 100
        95: .line 762
            aload 0 /* this */
            aload 5 /* compilerOptions */
            iload 2 /* isEnumSwitch */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.ignoreMissingDefaultCase:(Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Z)Z
            ifeq 99
        96: .line 763
            iload 2 /* isEnumSwitch */
            ifeq 100
        97: .line 764
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.MethodScope.hasMissingSwitchDefault:Z
        98: .line 766
            goto 100
        99: .line 767
      StackMap locals:
      StackMap stack:
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            iload 2 /* isEnumSwitch */
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.missingDefaultCase:(Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;ZLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
       100: .line 771
      StackMap locals:
      StackMap stack:
            iload 2 /* isEnumSwitch */
            ifeq 130
            aload 5 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3211264
            lcmp
            iflt 130
       101: .line 772
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnull 102
            aload 5 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.reportMissingEnumCaseDespiteDefault:Z
            ifeq 130
       102: .line 773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            ifnonnull 103
            iconst_0
            goto 104
      StackMap locals:
      StackMap stack:
       103: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            arraylength
      StackMap locals:
      StackMap stack: int
       104: istore 6 /* constantCount */
        start local 6 // int constantCount
       105: .line 774
            iload 6 /* constantCount */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            if_icmplt 130
       106: .line 775
            iload 6 /* constantCount */
            aload 4 /* expressionType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.enumConstantCount:()I
            if_icmpeq 130
       107: .line 776
            aload 4 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.fields:()[Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            astore 7 /* enumFields */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding[] enumFields
       108: .line 777
            iconst_0
            istore 8 /* i */
        start local 8 // int i
       109: aload 7 /* enumFields */
            arraylength
            istore 9 /* max */
        start local 9 // int max
       110: goto 125
       111: .line 778
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int org.eclipse.jdt.internal.compiler.lookup.FieldBinding[] int int
      StackMap stack:
            aload 7 /* enumFields */
            iload 8 /* i */
            aaload
            astore 10 /* enumConstant */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding enumConstant
       112: .line 779
            aload 10 /* enumConstant */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.modifiers:I
            sipush 16384
            iand
            ifne 113
            goto 124
       113: .line 781
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.FieldBinding
      StackMap stack:
            iconst_0
            istore 11 /* j */
        start local 11 // int j
       114: goto 118
       115: .line 782
      StackMap locals: int
      StackMap stack:
            aload 10 /* enumConstant */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.id:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.constants:[I
            iload 11 /* j */
            iaload
            if_icmpne 117
       116: .line 783
            goto 124
       117: .line 781
      StackMap locals:
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
       118: iload 11 /* j */
            iload 6 /* constantCount */
            if_icmplt 115
        end local 11 // int j
       119: .line 786
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnull 120
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.bits:I
            ldc 1073741824
            iand
            ifeq 120
            iconst_1
            goto 121
      StackMap locals:
      StackMap stack:
       120: iconst_0
      StackMap locals:
      StackMap stack: int
       121: istore 11 /* suppress */
        start local 11 // boolean suppress
       122: .line 787
            iload 11 /* suppress */
            ifne 124
       123: .line 788
            aload 0 /* this */
            aload 1 /* upperScope */
            aload 10 /* enumConstant */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.reportMissingEnumConstantCase:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;)V
        end local 11 // boolean suppress
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding enumConstant
       124: .line 777
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       125: iload 8 /* i */
            iload 9 /* max */
            if_icmplt 111
        end local 9 // int max
        end local 8 // int i
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding[] enumFields
        end local 6 // int constantCount
        end local 5 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
        end local 3 // boolean isStringSwitch
        end local 2 // boolean isEnumSwitch
       126: .line 795
            goto 130
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope
      StackMap stack: java.lang.Throwable
       127: astore 19
       128: .line 796
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 129
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       129: .line 797
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 19
            athrow
       130: .line 796
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement org.eclipse.jdt.internal.compiler.lookup.BlockScope
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            ifnull 131
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
       131: .line 798
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope upperScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  132     0             this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0  132     1       upperScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            1  126     2     isEnumSwitch  Z
            2  126     3   isStringSwitch  Z
            3  126     4   expressionType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4  126     5  compilerOptions  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
           35   90     6           length  I
           44   90     7          counter  I
           45   90     8      caseCounter  I
           46   84     9                i  I
           53   82    10    constantsList  [Lorg/eclipse/jdt/internal/compiler/impl/Constant;
           48   82    11        caseIndex  [I
           49   82    12        statement  Lorg/eclipse/jdt/internal/compiler/ast/Statement;
           56   79    13              con  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
           60   67    17              key  I
           61   66    18                j  I
           69   76    17              key  Ljava/lang/String;
           70   75    18                j  I
          105  126     6    constantCount  I
          108  126     7       enumFields  [Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
          109  126     8                i  I
          110  126     9              max  I
          112  124    10     enumConstant  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
          114  119    11                j  I
          122  124    11         suppress  Z
      Exception table:
        from    to  target  type
           0   127     127  any
    MethodParameters:
            Name  Flags
      upperScope  

  protected void reportMissingEnumConstantCase(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.lookup.FieldBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope upperScope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding enumConstant
         0: .line 800
            aload 1 /* upperScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 2 /* enumConstant */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.missingEnumConstantCase:(Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;)V
         1: .line 801
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding enumConstant
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope upperScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0    2     1    upperScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    2     2  enumConstant  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
    MethodParameters:
              Name  Flags
      upperScope    
      enumConstant  

  protected boolean ignoreMissingDefaultCase(org.eclipse.jdt.internal.compiler.impl.CompilerOptions, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        start local 2 // boolean isEnumSwitch
         0: .line 803
            aload 1 /* compilerOptions */
            ldc 1073774592
            invokevirtual org.eclipse.jdt.internal.compiler.impl.CompilerOptions.getSeverity:(I)I
            sipush 256
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // boolean isEnumSwitch
        end local 1 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0    2     1  compilerOptions  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            0    2     2     isEnumSwitch  Z
    MethodParameters:
                 Name  Flags
      compilerOptions  
      isEnumSwitch     

  public boolean isTrulyExpression();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
         0: .line 807
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;

  private void reportMixingCaseTypes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
         0: .line 810
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            ifne 5
         1: .line 811
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnull 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.isExpr:Z
            goto 3
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.SwitchStatement
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.switchLabeledRules:Z
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.SwitchStatement
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.SwitchStatement int
         3: putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.switchLabeledRules:Z
         4: .line 812
            return
         5: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iconst_0
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.isExpr:Z
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.switchLabeledRules:Z
            istore 1 /* isExpr */
        start local 1 // boolean isExpr
         6: .line 815
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         7: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.caseCount:I
            istore 3 /* l */
        start local 3 // int l
         8: goto 13
         9: .line 816
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 2 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.isExpr:Z
            iload 1 /* isExpr */
            if_icmpeq 12
        10: .line 817
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.cases:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 2 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.switchExpressionMixedCase:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        11: .line 818
            return
        12: .line 815
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            iload 3 /* l */
            if_icmplt 9
        end local 3 // int l
        end local 2 // int i
        14: .line 821
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnull 16
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            getfield org.eclipse.jdt.internal.compiler.ast.CaseStatement.isExpr:Z
            iload 1 /* isExpr */
            if_icmpeq 16
        15: .line 822
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.defaultCase:Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.switchExpressionMixedCase:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        16: .line 824
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean isExpr
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            6   17     1  isExpr  Z
            7   14     2       i  I
            8   14     3       l  I

  private void reportDuplicateCase(org.eclipse.jdt.internal.compiler.ast.CaseStatement, org.eclipse.jdt.internal.compiler.ast.CaseStatement, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.CaseStatement duplicate
        start local 2 // org.eclipse.jdt.internal.compiler.ast.CaseStatement original
        start local 3 // int length
         0: .line 826
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatements:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            ifnonnull 9
         1: .line 827
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* original */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.duplicateCase:(Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;)V
         2: .line 828
            aload 1 /* duplicate */
            aload 2 /* original */
            if_acmpeq 4
         3: .line 829
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 1 /* duplicate */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.duplicateCase:(Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;)V
         4: .line 830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            anewarray org.eclipse.jdt.internal.compiler.ast.CaseStatement
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatements:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
         5: .line 831
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatements:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatementsCounter:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatementsCounter:I
            aload 2 /* original */
            aastore
         6: .line 832
            aload 1 /* duplicate */
            aload 2 /* original */
            if_acmpeq 20
         7: .line 833
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatements:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatementsCounter:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatementsCounter:I
            aload 1 /* duplicate */
            aastore
         8: .line 834
            goto 20
         9: .line 835
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* found */
        start local 4 // boolean found
        10: .line 836
            iconst_2
            istore 5 /* k */
        start local 5 // int k
        11: goto 16
        12: .line 837
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatements:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            iload 5 /* k */
            aaload
            aload 1 /* duplicate */
            if_acmpne 15
        13: .line 838
            iconst_1
            istore 4 /* found */
        14: .line 839
            goto 17
        15: .line 836
      StackMap locals:
      StackMap stack:
            iinc 5 /* k */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* k */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatementsCounter:I
            if_icmplt 12
        end local 5 // int k
        17: .line 842
      StackMap locals:
      StackMap stack:
            iload 4 /* found */
            ifne 20
        18: .line 843
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 1 /* duplicate */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.duplicateCase:(Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;)V
        19: .line 844
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatements:[Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatementsCounter:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.duplicateCaseStatementsCounter:I
            aload 1 /* duplicate */
            aastore
        end local 4 // boolean found
        20: .line 847
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int length
        end local 2 // org.eclipse.jdt.internal.compiler.ast.CaseStatement original
        end local 1 // org.eclipse.jdt.internal.compiler.ast.CaseStatement duplicate
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0   21     1  duplicate  Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            0   21     2   original  Lorg/eclipse/jdt/internal/compiler/ast/CaseStatement;
            0   21     3     length  I
           10   20     4      found  Z
           11   17     5          k  I
    MethodParameters:
           Name  Flags
      duplicate  final
      original   final
      length     

  public void traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
         0: .line 854
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 9
         1: .line 855
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* visitor */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         2: .line 856
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 9
         3: .line 857
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 3 /* statementsLength */
        start local 3 // int statementsLength
         4: .line 858
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 859
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 4 /* i */
            aaload
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.scope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         7: .line 858
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 3 /* statementsLength */
            if_icmplt 6
        end local 4 // int i
        end local 3 // int statementsLength
         9: .line 862
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        10: .line 863
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0   11     1           visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0   11     2        blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            4    9     3  statementsLength  I
            5    9     4                 i  I
    MethodParameters:
            Name  Flags
      visitor     
      blockScope  

  public void branchChainTo(org.eclipse.jdt.internal.compiler.codegen.BranchLabel);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel label
         0: .line 876
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.forwardReferenceCount:()I
            ifle 2
         1: .line 877
            aload 1 /* label */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.breakLabel:Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.BranchLabel.becomeDelegateFor:(Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;)V
         2: .line 879
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.compiler.codegen.BranchLabel label
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0    3     1  label  Lorg/eclipse/jdt/internal/compiler/codegen/BranchLabel;
    MethodParameters:
       Name  Flags
      label  

  public boolean doesNotCompleteNormally();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
         0: .line 883
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            ifne 2
         1: .line 884
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 885
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 2 /* length */
        start local 2 // int length
         4: goto 8
         5: .line 886
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 1 /* i */
            aaload
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.breaksOut:([C)Z
            ifeq 7
         6: .line 887
            iconst_0
            ireturn
         7: .line 885
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 1 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 2 // int length
        end local 1 // int i
         9: .line 889
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            iconst_1
            isub
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.doesNotCompleteNormally:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            3    9     1       i  I
            4    9     2  length  I

  public boolean completesByContinue();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
         0: .line 894
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            ifne 2
         1: .line 895
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 896
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            arraylength
            istore 2 /* length */
        start local 2 // int length
         4: goto 8
         5: .line 897
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchStatement.statements:[Lorg/eclipse/jdt/internal/compiler/ast/Statement;
            iload 1 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Statement.completesByContinue:()Z
            ifeq 7
         6: .line 898
            iconst_1
            ireturn
         7: .line 896
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 1 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 2 // int length
        end local 1 // int i
         9: .line 900
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            3    9     1       i  I
            4    9     2  length  I

  public java.lang.StringBuffer printExpression(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 905
            aload 0 /* this */
            iload 1 /* indent */
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.SwitchStatement.printStatement:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            areturn
        end local 2 // java.lang.StringBuffer output
        end local 1 // int indent
        end local 0 // org.eclipse.jdt.internal.compiler.ast.SwitchStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/eclipse/jdt/internal/compiler/ast/SwitchStatement;
            0    1     1  indent  I
            0    1     2  output  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      indent  
      output  
}
SourceFile: "SwitchStatement.java"
NestMembers:
  org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase
InnerClasses:
  StringSwitchCase = org.eclipse.jdt.internal.compiler.ast.SwitchStatement$1StringSwitchCase