public class org.eclipse.jdt.internal.core.LambdaFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.LambdaFactory
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.LambdaFactory this
         0: .line 23
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.core.LambdaFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/LambdaFactory;

  public static org.eclipse.jdt.internal.core.LambdaExpression createLambdaExpression(org.eclipse.jdt.internal.core.JavaElement, org.eclipse.jdt.internal.compiler.ast.LambdaExpression);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;)Lorg/eclipse/jdt/internal/core/LambdaExpression;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 1 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression
         0: .line 26
            aload 0 /* parent */
            invokestatic org.eclipse.jdt.internal.core.LambdaFactory.isBinaryMember:(Lorg/eclipse/jdt/internal/core/JavaElement;)Z
            ifeq 2
         1: .line 27
            new org.eclipse.jdt.internal.core.BinaryLambdaExpression
            dup
            aload 0 /* parent */
            aload 1 /* lambdaExpression */
            invokespecial org.eclipse.jdt.internal.core.BinaryLambdaExpression.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;)V
            areturn
         2: .line 29
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.LambdaExpression
            dup
            aload 0 /* parent */
            aload 1 /* lambdaExpression */
            invokespecial org.eclipse.jdt.internal.core.LambdaExpression.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;)V
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression
        end local 0 // org.eclipse.jdt.internal.core.JavaElement parent
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0            parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    3     1  lambdaExpression  Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;
    MethodParameters:
                  Name  Flags
      parent            
      lambdaExpression  

  public static org.eclipse.jdt.internal.core.LambdaExpression createLambdaExpression(org.eclipse.jdt.internal.core.JavaElement, java.lang.String, int, int, int);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;III)Lorg/eclipse/jdt/internal/core/LambdaExpression;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 1 // java.lang.String interphase
        start local 2 // int sourceStart
        start local 3 // int sourceEnd
        start local 4 // int arrowPosition
         0: .line 34
            aload 0 /* parent */
            invokestatic org.eclipse.jdt.internal.core.LambdaFactory.isBinaryMember:(Lorg/eclipse/jdt/internal/core/JavaElement;)Z
            ifeq 2
         1: .line 35
            new org.eclipse.jdt.internal.core.BinaryLambdaExpression
            dup
            aload 0 /* parent */
            aload 1 /* interphase */
            iload 2 /* sourceStart */
            iload 3 /* sourceEnd */
            iload 4 /* arrowPosition */
            invokespecial org.eclipse.jdt.internal.core.BinaryLambdaExpression.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;III)V
            areturn
         2: .line 37
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.LambdaExpression
            dup
            aload 0 /* parent */
            aload 1 /* interphase */
            iload 2 /* sourceStart */
            iload 3 /* sourceEnd */
            iload 4 /* arrowPosition */
            invokespecial org.eclipse.jdt.internal.core.LambdaExpression.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;III)V
            areturn
        end local 4 // int arrowPosition
        end local 3 // int sourceEnd
        end local 2 // int sourceStart
        end local 1 // java.lang.String interphase
        end local 0 // org.eclipse.jdt.internal.core.JavaElement parent
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0         parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    3     1     interphase  Ljava/lang/String;
            0    3     2    sourceStart  I
            0    3     3      sourceEnd  I
            0    3     4  arrowPosition  I
    MethodParameters:
               Name  Flags
      parent         
      interphase     
      sourceStart    
      sourceEnd      
      arrowPosition  

  public static org.eclipse.jdt.internal.core.LambdaMethod createLambdaMethod(org.eclipse.jdt.internal.core.JavaElement, org.eclipse.jdt.internal.compiler.ast.LambdaExpression);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;)Lorg/eclipse/jdt/internal/core/LambdaMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=14, locals=14, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 1 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression
         0: .line 43
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 3 /* manager */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager manager
         1: .line 44
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.descriptor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            dup
            istore 2 /* length */
        start local 2 // int length
         2: anewarray java.lang.String
            astore 4 /* parameterTypes */
        start local 4 // java.lang.String[] parameterTypes
         3: .line 45
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 46
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.internal.compiler.ast.LambdaExpression int org.eclipse.jdt.internal.core.JavaModelManager java.lang.String[] int
      StackMap stack:
            aload 4 /* parameterTypes */
            iload 5 /* i */
            aload 3 /* manager */
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.descriptor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 5 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.LambdaFactory.getTypeSignature:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Ljava/lang/String;
            aastore
         6: .line 45
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 5 // int i
         8: .line 47
            iload 2 /* length */
            anewarray java.lang.String
            astore 5 /* parameterNames */
        start local 5 // java.lang.String[] parameterNames
         9: .line 48
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 13
        11: .line 49
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.internal.compiler.ast.LambdaExpression int org.eclipse.jdt.internal.core.JavaModelManager java.lang.String[] java.lang.String[] int
      StackMap stack:
            aload 5 /* parameterNames */
            iload 6 /* i */
            aload 3 /* manager */
            new java.lang.String
            dup
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
            iload 6 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.name:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        12: .line 48
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            iload 2 /* length */
            if_icmplt 11
        end local 6 // int i
        14: .line 50
            aload 3 /* manager */
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.descriptor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.core.LambdaFactory.getTypeSignature:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Ljava/lang/String;
            astore 6 /* returnType */
        start local 6 // java.lang.String returnType
        15: .line 51
            aload 3 /* manager */
            new java.lang.String
            dup
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.descriptor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* selector */
        start local 7 // java.lang.String selector
        16: .line 52
            new java.lang.String
            dup
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.descriptor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.computeUniqueKey:()[C
            invokespecial java.lang.String.<init>:([C)V
            astore 8 /* key */
        start local 8 // java.lang.String key
        17: .line 53
            aload 0 /* parent */
            aload 7 /* selector */
            aload 8 /* key */
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.sourceStart:I
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.sourceEnd:I
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.arrowPosition:I
            aload 4 /* parameterTypes */
            aload 5 /* parameterNames */
            aload 6 /* returnType */
            invokestatic org.eclipse.jdt.internal.core.LambdaFactory.createLambdaMethod:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;III[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/LambdaMethod;
            astore 9 /* lambdaMethod */
        start local 9 // org.eclipse.jdt.internal.core.LambdaMethod lambdaMethod
        18: .line 54
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
            arraylength
            dup
            istore 2 /* length */
            anewarray org.eclipse.jdt.core.ILocalVariable
            astore 10 /* parameters */
        start local 10 // org.eclipse.jdt.core.ILocalVariable[] parameters
        19: .line 55
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        20: goto 36
        21: .line 56
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.internal.compiler.ast.LambdaExpression int org.eclipse.jdt.internal.core.JavaModelManager java.lang.String[] java.lang.String[] java.lang.String java.lang.String java.lang.String org.eclipse.jdt.internal.core.LambdaMethod org.eclipse.jdt.core.ILocalVariable[] int
      StackMap stack:
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
            iload 11 /* i */
            aaload
            astore 12 /* argument */
        start local 12 // org.eclipse.jdt.internal.compiler.ast.Argument argument
        22: .line 57
            aload 3 /* manager */
            new java.lang.String
            dup
            aload 1 /* lambdaExpression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.descriptor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 11 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.signature:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* signature */
        start local 13 // java.lang.String signature
        23: .line 58
            aload 10 /* parameters */
            iload 11 /* i */
            new org.eclipse.jdt.internal.core.LocalVariable
            dup
        24: .line 59
            aload 9 /* lambdaMethod */
        25: .line 60
            new java.lang.String
            dup
            aload 12 /* argument */
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.name:[C
            invokespecial java.lang.String.<init>:([C)V
        26: .line 61
            aload 12 /* argument */
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.declarationSourceStart:I
        27: .line 62
            aload 12 /* argument */
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.declarationSourceEnd:I
        28: .line 63
            aload 12 /* argument */
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.sourceStart:I
        29: .line 64
            aload 12 /* argument */
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.sourceEnd:I
        30: .line 65
            aload 13 /* signature */
        31: .line 66
            aconst_null
        32: .line 67
            aload 12 /* argument */
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.modifiers:I
        33: .line 68
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.LocalVariable.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;IIIILjava/lang/String;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;IZ)V
        34: .line 58
            aastore
        end local 13 // java.lang.String signature
        end local 12 // org.eclipse.jdt.internal.compiler.ast.Argument argument
        35: .line 55
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 11 /* i */
            iload 2 /* length */
            if_icmplt 21
        end local 11 // int i
        37: .line 70
            aload 9 /* lambdaMethod */
            getfield org.eclipse.jdt.internal.core.LambdaMethod.elementInfo:Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;
            aload 10 /* parameters */
            putfield org.eclipse.jdt.internal.core.SourceMethodElementInfo.arguments:[Lorg/eclipse/jdt/core/ILocalVariable;
        38: .line 71
            aload 9 /* lambdaMethod */
            areturn
        end local 10 // org.eclipse.jdt.core.ILocalVariable[] parameters
        end local 9 // org.eclipse.jdt.internal.core.LambdaMethod lambdaMethod
        end local 8 // java.lang.String key
        end local 7 // java.lang.String selector
        end local 6 // java.lang.String returnType
        end local 5 // java.lang.String[] parameterNames
        end local 4 // java.lang.String[] parameterTypes
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 2 // int length
        end local 1 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression
        end local 0 // org.eclipse.jdt.internal.core.JavaElement parent
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   39     0            parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   39     1  lambdaExpression  Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;
            2   39     2            length  I
            1   39     3           manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            3   39     4    parameterTypes  [Ljava/lang/String;
            4    8     5                 i  I
            9   39     5    parameterNames  [Ljava/lang/String;
           10   14     6                 i  I
           15   39     6        returnType  Ljava/lang/String;
           16   39     7          selector  Ljava/lang/String;
           17   39     8               key  Ljava/lang/String;
           18   39     9      lambdaMethod  Lorg/eclipse/jdt/internal/core/LambdaMethod;
           19   39    10        parameters  [Lorg/eclipse/jdt/core/ILocalVariable;
           20   37    11                 i  I
           22   35    12          argument  Lorg/eclipse/jdt/internal/compiler/ast/Argument;
           23   35    13         signature  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      parent            
      lambdaExpression  

  public static org.eclipse.jdt.internal.core.LambdaMethod createLambdaMethod(org.eclipse.jdt.internal.core.JavaElement, java.lang.String, java.lang.String, int, int, int, java.lang.String[], java.lang.String[], java.lang.String);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;III[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/LambdaMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=15, args_size=9
        start local 0 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 1 // java.lang.String selector
        start local 2 // java.lang.String key
        start local 3 // int sourceStart
        start local 4 // int sourceEnd
        start local 5 // int arrowPosition
        start local 6 // java.lang.String[] parameterTypes
        start local 7 // java.lang.String[] parameterNames
        start local 8 // java.lang.String returnType
         0: .line 75
            aconst_null
            astore 9 /* info */
        start local 9 // org.eclipse.jdt.internal.core.SourceMethodInfo info
         1: .line 76
            aload 0 /* parent */
            instanceof org.eclipse.jdt.internal.core.BinaryLambdaExpression
            istore 10 /* isBinary */
        start local 10 // boolean isBinary
         2: .line 77
            new org.eclipse.jdt.internal.core.SourceMethodInfo
            dup
            invokespecial org.eclipse.jdt.internal.core.SourceMethodInfo.<init>:()V
            astore 9 /* info */
         3: .line 78
            aload 9 /* info */
            iload 3 /* sourceStart */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodInfo.setSourceRangeStart:(I)V
         4: .line 79
            aload 9 /* info */
            iload 4 /* sourceEnd */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodInfo.setSourceRangeEnd:(I)V
         5: .line 80
            aload 9 /* info */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodInfo.setFlags:(I)V
         6: .line 81
            aload 9 /* info */
            iload 3 /* sourceStart */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodInfo.setNameSourceStart:(I)V
         7: .line 82
            aload 9 /* info */
            iload 5 /* arrowPosition */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodInfo.setNameSourceEnd:(I)V
         8: .line 83
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 11 /* manager */
        start local 11 // org.eclipse.jdt.internal.core.JavaModelManager manager
         9: .line 85
            aload 7 /* parameterNames */
            arraylength
            dup
            istore 12 /* length */
        start local 12 // int length
        10: anewarray char[]
            astore 13 /* argumentNames */
        start local 13 // char[][] argumentNames
        11: .line 86
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        12: goto 15
        13: .line 87
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.lang.String java.lang.String int int int java.lang.String[] java.lang.String[] java.lang.String org.eclipse.jdt.internal.core.SourceMethodInfo int org.eclipse.jdt.internal.core.JavaModelManager int char[][] int
      StackMap stack:
            aload 13 /* argumentNames */
            iload 14 /* i */
            aload 11 /* manager */
            aload 7 /* parameterNames */
            iload 14 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:([C)[C
            aastore
        14: .line 86
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 14 /* i */
            iload 12 /* length */
            if_icmplt 13
        end local 14 // int i
        16: .line 88
            aload 9 /* info */
            aload 13 /* argumentNames */
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodInfo.setArgumentNames:([[C)V
        17: .line 89
            aload 9 /* info */
            aload 11 /* manager */
            aload 8 /* returnType */
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:([C)[C
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodInfo.setReturnType:([C)V
        18: .line 90
            aload 9 /* info */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            invokevirtual org.eclipse.jdt.internal.core.SourceMethodInfo.setExceptionTypeNames:([[C)V
        19: .line 91
            aload 9 /* info */
            aconst_null
            putfield org.eclipse.jdt.internal.core.SourceMethodInfo.arguments:[Lorg/eclipse/jdt/core/ILocalVariable;
        20: .line 93
            iload 10 /* isBinary */
            ifeq 21
            new org.eclipse.jdt.internal.core.BinaryLambdaMethod
            dup
            aload 0 /* parent */
            aload 1 /* selector */
            aload 2 /* key */
            iload 3 /* sourceStart */
            aload 6 /* parameterTypes */
            aload 7 /* parameterNames */
            aload 8 /* returnType */
            aload 9 /* info */
            invokespecial org.eclipse.jdt.internal.core.BinaryLambdaMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;)V
            goto 22
        21: .line 94
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.LambdaMethod
            dup
            aload 0 /* parent */
            aload 1 /* selector */
            aload 2 /* key */
            iload 3 /* sourceStart */
            aload 6 /* parameterTypes */
            aload 7 /* parameterNames */
            aload 8 /* returnType */
            aload 9 /* info */
            invokespecial org.eclipse.jdt.internal.core.LambdaMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/internal/core/SourceMethodElementInfo;)V
        22: .line 93
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.LambdaMethod
            areturn
        end local 13 // char[][] argumentNames
        end local 12 // int length
        end local 11 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 10 // boolean isBinary
        end local 9 // org.eclipse.jdt.internal.core.SourceMethodInfo info
        end local 8 // java.lang.String returnType
        end local 7 // java.lang.String[] parameterNames
        end local 6 // java.lang.String[] parameterTypes
        end local 5 // int arrowPosition
        end local 4 // int sourceEnd
        end local 3 // int sourceStart
        end local 2 // java.lang.String key
        end local 1 // java.lang.String selector
        end local 0 // org.eclipse.jdt.internal.core.JavaElement parent
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0          parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   23     1        selector  Ljava/lang/String;
            0   23     2             key  Ljava/lang/String;
            0   23     3     sourceStart  I
            0   23     4       sourceEnd  I
            0   23     5   arrowPosition  I
            0   23     6  parameterTypes  [Ljava/lang/String;
            0   23     7  parameterNames  [Ljava/lang/String;
            0   23     8      returnType  Ljava/lang/String;
            1   23     9            info  Lorg/eclipse/jdt/internal/core/SourceMethodInfo;
            2   23    10        isBinary  Z
            9   23    11         manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
           10   23    12          length  I
           11   23    13   argumentNames  [[C
           12   16    14               i  I
    MethodParameters:
                Name  Flags
      parent          
      selector        
      key             
      sourceStart     
      sourceEnd       
      arrowPosition   
      parameterTypes  
      parameterNames  
      returnType      

  private static java.lang.String getTypeSignature(org.eclipse.jdt.internal.core.JavaModelManager, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaModelManager;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager manager
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
         0: .line 98
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.genericTypeSignature:()[C
            astore 2 /* signature */
        start local 2 // char[] signature
         1: .line 99
            aload 2 /* signature */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            astore 2 /* signature */
         2: .line 100
            aload 0 /* manager */
            new java.lang.String
            dup
            aload 2 /* signature */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.intern:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // char[] signature
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager manager
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    3     1       type  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1    3     2  signature  [C
    MethodParameters:
         Name  Flags
      manager  
      type     

  private static boolean isBinaryMember(org.eclipse.jdt.internal.core.JavaElement);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement element
         0: .line 104
            aload 0 /* element */
            instanceof org.eclipse.jdt.internal.core.BinaryMember
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement element
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  element  Lorg/eclipse/jdt/internal/core/JavaElement;
    MethodParameters:
         Name  Flags
      element  
}
SourceFile: "LambdaFactory.java"