public class org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding extends org.eclipse.jdt.internal.compiler.lookup.MethodBinding
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding
  super_class: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
{
  private org.eclipse.jdt.internal.compiler.lookup.MethodBinding staticFactoryFor;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    flags: (0x0002) ACC_PRIVATE

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

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

  public void <init>(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding enclosingType
         0: .line 28
            aload 0 /* this */
            aload 1 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.modifiers:I
            bipush 8
            ior
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.SYNTHETIC_STATIC_FACTORY:[C
         1: .line 29
            aconst_null
            aconst_null
            aconst_null
            aload 1 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokespecial org.eclipse.jdt.internal.compiler.lookup.MethodBinding.<init>:(I[CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
         2: .line 30
            aload 0 /* this */
            aload 2 /* environment */
            putfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
         3: .line 31
            aload 0 /* this */
            aload 1 /* method */
            putfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.staticFactoryFor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
         4: .line 32
            aload 0 /* this */
            aload 3 /* enclosingType */
            putfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.enclosingType:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
         5: .line 33
            return
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding enclosingType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticFactoryMethodBinding;
            0    6     1         method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0    6     2    environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            0    6     3  enclosingType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
               Name  Flags
      method         
      environment    
      enclosingType  

  public org.eclipse.jdt.internal.compiler.lookup.MethodBinding getConstructor();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding this
         0: .line 36
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.staticFactoryFor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticFactoryMethodBinding;

  public org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding applyTypeArgumentsOnConstructor(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], boolean, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ZLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] typeArguments
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] constructorTypeArguments
        start local 3 // boolean inferredWithUncheckedConversion
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
         0: .line 44
            aload 1 /* typeArguments */
            ifnonnull 2
         1: .line 45
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.enclosingType:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
            goto 3
         2: .line 46
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 1 /* typeArguments */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.enclosingType:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
         3: .line 44
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 5 /* parameterizedType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding parameterizedType
         4: .line 47
            aload 5 /* parameterizedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.methods:()[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 16
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding top int int org.eclipse.jdt.internal.compiler.lookup.MethodBinding[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* parameterizedMethod */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding parameterizedMethod
         6: .line 48
            aload 6 /* parameterizedMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.staticFactoryFor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            if_acmpne 11
         7: .line 49
            aload 2 /* constructorTypeArguments */
            arraylength
            ifgt 8
            iload 3 /* inferredWithUncheckedConversion */
            ifeq 9
         8: .line 50
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int int org.eclipse.jdt.internal.compiler.lookup.MethodBinding[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 6 /* parameterizedMethod */
            aload 2 /* constructorTypeArguments */
            iload 3 /* inferredWithUncheckedConversion */
            iconst_0
            aload 4 /* targetType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedGenericMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ZZLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
            goto 10
         9: .line 51
      StackMap locals:
      StackMap stack:
            aload 6 /* parameterizedMethod */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
        10: .line 49
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
            areturn
        11: .line 52
      StackMap locals:
      StackMap stack:
            aload 6 /* parameterizedMethod */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding
            ifeq 15
        12: .line 53
            aload 6 /* parameterizedMethod */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding.closestMatch:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 10 /* closestMatch */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatch
        13: .line 54
            aload 10 /* closestMatch */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
            ifeq 15
            aload 10 /* closestMatch */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding.staticFactoryFor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            if_acmpne 15
        14: .line 55
            aload 10 /* closestMatch */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
            areturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatch
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding parameterizedMethod
        15: .line 47
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding top int int org.eclipse.jdt.internal.compiler.lookup.MethodBinding[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        16: iload 7
            iload 8
            if_icmplt 5
        17: .line 58
            new java.lang.IllegalArgumentException
            dup
            ldc "Type doesn't have its own method?"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding parameterizedType
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 3 // boolean inferredWithUncheckedConversion
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] constructorTypeArguments
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] typeArguments
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   18     0                             this  Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticFactoryMethodBinding;
            0   18     1                    typeArguments  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   18     2         constructorTypeArguments  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   18     3  inferredWithUncheckedConversion  Z
            0   18     4                       targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   18     5                parameterizedType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            6   15     6              parameterizedMethod  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           13   15    10                     closestMatch  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    MethodParameters:
                                 Name  Flags
      typeArguments                    
      constructorTypeArguments         
      inferredWithUncheckedConversion  
      targetType                       
}
SourceFile: "SyntheticFactoryMethodBinding.java"