abstract class jdk.dynalink.beans.AbstractJavaLinker implements jdk.dynalink.linker.GuardingDynamicLinker
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.dynalink.beans.AbstractJavaLinker
  super_class: java.lang.Object
{
  final java.lang.Class<?> clazz;
    descriptor: Ljava/lang/Class;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final java.lang.invoke.MethodHandle classGuard;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.invoke.MethodHandle assignableGuard;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod> propertyGetters;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;>;

  private final java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod> propertySetters;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;

  private final java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod> methods;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;

  private static final java.lang.invoke.MethodHandle IS_METHOD_HANDLE_NOT_NULL;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle CONSTANT_NULL_DROP_METHOD_HANDLE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.dynalink.linker.support.Lookup privateLookup;
    descriptor: Ljdk/dynalink/linker/support/Lookup;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle IS_ANNOTATED_METHOD_NOT_NULL;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle CONSTANT_NULL_DROP_ANNOTATED_METHOD;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle GET_ANNOTATED_METHOD;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle GETTER_INVOKER;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle IS_DYNAMIC_METHOD;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle OBJECT_IDENTITY;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle GET_PROPERTY_GETTER_HANDLE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.invoke.MethodHandle getPropertyGetterHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.invoke.MethodHandle GET_PROPERTY_SETTER_HANDLE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.invoke.MethodHandle getPropertySetterHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.invoke.MethodHandle GET_DYNAMIC_METHOD;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.invoke.MethodHandle getDynamicMethod;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=0, args_size=0
         0: .line 98
            ldc Ljdk/dynalink/beans/AbstractJavaLinker;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.dynalink.beans.AbstractJavaLinker.$assertionsDisabled:Z
         3: .line 505
            invokestatic jdk.dynalink.linker.support.Guards.isNotNull:()Ljava/lang/invoke/MethodHandle;
         4: .line 506
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/invoke/MethodHandle;
         5: .line 505
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.IS_METHOD_HANDLE_NOT_NULL:Ljava/lang/invoke/MethodHandle;
         6: .line 508
            ldc Ljava/lang/Object;
            aconst_null
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
         7: .line 507
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.CONSTANT_NULL_DROP_METHOD_HANDLE:Ljava/lang/invoke/MethodHandle;
         8: .line 591
            new jdk.dynalink.linker.support.Lookup
            dup
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            invokespecial jdk.dynalink.linker.support.Lookup.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;)V
            putstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
         9: .line 593
            invokestatic jdk.dynalink.linker.support.Guards.isNotNull:()Ljava/lang/invoke/MethodHandle;
        10: .line 594
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
        11: .line 593
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.IS_ANNOTATED_METHOD_NOT_NULL:Ljava/lang/invoke/MethodHandle;
        12: .line 596
            ldc Ljava/lang/Object;
            aconst_null
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            aastore
        13: .line 595
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.CONSTANT_NULL_DROP_ANNOTATED_METHOD:Ljava/lang/invoke/MethodHandle;
        14: .line 597
            getstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
        15: .line 598
            ldc "getTarget"
            ldc Ljava/lang/invoke/MethodHandle;
            ldc Ljdk/dynalink/CallSiteDescriptor;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/linker/LinkerServices;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        16: .line 597
            invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GET_ANNOTATED_METHOD:Ljava/lang/invoke/MethodHandle;
        17: .line 599
            ldc Ljava/lang/Object;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.MethodHandles.invoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GETTER_INVOKER:Ljava/lang/invoke/MethodHandle;
        18: .line 705
            ldc Ljdk/dynalink/beans/DynamicMethod;
        19: .line 706
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        20: .line 705
            invokestatic jdk.dynalink.linker.support.Guards.isInstance:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.IS_DYNAMIC_METHOD:Ljava/lang/invoke/MethodHandle;
        21: .line 707
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodHandles.identity:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.OBJECT_IDENTITY:Ljava/lang/invoke/MethodHandle;
        22: .line 805
            getstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
        23: .line 806
            ldc "getPropertyGetterHandle"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        24: .line 805
            invokevirtual jdk.dynalink.linker.support.Lookup.findOwnSpecial:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        25: .line 806
            iconst_1
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        26: .line 805
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GET_PROPERTY_GETTER_HANDLE:Ljava/lang/invoke/MethodHandle;
        27: .line 822
            getstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
            ldc "getPropertySetterHandle"
            ldc Ljava/lang/invoke/MethodHandle;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/CallSiteDescriptor;
            aastore
            dup
            iconst_1
        28: .line 823
            ldc Ljdk/dynalink/linker/LinkerServices;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/Object;
            aastore
        29: .line 822
            invokevirtual jdk.dynalink.linker.support.Lookup.findOwnSpecial:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        30: .line 823
            iconst_3
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        31: .line 821
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        32: .line 823
            iconst_5
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        33: .line 821
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GET_PROPERTY_SETTER_HANDLE:Ljava/lang/invoke/MethodHandle;
        34: .line 833
            getstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
        35: .line 834
            ldc "getDynamicMethod"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        36: .line 833
            invokevirtual jdk.dynalink.linker.support.Lookup.findOwnSpecial:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        37: .line 834
            iconst_1
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        38: .line 833
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GET_DYNAMIC_METHOD:Ljava/lang/invoke/MethodHandle;
        39: .line 834
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.Class<?>, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.invoke.MethodHandle classGuard
         0: .line 108
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* classGuard */
            aload 2 /* classGuard */
            invokespecial jdk.dynalink.beans.AbstractJavaLinker.<init>:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
         1: .line 109
            return
        end local 2 // java.lang.invoke.MethodHandle classGuard
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    2     1       clazz  Ljava/lang/Class<*>;
            0    2     2  classGuard  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;)V
    MethodParameters:
            Name  Flags
      clazz       final
      classGuard  final

  void <init>(java.lang.Class<?>, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.invoke.MethodHandle classGuard
        start local 3 // java.lang.invoke.MethodHandle assignableGuard
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
         2: .line 104
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
         3: .line 105
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
         4: .line 807
            aload 0 /* this */
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GET_PROPERTY_GETTER_HANDLE:Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            putfield jdk.dynalink.beans.AbstractJavaLinker.getPropertyGetterHandle:Ljava/lang/invoke/MethodHandle;
         5: .line 825
            aload 0 /* this */
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GET_PROPERTY_SETTER_HANDLE:Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            putfield jdk.dynalink.beans.AbstractJavaLinker.getPropertySetterHandle:Ljava/lang/invoke/MethodHandle;
         6: .line 835
            aload 0 /* this */
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GET_DYNAMIC_METHOD:Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            putfield jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:Ljava/lang/invoke/MethodHandle;
         7: .line 112
            aload 0 /* this */
            aload 1 /* clazz */
            putfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
         8: .line 113
            aload 0 /* this */
            aload 2 /* classGuard */
            putfield jdk.dynalink.beans.AbstractJavaLinker.classGuard:Ljava/lang/invoke/MethodHandle;
         9: .line 114
            aload 0 /* this */
            aload 3 /* assignableGuard */
            putfield jdk.dynalink.beans.AbstractJavaLinker.assignableGuard:Ljava/lang/invoke/MethodHandle;
        10: .line 116
            aload 0 /* this */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.createFacetIntrospector:()Ljdk/dynalink/beans/FacetIntrospector;
            astore 4 /* introspector */
        start local 4 // jdk.dynalink.beans.FacetIntrospector introspector
        11: .line 118
            aload 4 /* introspector */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.getMethods:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector top java.util.Iterator
      StackMap stack:
        12: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 5 /* method */
        start local 5 // java.lang.reflect.Method method
        13: .line 119
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        14: .line 121
            aload 0 /* this */
            aload 7 /* name */
            aload 5 /* method */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.addMember:(Ljava/lang/String;Ljava/lang/reflect/Executable;Ljava/util/Map;)V
        15: .line 123
            aload 7 /* name */
            ldc "get"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 18
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmple 18
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ifne 18
        16: .line 125
            aload 0 /* this */
            aload 5 /* method */
            iconst_3
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/reflect/Method;I)V
        17: .line 126
            goto 24
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector java.lang.reflect.Method java.util.Iterator java.lang.String
      StackMap stack:
        18: aload 7 /* name */
            ldc "is"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmple 22
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ifne 22
        19: .line 127
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 22
        20: .line 129
            aload 0 /* this */
            aload 5 /* method */
            iconst_2
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/reflect/Method;I)V
        21: .line 130
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 7 /* name */
            ldc "set"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmple 24
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            iconst_1
            if_icmpne 24
        23: .line 132
            aload 0 /* this */
            aload 7 /* name */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
            aload 5 /* method */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.addMember:(Ljava/lang/String;Ljava/lang/reflect/Executable;Ljava/util/Map;)V
        end local 7 // java.lang.String name
        end local 5 // java.lang.reflect.Method method
        24: .line 118
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        25: .line 137
            aload 4 /* introspector */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.getFields:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 34
      StackMap locals:
      StackMap stack:
        26: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Field
            astore 5 /* field */
        start local 5 // java.lang.reflect.Field field
        27: .line 138
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        28: .line 140
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 7 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 30
        29: .line 141
            aload 0 /* this */
            aload 7 /* name */
            aload 4 /* introspector */
            aload 5 /* field */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.unreflectGetter:(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
        30: .line 143
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector java.lang.reflect.Field java.util.Iterator java.lang.String
      StackMap stack:
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifne 34
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
            aload 7 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 34
        31: .line 144
            aload 0 /* this */
            aload 7 /* name */
            new jdk.dynalink.beans.SimpleDynamicMethod
            dup
            aload 4 /* introspector */
            aload 5 /* field */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.unreflectSetter:(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
            aload 1 /* clazz */
            aload 7 /* name */
            invokespecial jdk.dynalink.beans.SimpleDynamicMethod.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/String;)V
        32: .line 145
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
        33: .line 144
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.addMember:(Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljava/util/Map;)V
        end local 7 // java.lang.String name
        end local 5 // java.lang.reflect.Field field
        34: .line 137
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        35: .line 150
            aload 4 /* introspector */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.getInnerClassGetters:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 40
      StackMap locals:
      StackMap stack:
        36: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* innerClassSpec */
        start local 5 // java.util.Map$Entry innerClassSpec
        37: .line 151
            aload 5 /* innerClassSpec */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* name */
        start local 7 // java.lang.String name
        38: .line 152
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 7 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 40
        39: .line 153
            aload 0 /* this */
            aload 7 /* name */
            aload 5 /* innerClassSpec */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
        end local 7 // java.lang.String name
        end local 5 // java.util.Map$Entry innerClassSpec
        40: .line 150
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        41: .line 156
            return
        end local 4 // jdk.dynalink.beans.FacetIntrospector introspector
        end local 3 // java.lang.invoke.MethodHandle assignableGuard
        end local 2 // java.lang.invoke.MethodHandle classGuard
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   42     0             this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   42     1            clazz  Ljava/lang/Class<*>;
            0   42     2       classGuard  Ljava/lang/invoke/MethodHandle;
            0   42     3  assignableGuard  Ljava/lang/invoke/MethodHandle;
           11   42     4     introspector  Ljdk/dynalink/beans/FacetIntrospector;
           13   24     5           method  Ljava/lang/reflect/Method;
           14   24     7             name  Ljava/lang/String;
           27   34     5            field  Ljava/lang/reflect/Field;
           28   34     7             name  Ljava/lang/String;
           37   40     5   innerClassSpec  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/invoke/MethodHandle;>;
           38   40     7             name  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
    MethodParameters:
                 Name  Flags
      clazz            final
      classGuard       final
      assignableGuard  final

  private static java.lang.String decapitalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String str
         0: .line 159
            getstatic jdk.dynalink.beans.AbstractJavaLinker.$assertionsDisabled:Z
            ifne 1
            aload 0 /* str */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         2: .line 161
            aload 0 /* str */
            areturn
         3: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c0 */
        start local 1 // char c0
         4: .line 165
            iload 1 /* c0 */
            invokestatic java.lang.Character.isLowerCase:(C)Z
            ifeq 6
         5: .line 166
            aload 0 /* str */
            areturn
         6: .line 170
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 8
            aload 0 /* str */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 8
         7: .line 171
            aload 0 /* str */
            areturn
         8: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* c */
        start local 2 // char[] c
         9: .line 175
            aload 2 /* c */
            iconst_0
            iload 1 /* c0 */
            invokestatic java.lang.Character.toLowerCase:(C)C
            castore
        10: .line 176
            new java.lang.String
            dup
            aload 2 /* c */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // char[] c
        end local 1 // char c0
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0   str  Ljava/lang/String;
            4   11     1    c0  C
            9   11     2     c  [C
    MethodParameters:
      Name  Flags
      str   final

  abstract jdk.dynalink.beans.FacetIntrospector createFacetIntrospector();
    descriptor: ()Ljdk/dynalink/beans/FacetIntrospector;
    flags: (0x0400) ACC_ABSTRACT

  java.util.Set<java.lang.String> getReadablePropertyNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
         0: .line 182
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getUnmodifiableKeys:(Ljava/util/Map;)Ljava/util/Set;
            areturn
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  java.util.Set<java.lang.String> getWritablePropertyNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
         0: .line 186
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getUnmodifiableKeys:(Ljava/util/Map;)Ljava/util/Set;
            areturn
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  java.util.Set<java.lang.String> getMethodNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
         0: .line 190
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getUnmodifiableKeys:(Ljava/util/Map;)Ljava/util/Set;
            areturn
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  private static java.util.Set<java.lang.String> getUnmodifiableKeys(java.util.Map<java.lang.String, ?>);
    descriptor: (Ljava/util/Map;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Map m
         0: .line 194
            aload 0 /* m */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/util/Map<Ljava/lang/String;*>;
    Signature: (Ljava/util/Map<Ljava/lang/String;*>;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      m     final

  private void setPropertyGetter(java.lang.String, jdk.dynalink.beans.SingleDynamicMethod, jdk.dynalink.beans.GuardedInvocationComponent$ValidationType);
    descriptor: (Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
        start local 2 // jdk.dynalink.beans.SingleDynamicMethod handle
        start local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
         0: .line 207
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 1 /* name */
            new jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod
            dup
            aload 2 /* handle */
            aload 3 /* validationType */
            invokespecial jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod.<init>:(Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 208
            return
        end local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 2 // jdk.dynalink.beans.SingleDynamicMethod handle
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    2     1            name  Ljava/lang/String;
            0    2     2          handle  Ljdk/dynalink/beans/SingleDynamicMethod;
            0    2     3  validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
    MethodParameters:
                Name  Flags
      name            final
      handle          final
      validationType  final

  private void setPropertyGetter(java.lang.reflect.Method, int);
    descriptor: (Ljava/lang/reflect/Method;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.reflect.Method getter
        start local 2 // int prefixLen
         0: .line 217
            aload 0 /* this */
            aload 1 /* getter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            iload 2 /* prefixLen */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
         1: .line 218
            aload 1 /* getter */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMostGenericGetter:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
         2: .line 217
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.createDynamicMethod:(Ljava/lang/reflect/Executable;)Ljdk/dynalink/beans/SingleDynamicMethod;
         3: .line 218
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
         4: .line 217
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
         5: .line 219
            return
        end local 2 // int prefixLen
        end local 1 // java.lang.reflect.Method getter
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    6     1     getter  Ljava/lang/reflect/Method;
            0    6     2  prefixLen  I
    MethodParameters:
           Name  Flags
      getter     final
      prefixLen  final

  void setPropertyGetter(java.lang.String, java.lang.invoke.MethodHandle, jdk.dynalink.beans.GuardedInvocationComponent$ValidationType);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodHandle handle
        start local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
         0: .line 231
            aload 0 /* this */
            aload 1 /* name */
            new jdk.dynalink.beans.SimpleDynamicMethod
            dup
            aload 2 /* handle */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            aload 1 /* name */
            invokespecial jdk.dynalink.beans.SimpleDynamicMethod.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/String;)V
            aload 3 /* validationType */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
         1: .line 232
            return
        end local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 2 // java.lang.invoke.MethodHandle handle
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    2     1            name  Ljava/lang/String;
            0    2     2          handle  Ljava/lang/invoke/MethodHandle;
            0    2     3  validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
    MethodParameters:
                Name  Flags
      name            final
      handle          final
      validationType  final

  private void addMember(java.lang.String, java.lang.reflect.Executable, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Executable;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Executable m
        start local 3 // java.util.Map methodMap
         0: .line 235
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* m */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.createDynamicMethod:(Ljava/lang/reflect/Executable;)Ljdk/dynalink/beans/SingleDynamicMethod;
            aload 3 /* methodMap */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.addMember:(Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljava/util/Map;)V
         1: .line 236
            return
        end local 3 // java.util.Map methodMap
        end local 2 // java.lang.reflect.Executable m
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    2     1       name  Ljava/lang/String;
            0    2     2          m  Ljava/lang/reflect/Executable;
            0    2     3  methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
    Signature: (Ljava/lang/String;Ljava/lang/reflect/Executable;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)V
    MethodParameters:
           Name  Flags
      name       final
      m          final
      methodMap  final

  private void addMember(java.lang.String, jdk.dynalink.beans.SingleDynamicMethod, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
        start local 2 // jdk.dynalink.beans.SingleDynamicMethod method
        start local 3 // java.util.Map methodMap
         0: .line 239
            aload 3 /* methodMap */
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.dynalink.beans.DynamicMethod
            astore 4 /* existingMethod */
        start local 4 // jdk.dynalink.beans.DynamicMethod existingMethod
         1: .line 240
            aload 2 /* method */
            aload 4 /* existingMethod */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            aload 1 /* name */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.mergeMethods:(Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/DynamicMethod;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
            astore 5 /* newMethod */
        start local 5 // jdk.dynalink.beans.DynamicMethod newMethod
         2: .line 241
            aload 5 /* newMethod */
            aload 4 /* existingMethod */
            if_acmpeq 4
         3: .line 242
            aload 3 /* methodMap */
            aload 1 /* name */
            aload 5 /* newMethod */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 244
      StackMap locals: jdk.dynalink.beans.DynamicMethod jdk.dynalink.beans.DynamicMethod
      StackMap stack:
            return
        end local 5 // jdk.dynalink.beans.DynamicMethod newMethod
        end local 4 // jdk.dynalink.beans.DynamicMethod existingMethod
        end local 3 // java.util.Map methodMap
        end local 2 // jdk.dynalink.beans.SingleDynamicMethod method
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    5     1            name  Ljava/lang/String;
            0    5     2          method  Ljdk/dynalink/beans/SingleDynamicMethod;
            0    5     3       methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1    5     4  existingMethod  Ljdk/dynalink/beans/DynamicMethod;
            2    5     5       newMethod  Ljdk/dynalink/beans/DynamicMethod;
    Signature: (Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)V
    MethodParameters:
           Name  Flags
      name       final
      method     final
      methodMap  final

  static jdk.dynalink.beans.DynamicMethod createDynamicMethod(java.lang.Iterable<? extends java.lang.reflect.Executable>, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Iterable;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.Iterable members
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String name
         0: .line 255
            aconst_null
            astore 3 /* dynMethod */
        start local 3 // jdk.dynalink.beans.DynamicMethod dynMethod
         1: .line 256
            aload 0 /* members */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: java.lang.Iterable java.lang.Class java.lang.String jdk.dynalink.beans.DynamicMethod top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Executable
            astore 4 /* method */
        start local 4 // java.lang.reflect.Executable method
         3: .line 257
            aload 4 /* method */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.createDynamicMethod:(Ljava/lang/reflect/Executable;)Ljdk/dynalink/beans/SingleDynamicMethod;
            aload 3 /* dynMethod */
            aload 1 /* clazz */
            aload 2 /* name */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.mergeMethods:(Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/DynamicMethod;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
            astore 3 /* dynMethod */
        end local 4 // java.lang.reflect.Executable method
         4: .line 256
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 259
            aload 3 /* dynMethod */
            areturn
        end local 3 // jdk.dynalink.beans.DynamicMethod dynMethod
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Iterable members
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0    members  Ljava/lang/Iterable<+Ljava/lang/reflect/Executable;>;
            0    6     1      clazz  Ljava/lang/Class<*>;
            0    6     2       name  Ljava/lang/String;
            1    6     3  dynMethod  Ljdk/dynalink/beans/DynamicMethod;
            3    4     4     method  Ljava/lang/reflect/Executable;
    Signature: (Ljava/lang/Iterable<+Ljava/lang/reflect/Executable;>;Ljava/lang/Class<*>;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    MethodParameters:
         Name  Flags
      members  final
      clazz    final
      name     final

  private static jdk.dynalink.beans.SingleDynamicMethod createDynamicMethod(java.lang.reflect.Executable);
    descriptor: (Ljava/lang/reflect/Executable;)Ljdk/dynalink/beans/SingleDynamicMethod;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.reflect.Executable m
         0: .line 270
            aload 0 /* m */
            ldc Ljdk/internal/reflect/CallerSensitive;
            invokevirtual java.lang.reflect.Executable.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 272
            new jdk.dynalink.beans.CallerSensitiveDynamicMethod
            dup
            aload 0 /* m */
            invokespecial jdk.dynalink.beans.CallerSensitiveDynamicMethod.<init>:(Ljava/lang/reflect/Executable;)V
            areturn
         2: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* m */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.unreflectSafely:(Ljava/lang/reflect/Executable;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         3: .line 278
            goto 6
        end local 1 // java.lang.invoke.MethodHandle mh
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessError
         4: pop
         5: .line 281
            new jdk.dynalink.beans.CallerSensitiveDynamicMethod
            dup
            aload 0 /* m */
            invokespecial jdk.dynalink.beans.CallerSensitiveDynamicMethod.<init>:(Ljava/lang/reflect/Executable;)V
            areturn
        start local 1 // java.lang.invoke.MethodHandle mh
         6: .line 284
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            new jdk.dynalink.beans.SimpleDynamicMethod
            dup
            aload 1 /* mh */
            aload 0 /* m */
            invokevirtual java.lang.reflect.Executable.getDeclaringClass:()Ljava/lang/Class;
            aload 0 /* m */
            invokevirtual java.lang.reflect.Executable.getName:()Ljava/lang/String;
            aload 0 /* m */
            instanceof java.lang.reflect.Constructor
            invokespecial jdk.dynalink.beans.SimpleDynamicMethod.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/String;Z)V
            areturn
        end local 1 // java.lang.invoke.MethodHandle mh
        end local 0 // java.lang.reflect.Executable m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     m  Ljava/lang/reflect/Executable;
            3    4     1    mh  Ljava/lang/invoke/MethodHandle;
            6    7     1    mh  Ljava/lang/invoke/MethodHandle;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalAccessError
    MethodParameters:
      Name  Flags
      m     final

  private static java.lang.invoke.MethodHandle unreflectSafely(java.lang.reflect.Executable);
    descriptor: (Ljava/lang/reflect/Executable;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.reflect.Executable m
         0: .line 296
            aload 0 /* m */
            instanceof java.lang.reflect.Method
            ifeq 6
         1: .line 297
            aload 0 /* m */
            checkcast java.lang.reflect.Method
            astore 1 /* reflMethod */
        start local 1 // java.lang.reflect.Method reflMethod
         2: .line 298
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            aload 1 /* reflMethod */
            invokevirtual jdk.dynalink.linker.support.Lookup.unreflect:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* handle */
        start local 2 // java.lang.invoke.MethodHandle handle
         3: .line 299
            aload 1 /* reflMethod */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 5
         4: .line 300
            aload 2 /* handle */
            invokestatic jdk.dynalink.beans.StaticClassIntrospector.editStaticMethodHandle:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
         5: .line 302
      StackMap locals: java.lang.reflect.Method java.lang.invoke.MethodHandle
      StackMap stack:
            aload 2 /* handle */
            areturn
        end local 2 // java.lang.invoke.MethodHandle handle
        end local 1 // java.lang.reflect.Method reflMethod
         6: .line 304
      StackMap locals:
      StackMap stack:
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            aload 0 /* m */
            checkcast java.lang.reflect.Constructor
            invokevirtual jdk.dynalink.linker.support.Lookup.unreflectConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;
            invokestatic jdk.dynalink.beans.StaticClassIntrospector.editConstructorMethodHandle:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // java.lang.reflect.Executable m
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0           m  Ljava/lang/reflect/Executable;
            2    6     1  reflMethod  Ljava/lang/reflect/Method;
            3    6     2      handle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      m     final

  private static jdk.dynalink.beans.DynamicMethod mergeMethods(jdk.dynalink.beans.SingleDynamicMethod, jdk.dynalink.beans.DynamicMethod, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/DynamicMethod;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.dynalink.beans.SingleDynamicMethod method
        start local 1 // jdk.dynalink.beans.DynamicMethod existing
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
         0: .line 308
            aload 1 /* existing */
            ifnonnull 2
         1: .line 309
            aload 0 /* method */
            areturn
         2: .line 310
      StackMap locals:
      StackMap stack:
            aload 1 /* existing */
            aload 0 /* method */
            invokevirtual jdk.dynalink.beans.DynamicMethod.contains:(Ljdk/dynalink/beans/SingleDynamicMethod;)Z
            ifeq 4
         3: .line 311
            aload 1 /* existing */
            areturn
         4: .line 312
      StackMap locals:
      StackMap stack:
            aload 1 /* existing */
            instanceof jdk.dynalink.beans.SingleDynamicMethod
            ifeq 9
         5: .line 313
            new jdk.dynalink.beans.OverloadedDynamicMethod
            dup
            aload 2 /* clazz */
            aload 3 /* name */
            invokespecial jdk.dynalink.beans.OverloadedDynamicMethod.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
            astore 4 /* odm */
        start local 4 // jdk.dynalink.beans.OverloadedDynamicMethod odm
         6: .line 314
            aload 4 /* odm */
            aload 1 /* existing */
            checkcast jdk.dynalink.beans.SingleDynamicMethod
            invokevirtual jdk.dynalink.beans.OverloadedDynamicMethod.addMethod:(Ljdk/dynalink/beans/SingleDynamicMethod;)V
         7: .line 315
            aload 4 /* odm */
            aload 0 /* method */
            invokevirtual jdk.dynalink.beans.OverloadedDynamicMethod.addMethod:(Ljdk/dynalink/beans/SingleDynamicMethod;)V
         8: .line 316
            aload 4 /* odm */
            areturn
        end local 4 // jdk.dynalink.beans.OverloadedDynamicMethod odm
         9: .line 317
      StackMap locals:
      StackMap stack:
            aload 1 /* existing */
            instanceof jdk.dynalink.beans.OverloadedDynamicMethod
            ifeq 12
        10: .line 318
            aload 1 /* existing */
            checkcast jdk.dynalink.beans.OverloadedDynamicMethod
            aload 0 /* method */
            invokevirtual jdk.dynalink.beans.OverloadedDynamicMethod.addMethod:(Ljdk/dynalink/beans/SingleDynamicMethod;)V
        11: .line 319
            aload 1 /* existing */
            areturn
        12: .line 321
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // jdk.dynalink.beans.DynamicMethod existing
        end local 0 // jdk.dynalink.beans.SingleDynamicMethod method
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0    method  Ljdk/dynalink/beans/SingleDynamicMethod;
            0   13     1  existing  Ljdk/dynalink/beans/DynamicMethod;
            0   13     2     clazz  Ljava/lang/Class<*>;
            0   13     3      name  Ljava/lang/String;
            6    9     4       odm  Ljdk/dynalink/beans/OverloadedDynamicMethod;
    Signature: (Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/DynamicMethod;Ljava/lang/Class<*>;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    MethodParameters:
          Name  Flags
      method    final
      existing  final
      clazz     final
      name      final

  public jdk.dynalink.linker.GuardedInvocation getGuardedInvocation(jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.linker.LinkRequest request
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 329
            aload 2 /* linkerServices */
            instanceof jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory
            ifeq 5
         1: .line 330
            aload 2 /* linkerServices */
            checkcast jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory
            astore 5 /* lswmmhf */
        start local 5 // jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory lswmmhf
         2: .line 331
            aload 5 /* lswmmhf */
            getfield jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory.missingMemberHandlerFactory:Ljdk/dynalink/beans/MissingMemberHandlerFactory;
            astore 3 /* missingMemberHandlerFactory */
        start local 3 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
         3: .line 332
            aload 5 /* lswmmhf */
            getfield jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            astore 4 /* directLinkerServices */
        end local 5 // jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory lswmmhf
        start local 4 // jdk.dynalink.linker.LinkerServices directLinkerServices
         4: .line 333
            goto 7
        end local 4 // jdk.dynalink.linker.LinkerServices directLinkerServices
        end local 3 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
         5: .line 334
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* missingMemberHandlerFactory */
        start local 3 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
         6: .line 335
            aload 2 /* linkerServices */
            astore 4 /* directLinkerServices */
        start local 4 // jdk.dynalink.linker.LinkerServices directLinkerServices
         7: .line 338
      StackMap locals: jdk.dynalink.beans.MissingMemberHandlerFactory jdk.dynalink.linker.LinkerServices
      StackMap stack:
            aload 0 /* this */
         8: .line 339
            new jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest
            dup
            aload 1 /* request */
            aload 4 /* directLinkerServices */
         9: .line 340
            aload 3 /* missingMemberHandlerFactory */
        10: .line 339
            invokespecial jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.<init>:(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/beans/MissingMemberHandlerFactory;)V
        11: .line 338
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getGuardedInvocationComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 5 /* gic */
        start local 5 // jdk.dynalink.beans.GuardedInvocationComponent gic
        12: .line 341
            aload 5 /* gic */
            ifnull 13
            aload 5 /* gic */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            goto 14
      StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
        13: aconst_null
      StackMap locals:
      StackMap stack: jdk.dynalink.linker.GuardedInvocation
        14: areturn
        end local 5 // jdk.dynalink.beans.GuardedInvocationComponent gic
        end local 4 // jdk.dynalink.linker.LinkerServices directLinkerServices
        end local 3 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // jdk.dynalink.linker.LinkRequest request
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   15     0                         this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   15     1                      request  Ljdk/dynalink/linker/LinkRequest;
            0   15     2               linkerServices  Ljdk/dynalink/linker/LinkerServices;
            3    5     3  missingMemberHandlerFactory  Ljdk/dynalink/beans/MissingMemberHandlerFactory;
            6   15     3  missingMemberHandlerFactory  Ljdk/dynalink/beans/MissingMemberHandlerFactory;
            4    5     4         directLinkerServices  Ljdk/dynalink/linker/LinkerServices;
            7   15     4         directLinkerServices  Ljdk/dynalink/linker/LinkerServices;
            2    4     5                      lswmmhf  Ljdk/dynalink/beans/LinkerServicesWithMissingMemberHandlerFactory;
           12   15     5                          gic  Ljdk/dynalink/beans/GuardedInvocationComponent;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                Name  Flags
      request         final
      linkerServices  final

  protected jdk.dynalink.beans.GuardedInvocationComponent getGuardedInvocationComponent(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 390
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 391
            aconst_null
            areturn
         2: .line 393
      StackMap locals:
      StackMap stack:
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.dynalink.Namespace
            astore 2 /* ns */
        start local 2 // jdk.dynalink.Namespace ns
         3: .line 394
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.baseOperation:Ljdk/dynalink/Operation;
            astore 3 /* op */
        start local 3 // jdk.dynalink.Operation op
         4: .line 395
            aload 3 /* op */
            getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
            if_acmpne 9
         5: .line 396
            aload 2 /* ns */
            getstatic jdk.dynalink.StandardNamespace.PROPERTY:Ljdk/dynalink/StandardNamespace;
            if_acmpne 7
         6: .line 397
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getPropertyGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         7: .line 398
      StackMap locals: jdk.dynalink.Namespace jdk.dynalink.Operation
      StackMap stack:
            aload 2 /* ns */
            getstatic jdk.dynalink.StandardNamespace.METHOD:Ljdk/dynalink/StandardNamespace;
            if_acmpne 11
         8: .line 399
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getMethodGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         9: .line 401
      StackMap locals:
      StackMap stack:
            aload 3 /* op */
            getstatic jdk.dynalink.StandardOperation.SET:Ljdk/dynalink/StandardOperation;
            if_acmpne 11
            aload 2 /* ns */
            getstatic jdk.dynalink.StandardNamespace.PROPERTY:Ljdk/dynalink/StandardNamespace;
            if_acmpne 11
        10: .line 402
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getPropertySetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        11: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 3 // jdk.dynalink.Operation op
        end local 2 // jdk.dynalink.Namespace ns
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   12     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            3   12     2    ns  Ljdk/dynalink/Namespace;
            4   12     3    op  Ljdk/dynalink/Operation;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  jdk.dynalink.beans.GuardedInvocationComponent getNextComponent(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 408
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         1: .line 409
            aload 0 /* this */
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.missingMemberHandlerFactory:Ljdk/dynalink/beans/MissingMemberHandlerFactory;
         2: .line 410
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkRequest:Ljdk/dynalink/linker/LinkRequest;
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
         3: .line 409
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.createNoSuchMemberHandler:(Ljdk/dynalink/beans/MissingMemberHandlerFactory;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         4: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getGuardedInvocationComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 2 /* gic */
        start local 2 // jdk.dynalink.beans.GuardedInvocationComponent gic
         5: .line 413
            aload 2 /* gic */
            ifnull 7
         6: .line 414
            aload 2 /* gic */
            areturn
         7: .line 416
      StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 2 // jdk.dynalink.beans.GuardedInvocationComponent gic
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    8     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            5    8     2   gic  Ljdk/dynalink/beans/GuardedInvocationComponent;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent createNoSuchMemberHandler(jdk.dynalink.beans.MissingMemberHandlerFactory, jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljdk/dynalink/beans/MissingMemberHandlerFactory;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
        start local 2 // jdk.dynalink.linker.LinkRequest linkRequest
        start local 3 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 422
            aload 1 /* missingMemberHandlerFactory */
            ifnonnull 2
         1: .line 423
            aconst_null
            areturn
         2: .line 425
      StackMap locals:
      StackMap stack:
            aload 1 /* missingMemberHandlerFactory */
            aload 2 /* linkRequest */
            aload 3 /* linkerServices */
            invokeinterface jdk.dynalink.beans.MissingMemberHandlerFactory.createMissingMemberHandler:(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* handler */
        start local 4 // java.lang.invoke.MethodHandle handler
         3: .line 426
            aload 4 /* handler */
            ifnonnull 5
         4: .line 427
            aconst_null
            areturn
         5: .line 429
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 2 /* linkRequest */
            invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 5 /* type */
        start local 5 // java.lang.invoke.MethodType type
         6: .line 431
            getstatic jdk.dynalink.beans.AbstractJavaLinker.$assertionsDisabled:Z
            ifne 7
            aload 4 /* handler */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 5 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            aload 5 /* type */
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 432
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 0 /* this */
            aload 4 /* handler */
            aload 5 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 5 // java.lang.invoke.MethodType type
        end local 4 // java.lang.invoke.MethodHandle handler
        end local 3 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 2 // jdk.dynalink.linker.LinkRequest linkRequest
        end local 1 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    8     0                         this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    8     1  missingMemberHandlerFactory  Ljdk/dynalink/beans/MissingMemberHandlerFactory;
            0    8     2                  linkRequest  Ljdk/dynalink/linker/LinkRequest;
            0    8     3               linkerServices  Ljdk/dynalink/linker/LinkerServices;
            3    8     4                      handler  Ljava/lang/invoke/MethodHandle;
            6    8     5                         type  Ljava/lang/invoke/MethodType;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                             Name  Flags
      missingMemberHandlerFactory  final
      linkRequest                  final
      linkerServices               final

  java.lang.invoke.MethodHandle getClassGuard(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.invoke.MethodType type
         0: .line 436
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.classGuard:Ljava/lang/invoke/MethodHandle;
            aload 1 /* type */
            invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  type  Ljava/lang/invoke/MethodType;
    MethodParameters:
      Name  Flags
      type  final

  jdk.dynalink.beans.GuardedInvocationComponent getClassGuardedInvocationComponent(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.invoke.MethodHandle invocation
        start local 2 // java.lang.invoke.MethodType type
         0: .line 440
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 1 /* invocation */
            aload 0 /* this */
            aload 2 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
            areturn
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.invoke.MethodHandle invocation
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  invocation  Ljava/lang/invoke/MethodHandle;
            0    1     2        type  Ljava/lang/invoke/MethodType;
    MethodParameters:
            Name  Flags
      invocation  final
      type        final

  abstract jdk.dynalink.beans.SingleDynamicMethod getConstructorMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      signature  final

  private java.lang.invoke.MethodHandle getAssignableGuard(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.invoke.MethodType type
         0: .line 446
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.assignableGuard:Ljava/lang/invoke/MethodHandle;
            aload 1 /* type */
            invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  type  Ljava/lang/invoke/MethodType;
    MethodParameters:
      Name  Flags
      type  final

  private jdk.dynalink.linker.GuardedInvocation createGuardedDynamicMethodInvocation(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkerServices, java.lang.String, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        start local 3 // java.lang.String methodName
        start local 4 // java.util.Map methodMap
         0: .line 451
            aload 0 /* this */
            aload 1 /* callSiteDescriptor */
            aload 2 /* linkerServices */
            aload 3 /* methodName */
            aload 4 /* methodMap */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethodInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* inv */
        start local 5 // java.lang.invoke.MethodHandle inv
         1: .line 452
            aload 5 /* inv */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
         2: new jdk.dynalink.linker.GuardedInvocation
            dup
            aload 5 /* inv */
            aload 0 /* this */
            aload 1 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
      StackMap locals:
      StackMap stack: jdk.dynalink.linker.GuardedInvocation
         3: areturn
        end local 5 // java.lang.invoke.MethodHandle inv
        end local 4 // java.util.Map methodMap
        end local 3 // java.lang.String methodName
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    4     1  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            0    4     2      linkerServices  Ljdk/dynalink/linker/LinkerServices;
            0    4     3          methodName  Ljava/lang/String;
            0    4     4           methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1    4     5                 inv  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
                    Name  Flags
      callSiteDescriptor  final
      linkerServices      final
      methodName          final
      methodMap           final

  private java.lang.invoke.MethodHandle getDynamicMethodInvocation(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkerServices, java.lang.String, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        start local 3 // java.lang.String methodName
        start local 4 // java.util.Map methodMap
         0: .line 457
            aload 0 /* this */
            aload 3 /* methodName */
            aload 4 /* methodMap */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:(Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/DynamicMethod;
            astore 5 /* dynaMethod */
        start local 5 // jdk.dynalink.beans.DynamicMethod dynaMethod
         1: .line 458
            aload 5 /* dynaMethod */
            ifnull 2
            aload 5 /* dynaMethod */
            aload 1 /* callSiteDescriptor */
            aload 2 /* linkerServices */
            invokevirtual jdk.dynalink.beans.DynamicMethod.getInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/invoke/MethodHandle;
            goto 3
      StackMap locals: jdk.dynalink.beans.DynamicMethod
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
         3: areturn
        end local 5 // jdk.dynalink.beans.DynamicMethod dynaMethod
        end local 4 // java.util.Map methodMap
        end local 3 // java.lang.String methodName
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    4     1  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            0    4     2      linkerServices  Ljdk/dynalink/linker/LinkerServices;
            0    4     3          methodName  Ljava/lang/String;
            0    4     4           methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1    4     5          dynaMethod  Ljdk/dynalink/beans/DynamicMethod;
    Signature: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                    Name  Flags
      callSiteDescriptor  final
      linkerServices      final
      methodName          final
      methodMap           final

  private jdk.dynalink.beans.DynamicMethod getDynamicMethod(java.lang.String, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/DynamicMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String methodName
        start local 2 // java.util.Map methodMap
         0: .line 462
            aload 2 /* methodMap */
            aload 1 /* methodName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.dynalink.beans.DynamicMethod
            astore 3 /* dynaMethod */
        start local 3 // jdk.dynalink.beans.DynamicMethod dynaMethod
         1: .line 463
            aload 3 /* dynaMethod */
            ifnull 2
            aload 3 /* dynaMethod */
            goto 3
      StackMap locals: jdk.dynalink.beans.DynamicMethod
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* methodName */
            aload 2 /* methodMap */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getExplicitSignatureDynamicMethod:(Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/SingleDynamicMethod;
      StackMap locals:
      StackMap stack: jdk.dynalink.beans.DynamicMethod
         3: areturn
        end local 3 // jdk.dynalink.beans.DynamicMethod dynaMethod
        end local 2 // java.util.Map methodMap
        end local 1 // java.lang.String methodName
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    4     1  methodName  Ljava/lang/String;
            0    4     2   methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1    4     3  dynaMethod  Ljdk/dynalink/beans/DynamicMethod;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)Ljdk/dynalink/beans/DynamicMethod;
    MethodParameters:
            Name  Flags
      methodName  final
      methodMap   final

  private jdk.dynalink.beans.SingleDynamicMethod getExplicitSignatureDynamicMethod(java.lang.String, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/SingleDynamicMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String fullName
        start local 2 // java.util.Map methodsMap
         0: .line 476
            aload 1 /* fullName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 3 /* lastChar */
        start local 3 // int lastChar
         1: .line 477
            aload 1 /* fullName */
            iload 3 /* lastChar */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 41
            if_icmpeq 3
         2: .line 478
            aconst_null
            areturn
         3: .line 480
      StackMap locals: int
      StackMap stack:
            aload 1 /* fullName */
            bipush 40
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* openBrace */
        start local 4 // int openBrace
         4: .line 481
            iload 4 /* openBrace */
            iconst_m1
            if_icmpne 6
         5: .line 482
            aconst_null
            areturn
         6: .line 485
      StackMap locals: int
      StackMap stack:
            aload 1 /* fullName */
            iconst_0
            iload 4 /* openBrace */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: .line 486
            aload 1 /* fullName */
            iload 4 /* openBrace */
            iconst_1
            iadd
            iload 3 /* lastChar */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* signature */
        start local 6 // java.lang.String signature
         8: .line 489
            aload 2 /* methodsMap */
            aload 5 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.dynalink.beans.DynamicMethod
            astore 7 /* simpleNamedMethod */
        start local 7 // jdk.dynalink.beans.DynamicMethod simpleNamedMethod
         9: .line 490
            aload 7 /* simpleNamedMethod */
            ifnonnull 13
        10: .line 494
            aload 5 /* name */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 12
        11: .line 495
            aload 0 /* this */
            aload 6 /* signature */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getConstructorMethod:(Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
            areturn
        12: .line 498
      StackMap locals: java.lang.String java.lang.String jdk.dynalink.beans.DynamicMethod
      StackMap stack:
            aconst_null
            areturn
        13: .line 502
      StackMap locals:
      StackMap stack:
            aload 7 /* simpleNamedMethod */
            aload 6 /* signature */
            invokevirtual jdk.dynalink.beans.DynamicMethod.getMethodForExactParamTypes:(Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
            areturn
        end local 7 // jdk.dynalink.beans.DynamicMethod simpleNamedMethod
        end local 6 // java.lang.String signature
        end local 5 // java.lang.String name
        end local 4 // int openBrace
        end local 3 // int lastChar
        end local 2 // java.util.Map methodsMap
        end local 1 // java.lang.String fullName
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   14     1           fullName  Ljava/lang/String;
            0   14     2         methodsMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1   14     3           lastChar  I
            4   14     4          openBrace  I
            7   14     5               name  Ljava/lang/String;
            8   14     6          signature  Ljava/lang/String;
            9   14     7  simpleNamedMethod  Ljdk/dynalink/beans/DynamicMethod;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)Ljdk/dynalink/beans/SingleDynamicMethod;
    MethodParameters:
            Name  Flags
      fullName    final
      methodsMap  final

  private jdk.dynalink.beans.GuardedInvocationComponent getPropertySetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 511
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            ifnonnull 2
         1: .line 512
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getUnnamedPropertySetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         2: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNamedPropertySetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    3     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getUnnamedPropertySetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 518
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            astore 2 /* callSiteDescriptor */
        start local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
         1: .line 520
            aload 2 /* callSiteDescriptor */
            iconst_3
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         2: .line 525
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 3 /* origType */
        start local 3 // java.lang.invoke.MethodType origType
         3: .line 526
            aload 3 /* origType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 4
            aload 3 /* origType */
            goto 5
      StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.invoke.MethodType
      StackMap stack:
         4: aload 3 /* origType */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodType
         5: astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
         6: .line 527
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            astore 5 /* linkerServices */
        start local 5 // jdk.dynalink.linker.LinkerServices linkerServices
         7: .line 539
            aload 4 /* type */
            iconst_1
            iconst_2
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            astore 6 /* setterType */
        start local 6 // java.lang.invoke.MethodType setterType
         8: .line 542
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.getPropertySetterHandle:Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 543
            aload 2 /* callSiteDescriptor */
            aload 6 /* setterType */
            invokevirtual jdk.dynalink.CallSiteDescriptor.changeMethodType:(Ljava/lang/invoke/MethodType;)Ljdk/dynalink/CallSiteDescriptor;
            aastore
            dup
            iconst_1
            aload 5 /* linkerServices */
            aastore
        10: .line 542
            invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* boundGetter */
        start local 7 // java.lang.invoke.MethodHandle boundGetter
        11: .line 546
            aload 5 /* linkerServices */
            aload 7 /* boundGetter */
            aload 4 /* type */
        12: .line 547
            ldc Ljava/lang/invoke/MethodHandle;
        13: .line 546
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* typedGetter */
        start local 8 // java.lang.invoke.MethodHandle typedGetter
        14: .line 550
            aload 6 /* setterType */
            invokestatic java.lang.invoke.MethodHandles.exactInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 9 /* invokeHandle */
        start local 9 // java.lang.invoke.MethodHandle invokeHandle
        15: .line 552
            aload 9 /* invokeHandle */
            iconst_2
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 4 /* type */
        16: .line 553
            iconst_1
        17: .line 552
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* invokeHandleFolded */
        start local 10 // java.lang.invoke.MethodHandle invokeHandleFolded
        18: .line 554
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 11 /* nextComponent */
        start local 11 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        19: .line 557
            aload 11 /* nextComponent */
            ifnonnull 26
        20: .line 559
            getstatic jdk.dynalink.beans.AbstractJavaLinker.CONSTANT_NULL_DROP_METHOD_HANDLE:Ljava/lang/invoke/MethodHandle;
            iconst_1
        21: .line 560
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
        22: .line 559
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
        23: .line 560
            aload 4 /* type */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        24: .line 559
            astore 12 /* fallbackFolded */
        start local 12 // java.lang.invoke.MethodHandle fallbackFolded
        25: .line 561
            goto 29
        end local 12 // java.lang.invoke.MethodHandle fallbackFolded
        26: .line 564
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
            aload 11 /* nextComponent */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
        27: .line 565
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
        28: .line 564
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 12 /* fallbackFolded */
        start local 12 // java.lang.invoke.MethodHandle fallbackFolded
        29: .line 570
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic jdk.dynalink.beans.AbstractJavaLinker.IS_METHOD_HANDLE_NOT_NULL:Ljava/lang/invoke/MethodHandle;
            aload 10 /* invokeHandleFolded */
            aload 12 /* fallbackFolded */
        30: .line 569
            invokestatic java.lang.invoke.MethodHandles.guardWithTest:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        31: .line 570
            aload 8 /* typedGetter */
        32: .line 569
            invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 13 /* compositeSetter */
        start local 13 // java.lang.invoke.MethodHandle compositeSetter
        33: .line 571
            aload 11 /* nextComponent */
            ifnonnull 35
        34: .line 572
            aload 0 /* this */
            aload 13 /* compositeSetter */
            aload 4 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        35: .line 574
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 11 /* nextComponent */
            aload 13 /* compositeSetter */
            aload 0 /* this */
            aload 4 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.compose:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 13 // java.lang.invoke.MethodHandle compositeSetter
        end local 12 // java.lang.invoke.MethodHandle fallbackFolded
        end local 11 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 10 // java.lang.invoke.MethodHandle invokeHandleFolded
        end local 9 // java.lang.invoke.MethodHandle invokeHandle
        end local 8 // java.lang.invoke.MethodHandle typedGetter
        end local 7 // java.lang.invoke.MethodHandle boundGetter
        end local 6 // java.lang.invoke.MethodType setterType
        end local 5 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.invoke.MethodType origType
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   36     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   36     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   36     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            3   36     3            origType  Ljava/lang/invoke/MethodType;
            6   36     4                type  Ljava/lang/invoke/MethodType;
            7   36     5      linkerServices  Ljdk/dynalink/linker/LinkerServices;
            8   36     6          setterType  Ljava/lang/invoke/MethodType;
           11   36     7         boundGetter  Ljava/lang/invoke/MethodHandle;
           14   36     8         typedGetter  Ljava/lang/invoke/MethodHandle;
           15   36     9        invokeHandle  Ljava/lang/invoke/MethodHandle;
           18   36    10  invokeHandleFolded  Ljava/lang/invoke/MethodHandle;
           19   36    11       nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           25   26    12      fallbackFolded  Ljava/lang/invoke/MethodHandle;
           29   36    12      fallbackFolded  Ljava/lang/invoke/MethodHandle;
           33   36    13     compositeSetter  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getNamedPropertySetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 578
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            astore 2 /* callSiteDescriptor */
        start local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
         1: .line 580
            aload 2 /* callSiteDescriptor */
            iconst_2
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         2: .line 581
            aload 0 /* this */
            aload 2 /* callSiteDescriptor */
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
         3: .line 582
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
         4: .line 581
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.createGuardedDynamicMethodInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 3 /* gi */
        start local 3 // jdk.dynalink.linker.GuardedInvocation gi
         5: .line 584
            aload 3 /* gi */
            ifnull 7
         6: .line 585
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 3 /* gi */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljdk/dynalink/linker/GuardedInvocation;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
            areturn
         7: .line 588
      StackMap locals: jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.GuardedInvocation
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 3 // jdk.dynalink.linker.GuardedInvocation gi
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    8     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1    8     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            5    8     3                  gi  Ljdk/dynalink/linker/GuardedInvocation;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getPropertyGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 602
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            ifnonnull 2
         1: .line 603
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getUnnamedPropertyGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         2: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNamedPropertyGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    3     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getUnnamedPropertyGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=14, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 612
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            astore 2 /* callSiteDescriptor */
        start local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
         1: .line 613
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         2: .line 615
            aload 2 /* callSiteDescriptor */
            iconst_2
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         3: .line 623
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            astore 4 /* linkerServices */
        start local 4 // jdk.dynalink.linker.LinkerServices linkerServices
         4: .line 624
            aload 4 /* linkerServices */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.getPropertyGetterHandle:Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
         5: .line 625
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
         6: .line 624
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* typedGetter */
        start local 5 // java.lang.invoke.MethodHandle typedGetter
         7: .line 627
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GET_ANNOTATED_METHOD:Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* callSiteDescriptor */
            aastore
            dup
            iconst_1
            aload 4 /* linkerServices */
            aastore
         8: .line 626
            invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* callSiteBoundMethodGetter */
        start local 6 // java.lang.invoke.MethodHandle callSiteBoundMethodGetter
         9: .line 628
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GETTER_INVOKER:Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
        10: .line 629
            aload 6 /* callSiteBoundMethodGetter */
            aastore
        11: .line 628
            invokestatic java.lang.invoke.MethodHandles.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* callSiteBoundInvoker */
        start local 7 // java.lang.invoke.MethodHandle callSiteBoundInvoker
        12: .line 631
            aload 4 /* linkerServices */
            aload 7 /* callSiteBoundInvoker */
        13: .line 632
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        14: .line 631
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* invokeHandleTyped */
        start local 8 // java.lang.invoke.MethodHandle invokeHandleTyped
        15: .line 635
            aload 8 /* invokeHandleTyped */
            iconst_2
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        16: .line 636
            aload 3 /* type */
            iconst_1
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
        17: .line 635
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 9 /* invokeHandleFolded */
        start local 9 // java.lang.invoke.MethodHandle invokeHandleFolded
        18: .line 637
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 10 /* nextComponent */
        start local 10 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        19: .line 640
            aload 10 /* nextComponent */
            ifnonnull 26
        20: .line 642
            getstatic jdk.dynalink.beans.AbstractJavaLinker.CONSTANT_NULL_DROP_ANNOTATED_METHOD:Ljava/lang/invoke/MethodHandle;
            iconst_1
        21: .line 643
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
        22: .line 642
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
        23: .line 643
            aload 3 /* type */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        24: .line 642
            astore 11 /* fallbackFolded */
        start local 11 // java.lang.invoke.MethodHandle fallbackFolded
        25: .line 644
            goto 33
        end local 11 // java.lang.invoke.MethodHandle fallbackFolded
        26: .line 647
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.invoke.MethodType jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
            aload 10 /* nextComponent */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            astore 12 /* nextInvocation */
        start local 12 // java.lang.invoke.MethodHandle nextInvocation
        27: .line 648
            aload 12 /* nextInvocation */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 13 /* nextType */
        start local 13 // java.lang.invoke.MethodType nextType
        28: .line 649
            aload 12 /* nextInvocation */
        29: .line 650
            aload 13 /* nextType */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        30: .line 649
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        31: .line 650
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            aastore
        32: .line 649
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 11 /* fallbackFolded */
        end local 13 // java.lang.invoke.MethodType nextType
        end local 12 // java.lang.invoke.MethodHandle nextInvocation
        start local 11 // java.lang.invoke.MethodHandle fallbackFolded
        33: .line 655
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic jdk.dynalink.beans.AbstractJavaLinker.IS_ANNOTATED_METHOD_NOT_NULL:Ljava/lang/invoke/MethodHandle;
            aload 9 /* invokeHandleFolded */
            aload 11 /* fallbackFolded */
        34: .line 654
            invokestatic java.lang.invoke.MethodHandles.guardWithTest:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        35: .line 655
            aload 5 /* typedGetter */
        36: .line 654
            invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 12 /* compositeGetter */
        start local 12 // java.lang.invoke.MethodHandle compositeGetter
        37: .line 656
            aload 10 /* nextComponent */
            ifnonnull 39
        38: .line 657
            aload 0 /* this */
            aload 12 /* compositeGetter */
            aload 3 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        39: .line 659
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 10 /* nextComponent */
            aload 12 /* compositeGetter */
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.compose:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 12 // java.lang.invoke.MethodHandle compositeGetter
        end local 11 // java.lang.invoke.MethodHandle fallbackFolded
        end local 10 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 9 // java.lang.invoke.MethodHandle invokeHandleFolded
        end local 8 // java.lang.invoke.MethodHandle invokeHandleTyped
        end local 7 // java.lang.invoke.MethodHandle callSiteBoundInvoker
        end local 6 // java.lang.invoke.MethodHandle callSiteBoundMethodGetter
        end local 5 // java.lang.invoke.MethodHandle typedGetter
        end local 4 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   40     0                       this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   40     1                        req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   40     2         callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            2   40     3                       type  Ljava/lang/invoke/MethodType;
            4   40     4             linkerServices  Ljdk/dynalink/linker/LinkerServices;
            7   40     5                typedGetter  Ljava/lang/invoke/MethodHandle;
            9   40     6  callSiteBoundMethodGetter  Ljava/lang/invoke/MethodHandle;
           12   40     7       callSiteBoundInvoker  Ljava/lang/invoke/MethodHandle;
           15   40     8          invokeHandleTyped  Ljava/lang/invoke/MethodHandle;
           18   40     9         invokeHandleFolded  Ljava/lang/invoke/MethodHandle;
           19   40    10              nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           25   26    11             fallbackFolded  Ljava/lang/invoke/MethodHandle;
           33   40    11             fallbackFolded  Ljava/lang/invoke/MethodHandle;
           27   33    12             nextInvocation  Ljava/lang/invoke/MethodHandle;
           28   33    13                   nextType  Ljava/lang/invoke/MethodType;
           37   40    12            compositeGetter  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getNamedPropertyGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 663
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            astore 2 /* callSiteDescriptor */
        start local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
         1: .line 665
            aload 2 /* callSiteDescriptor */
            iconst_1
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         2: .line 667
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod
            astore 3 /* annGetter */
        start local 3 // jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod annGetter
         3: .line 668
            aload 3 /* annGetter */
            ifnonnull 5
         4: .line 670
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         5: .line 672
      StackMap locals: jdk.dynalink.CallSiteDescriptor jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod
      StackMap stack:
            aload 3 /* annGetter */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod.getInvocation:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* getter */
        start local 4 // java.lang.invoke.MethodHandle getter
         6: .line 679
            aload 3 /* annGetter */
            getfield jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod.validationType:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            astore 5 /* validationType */
        start local 5 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
         7: .line 681
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 4 /* getter */
            aload 0 /* this */
            aload 5 /* validationType */
         8: .line 682
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
         9: .line 681
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getGuard:(Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        10: .line 682
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            aload 5 /* validationType */
        11: .line 681
            invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
            areturn
        end local 5 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 4 // java.lang.invoke.MethodHandle getter
        end local 3 // jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod annGetter
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   12     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   12     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            3   12     3           annGetter  Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            6   12     4              getter  Ljava/lang/invoke/MethodHandle;
            7   12     5      validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private java.lang.invoke.MethodHandle getGuard(jdk.dynalink.beans.GuardedInvocationComponent$ValidationType, java.lang.invoke.MethodType);
    descriptor: (Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        start local 2 // java.lang.invoke.MethodType methodType
         0: .line 686
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.$SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType:()[I
            aload 1 /* validationType */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 4
                    2: 2
                    3: 1
                    4: 3
              default: 5
          }
         1: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* methodType */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* methodType */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getAssignableGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         3: .line 694
      StackMap locals:
      StackMap stack:
            iconst_0
            aload 2 /* methodType */
            invokestatic jdk.dynalink.linker.support.Guards.isArray:(ILjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 697
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         5: .line 700
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // java.lang.invoke.MethodType methodType
        end local 1 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    6     1  validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            0    6     2      methodType  Ljava/lang/invoke/MethodType;
    MethodParameters:
                Name  Flags
      validationType  final
      methodType      final

  private jdk.dynalink.beans.GuardedInvocationComponent getMethodGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 710
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            ifnonnull 2
         1: .line 711
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getUnnamedMethodGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         2: .line 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNamedMethodGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    3     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private static java.lang.invoke.MethodType getMethodGetterType(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljava/lang/invoke/MethodType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 719
            aload 0 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            areturn
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getUnnamedMethodGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 724
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            iconst_2
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         1: .line 725
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 2 /* nextComponent */
        start local 2 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
         2: .line 726
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            astore 3 /* linkerServices */
        start local 3 // jdk.dynalink.linker.LinkerServices linkerServices
         3: .line 727
            aload 1 /* req */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMethodGetterType:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljava/lang/invoke/MethodType;
            astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
         4: .line 728
            aload 2 /* nextComponent */
            ifnonnull 6
         5: .line 730
            aload 0 /* this */
            aload 3 /* linkerServices */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:Ljava/lang/invoke/MethodHandle;
            aload 4 /* type */
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 4 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         6: .line 738
      StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType
      StackMap stack:
            aload 3 /* linkerServices */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:Ljava/lang/invoke/MethodHandle;
            aload 4 /* type */
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* typedGetter */
        start local 5 // java.lang.invoke.MethodHandle typedGetter
         7: .line 740
            aload 3 /* linkerServices */
         8: .line 741
            getstatic jdk.dynalink.beans.AbstractJavaLinker.OBJECT_IDENTITY:Ljava/lang/invoke/MethodHandle;
            iconst_1
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
         9: .line 740
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
        10: .line 741
            aload 4 /* type */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        11: .line 740
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* returnMethodHandle */
        start local 6 // java.lang.invoke.MethodHandle returnMethodHandle
        12: .line 742
            aload 2 /* nextComponent */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            astore 7 /* nextComponentInvocation */
        start local 7 // java.lang.invoke.MethodHandle nextComponentInvocation
        13: .line 745
            getstatic jdk.dynalink.beans.AbstractJavaLinker.$assertionsDisabled:Z
            ifne 14
            aload 7 /* nextComponentInvocation */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 747
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
      StackMap stack:
            aload 7 /* nextComponentInvocation */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        15: .line 748
            ldc Ljava/lang/Object;
            aastore
        16: .line 747
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* nextCombinedInvocation */
        start local 8 // java.lang.invoke.MethodHandle nextCombinedInvocation
        17: .line 752
            getstatic jdk.dynalink.beans.AbstractJavaLinker.IS_DYNAMIC_METHOD:Ljava/lang/invoke/MethodHandle;
            aload 6 /* returnMethodHandle */
        18: .line 753
            aload 8 /* nextCombinedInvocation */
            aload 8 /* nextCombinedInvocation */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        19: .line 751
            invokestatic java.lang.invoke.MethodHandles.guardWithTest:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        20: .line 754
            aload 5 /* typedGetter */
        21: .line 751
            invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 9 /* compositeGetter */
        start local 9 // java.lang.invoke.MethodHandle compositeGetter
        22: .line 756
            aload 2 /* nextComponent */
            aload 9 /* compositeGetter */
            aload 0 /* this */
            aload 4 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.compose:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 9 // java.lang.invoke.MethodHandle compositeGetter
        end local 8 // java.lang.invoke.MethodHandle nextCombinedInvocation
        end local 7 // java.lang.invoke.MethodHandle nextComponentInvocation
        end local 6 // java.lang.invoke.MethodHandle returnMethodHandle
        end local 5 // java.lang.invoke.MethodHandle typedGetter
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 2 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   23     0                     this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   23     1                      req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            2   23     2            nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
            3   23     3           linkerServices  Ljdk/dynalink/linker/LinkerServices;
            4   23     4                     type  Ljava/lang/invoke/MethodType;
            7   23     5              typedGetter  Ljava/lang/invoke/MethodHandle;
           12   23     6       returnMethodHandle  Ljava/lang/invoke/MethodHandle;
           13   23     7  nextComponentInvocation  Ljava/lang/invoke/MethodHandle;
           17   23     8   nextCombinedInvocation  Ljava/lang/invoke/MethodHandle;
           22   23     9          compositeGetter  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getNamedMethodGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 762
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            iconst_1
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         1: .line 763
            aload 0 /* this */
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:(Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
            astore 2 /* method */
        start local 2 // jdk.dynalink.beans.DynamicMethod method
         2: .line 764
            aload 2 /* method */
            ifnonnull 4
         3: .line 766
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         4: .line 770
      StackMap locals: jdk.dynalink.beans.DynamicMethod
      StackMap stack:
            aload 1 /* req */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMethodGetterType:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         5: .line 771
            aload 0 /* this */
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
         6: .line 772
            ldc Ljava/lang/Object;
            aload 2 /* method */
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
         7: .line 771
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
         8: .line 772
            aload 3 /* type */
         9: .line 771
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        10: .line 772
            aload 3 /* type */
        11: .line 771
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // jdk.dynalink.beans.DynamicMethod method
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   12     1     req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            2   12     2  method  Ljdk/dynalink/beans/DynamicMethod;
            5   12     3    type  Ljava/lang/invoke/MethodType;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  static jdk.dynalink.beans.AbstractJavaLinker$MethodPair matchReturnTypes(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/AbstractJavaLinker$MethodPair;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.lang.invoke.MethodHandle m1
        start local 1 // java.lang.invoke.MethodHandle m2
         0: .line 790
            aload 0 /* m1 */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 2 /* type1 */
        start local 2 // java.lang.invoke.MethodType type1
         1: .line 791
            aload 1 /* m2 */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 3 /* type2 */
        start local 3 // java.lang.invoke.MethodType type2
         2: .line 792
            aload 2 /* type1 */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
         3: .line 793
            aload 3 /* type2 */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
         4: .line 792
            invokestatic jdk.dynalink.internal.InternalTypeUtilities.getCommonLosslessConversionType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
            astore 4 /* commonRetType */
        start local 4 // java.lang.Class commonRetType
         5: .line 794
            new jdk.dynalink.beans.AbstractJavaLinker$MethodPair
            dup
         6: .line 795
            aload 0 /* m1 */
            aload 2 /* type1 */
            aload 4 /* commonRetType */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         7: .line 796
            aload 1 /* m2 */
            aload 3 /* type2 */
            aload 4 /* commonRetType */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         8: .line 794
            invokespecial jdk.dynalink.beans.AbstractJavaLinker$MethodPair.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
            areturn
        end local 4 // java.lang.Class commonRetType
        end local 3 // java.lang.invoke.MethodType type2
        end local 2 // java.lang.invoke.MethodType type1
        end local 1 // java.lang.invoke.MethodHandle m2
        end local 0 // java.lang.invoke.MethodHandle m1
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0             m1  Ljava/lang/invoke/MethodHandle;
            0    9     1             m2  Ljava/lang/invoke/MethodHandle;
            1    9     2          type1  Ljava/lang/invoke/MethodType;
            2    9     3          type2  Ljava/lang/invoke/MethodType;
            5    9     4  commonRetType  Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      m1    final
      m2    final

  private static void assertParameterCount(jdk.dynalink.CallSiteDescriptor, int);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.dynalink.CallSiteDescriptor descriptor
        start local 1 // int paramCount
         0: .line 800
            aload 0 /* descriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iload 1 /* paramCount */
            if_icmpeq 2
         1: .line 801
            new java.lang.BootstrapMethodError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* descriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " must have exactly "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* paramCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " parameters."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.BootstrapMethodError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 803
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int paramCount
        end local 0 // jdk.dynalink.CallSiteDescriptor descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  descriptor  Ljdk/dynalink/CallSiteDescriptor;
            0    3     1  paramCount  I
    MethodParameters:
            Name  Flags
      descriptor  final
      paramCount  final

  private java.lang.Object getPropertyGetterHandle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.Object id
         0: .line 815
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 1 /* id */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object id
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1    id  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      id    final

  private java.lang.invoke.MethodHandle getPropertySetterHandle(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkerServices, java.lang.Object);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.CallSiteDescriptor setterDescriptor
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        start local 3 // java.lang.Object id
         0: .line 830
            aload 0 /* this */
            aload 1 /* setterDescriptor */
            aload 2 /* linkerServices */
            aload 3 /* id */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethodInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.Object id
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // jdk.dynalink.CallSiteDescriptor setterDescriptor
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  setterDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            0    1     2    linkerServices  Ljdk/dynalink/linker/LinkerServices;
            0    1     3                id  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      setterDescriptor  final
      linkerServices    final
      id                final

  private java.lang.Object getDynamicMethod(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.Object name
         0: .line 842
            aload 0 /* this */
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:(Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/DynamicMethod;
            areturn
        end local 1 // java.lang.Object name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  name  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      name  final

  jdk.dynalink.beans.DynamicMethod getDynamicMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
         0: .line 853
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:(Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/DynamicMethod;
            areturn
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  private static java.lang.reflect.Method getMostGenericGetter(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method getter
         0: .line 864
            aload 0 /* getter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 0 /* getter */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMostGenericGetter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            areturn
        end local 0 // java.lang.reflect.Method getter
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  getter  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      getter  final

  private static java.lang.reflect.Method getMostGenericGetter(java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class declaringClass
         0: .line 868
            aload 1 /* declaringClass */
            ifnonnull 2
         1: .line 869
            aconst_null
            areturn
         2: .line 872
      StackMap locals:
      StackMap stack:
            aload 1 /* declaringClass */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: java.lang.String java.lang.Class top int int java.lang.Class[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* itf */
        start local 2 // java.lang.Class itf
         4: .line 873
            aload 0 /* name */
            aload 2 /* itf */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMostGenericGetter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* itfGetter */
        start local 6 // java.lang.reflect.Method itfGetter
         5: .line 874
            aload 6 /* itfGetter */
            ifnull 7
         6: .line 875
            aload 6 /* itfGetter */
            areturn
        end local 6 // java.lang.reflect.Method itfGetter
        end local 2 // java.lang.Class itf
         7: .line 872
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 3
         9: .line 878
            aload 0 /* name */
            aload 1 /* declaringClass */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMostGenericGetter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* superGetter */
        start local 2 // java.lang.reflect.Method superGetter
        10: .line 879
            aload 2 /* superGetter */
            ifnull 12
        11: .line 880
            aload 2 /* superGetter */
            areturn
        12: .line 882
      StackMap locals: java.lang.String java.lang.Class java.lang.reflect.Method
      StackMap stack:
            aload 1 /* declaringClass */
            invokestatic jdk.dynalink.beans.CheckRestrictedPackage.isRestrictedClass:(Ljava/lang/Class;)Z
            ifne 16
        13: .line 884
            aload 1 /* declaringClass */
            aload 0 /* name */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        14: areturn
        15: .line 885
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        16: .line 889
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.reflect.Method superGetter
        end local 1 // java.lang.Class declaringClass
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            name  Ljava/lang/String;
            0   17     1  declaringClass  Ljava/lang/Class<*>;
            4    7     2             itf  Ljava/lang/Class<*>;
            5    7     6       itfGetter  Ljava/lang/reflect/Method;
           10   17     2     superGetter  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
          13    14      15  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    MethodParameters:
                Name  Flags
      name            final
      declaringClass  final

  static int[] $SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 98
            getstatic jdk.dynalink.beans.AbstractJavaLinker.$SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.values:()[Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.IS_ARRAY:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.NONE:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic jdk.dynalink.beans.AbstractJavaLinker.$SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "AbstractJavaLinker.java"
NestMembers:
  jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod  jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest  jdk.dynalink.beans.AbstractJavaLinker$MethodPair
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private final AnnotatedDynamicMethod = jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod of jdk.dynalink.beans.AbstractJavaLinker
  final ComponentLinkRequest = jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest of jdk.dynalink.beans.AbstractJavaLinker
  MethodPair = jdk.dynalink.beans.AbstractJavaLinker$MethodPair of jdk.dynalink.beans.AbstractJavaLinker
  final ValidationType = jdk.dynalink.beans.GuardedInvocationComponent$ValidationType of jdk.dynalink.beans.GuardedInvocationComponent