class jdk.nashorn.api.scripting.DefaultValueImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.api.scripting.DefaultValueImpl
  super_class: java.lang.Object
{
  private static final java.lang.String[] DEFAULT_VALUE_FNS_NUMBER;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] DEFAULT_VALUE_FNS_STRING;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 36
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "valueOf"
            aastore
            dup
            iconst_1
            ldc "toString"
            aastore
            putstatic jdk.nashorn.api.scripting.DefaultValueImpl.DEFAULT_VALUE_FNS_NUMBER:[Ljava/lang/String;
         1: .line 37
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "toString"
            aastore
            dup
            iconst_1
            ldc "valueOf"
            aastore
            putstatic jdk.nashorn.api.scripting.DefaultValueImpl.DEFAULT_VALUE_FNS_STRING:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.DefaultValueImpl this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.nashorn.api.scripting.DefaultValueImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/DefaultValueImpl;

  static  getDefaultValue(jdk.nashorn.api.scripting.JSObject, java.lang.Class<?>);
    descriptor: (Ljdk/nashorn/api/scripting/JSObject;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // jdk.nashorn.api.scripting.JSObject jsobj
        start local 1 // java.lang.Class hint
         0: .line 40
            aload 1 /* hint */
            ifnull 1
            aload 1 /* hint */
            ldc Ljava/lang/Number;
            if_acmpeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* isNumber */
        start local 2 // boolean isNumber
         3: .line 41
            iload 2 /* isNumber */
            ifeq 4
            getstatic jdk.nashorn.api.scripting.DefaultValueImpl.DEFAULT_VALUE_FNS_NUMBER:[Ljava/lang/String;
            goto 5
      StackMap locals: int
      StackMap stack:
         4: getstatic jdk.nashorn.api.scripting.DefaultValueImpl.DEFAULT_VALUE_FNS_STRING:[Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String[]
         5: dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 15
      StackMap locals: jdk.nashorn.api.scripting.JSObject java.lang.Class int top int int java.lang.String[]
      StackMap stack:
         6: aload 6
            iload 4
            aaload
            astore 3 /* methodName */
        start local 3 // java.lang.String methodName
         7: .line 42
            aload 0 /* jsobj */
            aload 3 /* methodName */
            invokeinterface jdk.nashorn.api.scripting.JSObject.getMember:(Ljava/lang/String;)Ljava/lang/Object;
            astore 7 /* objMember */
        start local 7 // java.lang.Object objMember
         8: .line 43
            aload 7 /* objMember */
            instanceof jdk.nashorn.api.scripting.JSObject
            ifeq 14
         9: .line 44
            aload 7 /* objMember */
            checkcast jdk.nashorn.api.scripting.JSObject
            astore 8 /* member */
        start local 8 // jdk.nashorn.api.scripting.JSObject member
        10: .line 45
            aload 8 /* member */
            invokeinterface jdk.nashorn.api.scripting.JSObject.isFunction:()Z
            ifeq 14
        11: .line 46
            aload 8 /* member */
            aload 0 /* jsobj */
            iconst_0
            anewarray java.lang.Object
            invokeinterface jdk.nashorn.api.scripting.JSObject.call:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* value */
        start local 9 // java.lang.Object value
        12: .line 47
            aload 9 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.isPrimitive:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 48
            aload 9 /* value */
            areturn
        end local 9 // java.lang.Object value
        end local 8 // jdk.nashorn.api.scripting.JSObject member
        end local 7 // java.lang.Object objMember
        end local 3 // java.lang.String methodName
        14: .line 41
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        15: iload 4
            iload 5
            if_icmplt 6
        16: .line 53
            new java.lang.UnsupportedOperationException
            dup
            iload 2 /* isNumber */
            ifeq 17
            ldc "cannot.get.default.number"
            goto 18
      StackMap locals: jdk.nashorn.api.scripting.JSObject java.lang.Class int
      StackMap stack: new 16 new 16
        17: ldc "cannot.get.default.string"
      StackMap locals: jdk.nashorn.api.scripting.JSObject java.lang.Class int
      StackMap stack: new 16 new 16 java.lang.String
        18: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // boolean isNumber
        end local 1 // java.lang.Class hint
        end local 0 // jdk.nashorn.api.scripting.JSObject jsobj
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0       jsobj  Ljdk/nashorn/api/scripting/JSObject;
            0   19     1        hint  Ljava/lang/Class<*>;
            3   19     2    isNumber  Z
            7   14     3  methodName  Ljava/lang/String;
            8   14     7   objMember  Ljava/lang/Object;
           10   14     8      member  Ljdk/nashorn/api/scripting/JSObject;
           12   14     9       value  Ljava/lang/Object;
    Exceptions:
      throws java.lang.UnsupportedOperationException
    Signature: (Ljdk/nashorn/api/scripting/JSObject;Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      jsobj  final
      hint   final
}
SourceFile: "DefaultValueImpl.java"