public abstract class org.jruby.javasupport.binding.MethodInstaller extends org.jruby.javasupport.binding.NamedInstaller
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.javasupport.binding.MethodInstaller
  super_class: org.jruby.javasupport.binding.NamedInstaller
{
  final java.util.ArrayList<java.lang.reflect.Method> methods;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljava/lang/reflect/Method;>;

  private java.util.List<java.lang.String> aliases;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private boolean localMethod;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // java.lang.String name
        start local 2 // int type
         0: .line 24
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* type */
            invokespecial org.jruby.javasupport.binding.NamedInstaller.<init>:(Ljava/lang/String;I)V
         1: .line 20
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.jruby.javasupport.binding.MethodInstaller.methods:Ljava/util/ArrayList;
         2: .line 24
            return
        end local 2 // int type
        end local 1 // java.lang.String name
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0    3     1  name  Ljava/lang/String;
            0    3     2  type  I
    MethodParameters:
      Name  Flags
      name  
      type  

  final void addMethod(java.lang.reflect.Method, java.lang.Class<?>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // java.lang.reflect.Method method
        start local 2 // java.lang.Class clazz
         0: .line 28
            aload 0 /* this */
            getfield org.jruby.javasupport.binding.MethodInstaller.methods:Ljava/util/ArrayList;
            aload 1 /* method */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 29
            aload 0 /* this */
            dup
            getfield org.jruby.javasupport.binding.MethodInstaller.localMethod:Z
         2: .line 30
            aload 2 /* clazz */
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 31
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 4
            iconst_0
            goto 5
      StackMap locals: org.jruby.javasupport.binding.MethodInstaller java.lang.reflect.Method java.lang.Class
      StackMap stack: org.jruby.javasupport.binding.MethodInstaller int
         4: iconst_1
      StackMap locals: org.jruby.javasupport.binding.MethodInstaller java.lang.reflect.Method java.lang.Class
      StackMap stack: org.jruby.javasupport.binding.MethodInstaller int int
         5: ior
         6: .line 29
            putfield org.jruby.javasupport.binding.MethodInstaller.localMethod:Z
         7: .line 32
            return
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0    8     1  method  Ljava/lang/reflect/Method;
            0    8     2   clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/reflect/Method;Ljava/lang/Class<*>;)V
    MethodParameters:
        Name  Flags
      method  final
      clazz   final

  final void addAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // java.lang.String alias
         0: .line 36
            aload 0 /* this */
            getfield org.jruby.javasupport.binding.MethodInstaller.aliases:Ljava/util/List;
            astore 2 /* aliases */
        start local 2 // java.util.Collection aliases
         1: .line 37
            aload 2 /* aliases */
            ifnonnull 3
         2: .line 38
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            dup_x1
            putfield org.jruby.javasupport.binding.MethodInstaller.aliases:Ljava/util/List;
            astore 2 /* aliases */
         3: .line 40
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 2 /* aliases */
            aload 1 /* alias */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 4
            aload 2 /* aliases */
            aload 1 /* alias */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         4: .line 41
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Collection aliases
        end local 1 // java.lang.String alias
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0    5     1    alias  Ljava/lang/String;
            1    5     2  aliases  Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      alias  final

  void assignAliases(java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // java.util.Map assignedNames
         0: .line 44
            aload 0 /* this */
            getfield org.jruby.javasupport.binding.MethodInstaller.name:Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 45
            aload 2 /* name */
            invokestatic org.jruby.javasupport.JavaUtil.getRubyCasedName:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* rubyCasedName */
        start local 3 // java.lang.String rubyCasedName
         2: .line 47
            aload 0 /* this */
            aload 3 /* rubyCasedName */
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
         3: .line 49
            aload 2 /* name */
            invokestatic org.jruby.javasupport.JavaUtil.getJavaPropertyName:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* javaPropertyName */
        start local 4 // java.lang.String javaPropertyName
         4: .line 51
            aload 0 /* this */
            getfield org.jruby.javasupport.binding.MethodInstaller.methods:Ljava/util/ArrayList;
            astore 5 /* methods */
        start local 5 // java.util.List methods
         5: .line 53
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 43
         7: .line 54
      StackMap locals: org.jruby.javasupport.binding.MethodInstaller java.util.Map java.lang.String java.lang.String java.lang.String java.util.List int
      StackMap stack:
            aload 5 /* methods */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 7 /* method */
        start local 7 // java.lang.reflect.Method method
         8: .line 55
            aload 7 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 8 /* argTypes */
        start local 8 // java.lang.Class[] argTypes
         9: .line 56
            aload 7 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 9 /* resultType */
        start local 9 // java.lang.Class resultType
        10: .line 57
            aload 8 /* argTypes */
            arraylength
            istore 10 /* argCount */
        start local 10 // int argCount
        11: .line 60
            aload 2 /* name */
            ldc "apply"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 61
            aload 0 /* this */
            ldc "[]"
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        13: .line 62
            goto 19
      StackMap locals: org.jruby.javasupport.binding.MethodInstaller java.util.Map java.lang.String java.lang.String java.lang.String java.util.List int java.lang.reflect.Method java.lang.Class[] java.lang.Class int
      StackMap stack:
        14: iload 10 /* argCount */
            iconst_2
            if_icmpne 17
            aload 2 /* name */
            ldc "update"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 63
            aload 0 /* this */
            ldc "[]="
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        16: .line 64
            goto 19
      StackMap locals:
      StackMap stack:
        17: aload 2 /* name */
            bipush 36
            invokestatic org.jruby.util.StringSupport.startsWith:(Ljava/lang/CharSequence;C)Z
            ifeq 19
        18: .line 65
            aload 0 /* this */
            aload 2 /* name */
            invokestatic org.jruby.javasupport.binding.MethodGatherer.fixScalaNames:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        19: .line 68
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* rubyPropertyName */
        start local 11 // java.lang.String rubyPropertyName
        20: .line 71
            aload 4 /* javaPropertyName */
            ifnull 38
        21: .line 72
            aload 3 /* rubyCasedName */
            ldc "get_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        22: .line 73
            aload 3 /* rubyCasedName */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 11 /* rubyPropertyName */
        23: .line 74
            iload 10 /* argCount */
            ifne 38
        24: .line 75
            aload 0 /* this */
            aload 4 /* javaPropertyName */
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.GET_ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        25: .line 76
            aload 0 /* this */
            aload 11 /* rubyPropertyName */
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.GET_ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        26: .line 78
            goto 38
      StackMap locals: java.lang.String
      StackMap stack:
        27: aload 3 /* rubyCasedName */
            ldc "set_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 33
        28: .line 79
            aload 3 /* rubyCasedName */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 11 /* rubyPropertyName */
        29: .line 80
            iload 10 /* argCount */
            iconst_1
            if_icmpne 38
            aload 9 /* resultType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 38
        30: .line 81
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 4 /* javaPropertyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        31: .line 82
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 11 /* rubyPropertyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        32: .line 84
            goto 38
      StackMap locals:
      StackMap stack:
        33: aload 3 /* rubyCasedName */
            ldc "is_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 38
        34: .line 85
            aload 3 /* rubyCasedName */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 11 /* rubyPropertyName */
        35: .line 88
            aload 9 /* resultType */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 38
        36: .line 89
            aload 0 /* this */
            aload 4 /* javaPropertyName */
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.IS_ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        37: .line 90
            aload 0 /* this */
            aload 11 /* rubyPropertyName */
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.IS_ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        38: .line 97
      StackMap locals:
      StackMap stack:
            aload 9 /* resultType */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 42
        39: .line 99
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 3 /* rubyCasedName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        40: .line 100
            aload 11 /* rubyPropertyName */
            ifnull 42
        41: .line 101
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 11 /* rubyPropertyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* assignedNames */
            getstatic org.jruby.javasupport.binding.Priority.ALIAS:Lorg/jruby/javasupport/binding/Priority;
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addUnassignedAlias:(Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
            pop
        end local 11 // java.lang.String rubyPropertyName
        end local 10 // int argCount
        end local 9 // java.lang.Class resultType
        end local 8 // java.lang.Class[] argTypes
        end local 7 // java.lang.reflect.Method method
        42: .line 53
      StackMap locals: org.jruby.javasupport.binding.MethodInstaller java.util.Map java.lang.String java.lang.String java.lang.String java.util.List int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 6 /* i */
            aload 5 /* methods */
            invokeinterface java.util.List.size:()I
            if_icmplt 7
        end local 6 // int i
        44: .line 105
            return
        end local 5 // java.util.List methods
        end local 4 // java.lang.String javaPropertyName
        end local 3 // java.lang.String rubyCasedName
        end local 2 // java.lang.String name
        end local 1 // java.util.Map assignedNames
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   45     0              this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0   45     1     assignedNames  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
            1   45     2              name  Ljava/lang/String;
            2   45     3     rubyCasedName  Ljava/lang/String;
            4   45     4  javaPropertyName  Ljava/lang/String;
            5   45     5           methods  Ljava/util/List<Ljava/lang/reflect/Method;>;
            6   44     6                 i  I
            8   42     7            method  Ljava/lang/reflect/Method;
            9   42     8          argTypes  [Ljava/lang/Class;
           10   42     9        resultType  Ljava/lang/Class<*>;
           11   42    10          argCount  I
           20   42    11  rubyPropertyName  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;)V
    MethodParameters:
               Name  Flags
      assignedNames  final

  boolean addUnassignedAlias(java.lang.String, java.util.Map<java.lang.String, org.jruby.javasupport.binding.AssignedName>, org.jruby.javasupport.binding.Priority);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lorg/jruby/javasupport/binding/Priority;)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // java.lang.String name
        start local 2 // java.util.Map assignedNames
        start local 3 // org.jruby.javasupport.binding.Priority aliasType
         0: .line 111
            aload 2 /* assignedNames */
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.javasupport.binding.AssignedName
            astore 4 /* assignedName */
        start local 4 // org.jruby.javasupport.binding.AssignedName assignedName
         1: .line 113
            aload 3 /* aliasType */
            aload 4 /* assignedName */
            invokevirtual org.jruby.javasupport.binding.Priority.moreImportantThan:(Lorg/jruby/javasupport/binding/AssignedName;)Z
            ifeq 5
         2: .line 114
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addAlias:(Ljava/lang/String;)V
         3: .line 115
            aload 2 /* assignedNames */
            aload 1 /* name */
            new org.jruby.javasupport.binding.AssignedName
            dup
            aload 1 /* name */
            aload 3 /* aliasType */
            invokespecial org.jruby.javasupport.binding.AssignedName.<init>:(Ljava/lang/String;Lorg/jruby/javasupport/binding/Priority;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 116
            iconst_1
            ireturn
         5: .line 118
      StackMap locals: org.jruby.javasupport.binding.AssignedName
      StackMap stack:
            aload 3 /* aliasType */
            aload 4 /* assignedName */
            invokevirtual org.jruby.javasupport.binding.Priority.asImportantAs:(Lorg/jruby/javasupport/binding/AssignedName;)Z
            ifeq 8
         6: .line 119
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.addAlias:(Ljava/lang/String;)V
         7: .line 120
            iconst_1
            ireturn
         8: .line 125
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.jruby.javasupport.binding.AssignedName assignedName
        end local 3 // org.jruby.javasupport.binding.Priority aliasType
        end local 2 // java.util.Map assignedNames
        end local 1 // java.lang.String name
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0    9     1           name  Ljava/lang/String;
            0    9     2  assignedNames  Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;
            0    9     3      aliasType  Lorg/jruby/javasupport/binding/Priority;
            1    9     4   assignedName  Lorg/jruby/javasupport/binding/AssignedName;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/javasupport/binding/AssignedName;>;Lorg/jruby/javasupport/binding/Priority;)Z
    MethodParameters:
               Name  Flags
      name           final
      assignedNames  final
      aliasType      final

  final void removeAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // java.lang.String alias
         0: .line 129
            aload 0 /* this */
            getfield org.jruby.javasupport.binding.MethodInstaller.aliases:Ljava/util/List;
            astore 2 /* aliases */
        start local 2 // java.util.Collection aliases
         1: .line 130
            aload 2 /* aliases */
            ifnonnull 2
            return
         2: .line 131
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 2 /* aliases */
            aload 1 /* alias */
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 132
            return
        end local 2 // java.util.Collection aliases
        end local 1 // java.lang.String alias
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0    4     1    alias  Ljava/lang/String;
            1    4     2  aliases  Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      alias  final

  final void defineMethods(org.jruby.RubyModule, org.jruby.internal.runtime.methods.DynamicMethod);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // org.jruby.RubyModule target
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod invoker
         0: .line 135
            aload 0 /* this */
            aload 1 /* target */
            aload 2 /* invoker */
            iconst_1
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.defineMethods:(Lorg/jruby/RubyModule;Lorg/jruby/internal/runtime/methods/DynamicMethod;Z)V
         1: .line 136
            return
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod invoker
        end local 1 // org.jruby.RubyModule target
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0    2     1   target  Lorg/jruby/RubyModule;
            0    2     2  invoker  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    MethodParameters:
         Name  Flags
      target   
      invoker  

  protected final void defineMethods(org.jruby.RubyModule, org.jruby.internal.runtime.methods.DynamicMethod, boolean);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/internal/runtime/methods/DynamicMethod;Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // org.jruby.RubyModule target
        start local 2 // org.jruby.internal.runtime.methods.DynamicMethod invoker
        start local 3 // boolean checkDups
         0: .line 139
            aload 0 /* this */
            getfield org.jruby.javasupport.binding.MethodInstaller.name:Ljava/lang/String;
            astore 4 /* oldName */
        start local 4 // java.lang.String oldName
         1: .line 140
            aload 1 /* target */
            aload 4 /* oldName */
            aload 2 /* invoker */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
         2: .line 142
            aload 0 /* this */
            getfield org.jruby.javasupport.binding.MethodInstaller.aliases:Ljava/util/List;
            astore 5 /* aliases */
        start local 5 // java.util.List aliases
         3: .line 143
            aload 5 /* aliases */
            ifnull 11
            aload 0 /* this */
            invokevirtual org.jruby.javasupport.binding.MethodInstaller.isPublic:()Z
            ifeq 11
         4: .line 144
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 10
         6: .line 145
      StackMap locals: java.lang.String java.util.List int
      StackMap stack:
            aload 5 /* aliases */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* name */
        start local 7 // java.lang.String name
         7: .line 146
            iload 3 /* checkDups */
            ifeq 8
            aload 4 /* oldName */
            aload 7 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
            goto 9
         8: .line 147
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* target */
            aload 7 /* name */
            aload 2 /* invoker */
            invokevirtual org.jruby.RubyModule.addMethod:(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V
        end local 7 // java.lang.String name
         9: .line 144
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 5 /* aliases */
            invokeinterface java.util.List.size:()I
            if_icmplt 6
        end local 6 // int i
        11: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.List aliases
        end local 4 // java.lang.String oldName
        end local 3 // boolean checkDups
        end local 2 // org.jruby.internal.runtime.methods.DynamicMethod invoker
        end local 1 // org.jruby.RubyModule target
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0   12     1     target  Lorg/jruby/RubyModule;
            0   12     2    invoker  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0   12     3  checkDups  Z
            1   12     4    oldName  Ljava/lang/String;
            3   12     5    aliases  Ljava/util/List<Ljava/lang/String;>;
            5   11     6          i  I
            7    9     7       name  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      target     
      invoker    
      checkDups  

  boolean hasLocalMethod();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
         0: .line 153
            aload 0 /* this */
            getfield org.jruby.javasupport.binding.MethodInstaller.localMethod:Z
            ireturn
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/binding/MethodInstaller;

  void setLocalMethod(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.javasupport.binding.MethodInstaller this
        start local 1 // boolean flag
         0: .line 155
            aload 0 /* this */
            iload 1 /* flag */
            putfield org.jruby.javasupport.binding.MethodInstaller.localMethod:Z
            return
        end local 1 // boolean flag
        end local 0 // org.jruby.javasupport.binding.MethodInstaller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/binding/MethodInstaller;
            0    1     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  
}
SourceFile: "MethodInstaller.java"