class com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1 extends com.sun.tools.javac.code.Types$MostSpecificReturnCheck
  minor version: 0
  major version: 59
  flags: flags: (0x4020) ACC_SUPER, ACC_ANNOTATION
  this_class: com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1
  super_class: com.sun.tools.javac.code.Types$MostSpecificReturnCheck
{
  void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1 this
         0: .line 2789
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial com.sun.tools.javac.code.Types$MostSpecificReturnCheck.<init>:(Ljava/lang/String;I)V
            return
        end local 0 // com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Types$MostSpecificReturnCheck$1;
    MethodParameters:
               Name  Flags
      $enum$name     
      $enum$ordinal  

  public boolean test(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1 this
        start local 1 // com.sun.tools.javac.code.Type mt1
        start local 2 // com.sun.tools.javac.code.Type mt2
        start local 3 // com.sun.tools.javac.code.Types types
         0: .line 2792
            aload 1 /* mt1 */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 4 /* tvars */
        start local 4 // com.sun.tools.javac.util.List tvars
         1: .line 2793
            aload 2 /* mt2 */
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            astore 5 /* svars */
        start local 5 // com.sun.tools.javac.util.List svars
         2: .line 2794
            aload 1 /* mt1 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            astore 6 /* t */
        start local 6 // com.sun.tools.javac.code.Type t
         3: .line 2795
            aload 3 /* types */
            aload 2 /* mt2 */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 5 /* svars */
            aload 4 /* tvars */
            invokevirtual com.sun.tools.javac.code.Types.subst:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            astore 7 /* s */
        start local 7 // com.sun.tools.javac.code.Type s
         4: .line 2796
            aload 3 /* types */
            aload 6 /* t */
            aload 7 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 9
         5: .line 2797
            aload 6 /* t */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 8
         6: .line 2798
            aload 7 /* s */
            invokevirtual com.sun.tools.javac.code.Type.isPrimitive:()Z
            ifne 8
         7: .line 2799
            aload 3 /* types */
            aload 6 /* t */
            aload 7 /* s */
            invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifne 9
         8: .line 2796
      StackMap locals: com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1 com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type com.sun.tools.javac.code.Types com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Type com.sun.tools.javac.code.Type
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         9: iconst_1
            ireturn
        end local 7 // com.sun.tools.javac.code.Type s
        end local 6 // com.sun.tools.javac.code.Type t
        end local 5 // com.sun.tools.javac.util.List svars
        end local 4 // com.sun.tools.javac.util.List tvars
        end local 3 // com.sun.tools.javac.code.Types types
        end local 2 // com.sun.tools.javac.code.Type mt2
        end local 1 // com.sun.tools.javac.code.Type mt1
        end local 0 // com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/sun/tools/javac/code/Types$MostSpecificReturnCheck$1;
            0   10     1    mt1  Lcom/sun/tools/javac/code/Type;
            0   10     2    mt2  Lcom/sun/tools/javac/code/Type;
            0   10     3  types  Lcom/sun/tools/javac/code/Types;
            1   10     4  tvars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            2   10     5  svars  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            3   10     6      t  Lcom/sun/tools/javac/code/Type;
            4   10     7      s  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
       Name  Flags
      mt1    
      mt2    
      types  
}
SourceFile: "Types.java"
EnclosingMethod: com.sun.tools.javac.code.Types$MostSpecificReturnCheck
NestHost: com.sun.tools.javac.code.Types
InnerClasses:
  public abstract MostSpecificReturnCheck = com.sun.tools.javac.code.Types$MostSpecificReturnCheck of com.sun.tools.javac.code.Types
  com.sun.tools.javac.code.Types$MostSpecificReturnCheck$1