public final class org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType extends org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType
  super_class: org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType
{
  private org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType fElementType;
    descriptor: Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    flags: (0x0002) ACC_PRIVATE

  private int fDimensions;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType fErasure;
    descriptor: Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment);
    descriptor: (Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
        start local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment environment
         0: .line 28
            aload 0 /* this */
            aload 1 /* environment */
            invokespecial org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.<init>:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;)V
         1: .line 29
            return
        end local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment environment
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            0    2     1  environment  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;
    MethodParameters:
             Name  Flags
      environment  

  protected void <init>(org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
        start local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment environment
        start local 2 // java.lang.String key
         0: .line 32
            aload 0 /* this */
            aload 1 /* environment */
            aload 2 /* key */
            invokespecial org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.<init>:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;Ljava/lang/String;)V
         1: .line 33
            return
        end local 2 // java.lang.String key
        end local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment environment
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            0    2     1  environment  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;
            0    2     2          key  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      environment  
      key          

  protected void initialize(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType elementType
         0: .line 36
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isArray:()Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         1: .line 37
            aload 0 /* this */
            aload 1 /* binding */
            invokespecial org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.initialize:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)V
         2: .line 38
            aload 0 /* this */
            aload 2 /* elementType */
            putfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
         3: .line 39
            aload 0 /* this */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getDimensions:()I
            putfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
         4: .line 40
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isStandardType:()Z
            ifne 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isGenericType:()Z
            ifne 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isPrimitiveType:()Z
            ifeq 7
         5: .line 41
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            putfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fErasure:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
         6: .line 42
            goto 8
         7: .line 43
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.getEnvironment:()Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getErasure:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment.create:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            putfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fErasure:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
         8: .line 45
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType elementType
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            0    9     1      binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    9     2  elementType  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    MethodParameters:
             Name  Flags
      binding      
      elementType  

  protected void initialize(org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType, int);
    descriptor: (Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
        start local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType elementType
        start local 2 // int dimensions
         0: .line 48
            aload 0 /* this */
            aload 1 /* elementType */
            putfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
         1: .line 49
            aload 0 /* this */
            iload 2 /* dimensions */
            putfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
         2: .line 50
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isStandardType:()Z
            ifne 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isGenericType:()Z
            ifne 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isPrimitiveType:()Z
            ifeq 5
         3: .line 51
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            putfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fErasure:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
         4: .line 52
            goto 6
         5: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.getEnvironment:()Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;
            aload 1 /* elementType */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.getErasure:()Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            iload 2 /* dimensions */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment.createArrayType:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;I)Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            putfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fErasure:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
         6: .line 55
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int dimensions
        end local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType elementType
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            0    7     1  elementType  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            0    7     2   dimensions  I
    MethodParameters:
             Name  Flags
      elementType  
      dimensions   

  public org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType getElementType();
    descriptor: ()Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 58
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            areturn
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;

  public org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType getComponentType();
    descriptor: ()Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 70
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            iconst_1
            if_icmple 2
         1: .line 71
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.getEnvironment:()Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            iconst_1
            isub
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment.createArrayType:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;I)Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            areturn
         2: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            areturn
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;

  public int getDimensions();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 77
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            ireturn
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;

  public int getKind();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 82
            iconst_4
            ireturn
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;

  public org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType[] getSubTypes();
    descriptor: ()[Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 87
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.getSubTypes:()[Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            astore 1 /* subTypes */
        start local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType[] subTypes
         1: .line 88
            aload 1 /* subTypes */
            arraylength
            anewarray org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType
            astore 2 /* result */
        start local 2 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType[] result
         2: .line 89
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 90
      StackMap locals: org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType[] org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.getEnvironment:()Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment;
            aload 1 /* subTypes */
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TypeEnvironment.createArrayType:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;I)Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            aastore
         5: .line 89
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* subTypes */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 92
            aload 2 /* result */
            areturn
        end local 2 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType[] result
        end local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType[] subTypes
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            1    8     1  subTypes  [Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            2    8     2    result  [Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            3    7     3         i  I

  public org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType getErasure();
    descriptor: ()Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 97
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fErasure:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            areturn
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;

  public boolean doEquals(org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType);
    descriptor: (Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
        start local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType other
         0: .line 102
            aload 1 /* other */
            checkcast org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType
            astore 2 /* arrayType */
        start local 2 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType arrayType
         1: .line 103
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            aload 2 /* arrayType */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.equals:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            aload 2 /* arrayType */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType arrayType
        end local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType other
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            0    3     1      other  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            1    3     2  arrayType  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 108
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.hashCode:()I
            iconst_5
            ishl
            ireturn
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;

  protected boolean doCanAssignTo(org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType);
    descriptor: (Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
        start local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType lhs
         0: .line 113
            aload 1 /* lhs */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.getKind:()I
            tableswitch { // 1 - 13
                    1: 1
                    2: 2
                    3: 3
                    4: 4
                    5: 6
                    6: 5
                    7: 7
                    8: 8
                    9: 9
                   10: 9
                   11: 9
                   12: 10
                   13: 11
              default: 12
          }
         1: .line 114
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 115
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 116
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lhs */
            checkcast org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.canAssignToArrayType:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;)Z
            ireturn
         5: .line 120
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         6: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lhs */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.isArrayLhsCompatible:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
            ireturn
         7: .line 122
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         8: .line 123
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         9: .line 128
      StackMap locals:
      StackMap stack:
            aload 1 /* lhs */
            checkcast org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.WildcardType
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.WildcardType.checkAssignmentBound:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
            ireturn
        10: .line 130
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* lhs */
            checkcast org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.CaptureType
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.CaptureType.checkLowerBound:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
            ireturn
        12: .line 134
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType lhs
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            0   13     1   lhs  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    MethodParameters:
      Name  Flags
      lhs   

  private boolean canAssignToArrayType(org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType);
    descriptor: (Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
        start local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType lhs
         0: .line 138
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            aload 1 /* lhs */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            if_icmpne 4
         1: .line 140
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.getKind:()I
            iconst_3
            if_icmpeq 2
            aload 1 /* lhs */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.getKind:()I
            iconst_3
            if_icmpne 3
         2: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            aload 1 /* lhs */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isTypeEquivalentTo:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
            ireturn
         3: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            aload 1 /* lhs */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.canAssignTo:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
            ireturn
         4: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            aload 1 /* lhs */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            if_icmpge 6
         5: .line 145
            iconst_0
            ireturn
         6: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lhs */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.isArrayLhsCompatible:(Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
            ireturn
        end local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType lhs
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            0    7     1   lhs  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
    MethodParameters:
      Name  Flags
      lhs   

  private boolean isArrayLhsCompatible(org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType);
    descriptor: (Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
        start local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType lhsElementType
         0: .line 150
            aload 1 /* lhsElementType */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isJavaLangObject:()Z
            ifne 1
            aload 1 /* lhsElementType */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isJavaLangCloneable:()Z
            ifne 1
            aload 1 /* lhsElementType */
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.isJavaIoSerializable:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType lhsElementType
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            0    2     1  lhsElementType  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
    MethodParameters:
                Name  Flags
      lhsElementType  

  protected java.lang.String getPlainPrettySignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 155
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.getPlainPrettySignature:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         1: .line 156
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 157
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* result */
            ldc "[]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 156
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            if_icmplt 3
        end local 2 // int i
         6: .line 159
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder result
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            1    7     1  result  Ljava/lang/StringBuilder;
            2    6     2       i  I

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
         0: .line 164
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fElementType:Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TType;
            invokevirtual org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.TType.getName:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         1: .line 165
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 166
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* result */
            ldc "[]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 165
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType.fDimensions:I
            if_icmplt 3
        end local 2 // int i
         6: .line 168
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder result
        end local 0 // org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types.ArrayType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ArrayType;
            1    7     1  result  Ljava/lang/StringBuilder;
            2    6     2       i  I
}
SourceFile: "ArrayType.java"