public final class com.oracle.truffle.js.nodes.JSGuards
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.JSGuards
  super_class: java.lang.Object
{
  public static final boolean FALSE;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final boolean TRUE;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.JSGuards this
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 99
            return
        end local 0 // com.oracle.truffle.js.nodes.JSGuards this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/nodes/JSGuards;

  public static boolean isJSObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 106
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSDynamicObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 113
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isTruffleObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 117
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJavaLangString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 121
            aload 0 /* value */
            instanceof java.lang.String
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isForeignObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 125
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isUndefined(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 129
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSNull(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 133
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isDynamicObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 137
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSFunction(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 141
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSFunctionShape(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.Shape shape
         0: .line 145
            aload 0 /* shape */
            invokevirtual com.oracle.truffle.api.object.Shape.getDynamicType:()Ljava/lang/Object;
            getstatic com.oracle.truffle.js.runtime.builtins.JSFunction.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSFunction;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.object.Shape shape
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  shape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
       Name  Flags
      shape  

  public static boolean isBoundJSFunction(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 149
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isBoundFunction:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isCallable(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object reviver
         0: .line 153
            aload 0 /* reviver */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object reviver
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  reviver  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      reviver  

  public static boolean isCallableProxy(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject proxy
         0: .line 157
            aload 0 /* proxy */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject proxy
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  proxy  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
       Name  Flags
      proxy  

  public static boolean isJSString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 161
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSString.isJSString:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSNumber(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 165
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSNumber.isJSNumber:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSBigInt(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 169
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSBigInt.isJSBigInt:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 173
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSBoolean.isJSBoolean:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSDate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 177
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 181
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSArgumentsObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 185
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArgumentsArray.isJSArgumentsObject:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSRegExp(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 189
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.isJSRegExp:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSOrdinaryObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 193
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.isJSOrdinaryObject:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSDateTimeFormat(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 197
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSDateTimeFormat.isJSDateTimeFormat:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSCollator(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 201
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSCollator.isJSCollator:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSListFormat(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 205
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSListFormat.isJSListFormat:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSNumberFormat(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 209
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSNumberFormat.isJSNumberFormat:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSPluralRules(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 213
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSPluralRules.isJSPluralRules:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSRelativeTimeFormat(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 217
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSRelativeTimeFormat.isJSRelativeTimeFormat:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSSegmenter(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 221
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSSegmenter.isJSSegmenter:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSDisplayNames(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 225
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSDisplayNames.isJSDisplayNames:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSLocale(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 229
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.intl.JSLocale.isJSLocale:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isNumber(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object operand
         0: .line 233
            aload 0 /* operand */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object operand
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  operand  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      operand  

  public static boolean isJavaNumber(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object operand
         0: .line 237
            aload 0 /* operand */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaNumber:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object operand
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  operand  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      operand  

  public static boolean isNumberInteger(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object operand
         0: .line 241
            aload 0 /* operand */
            instanceof java.lang.Integer
            ireturn
        end local 0 // java.lang.Object operand
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  operand  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      operand  

  public static boolean isNumberLong(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object operand
         0: .line 245
            aload 0 /* operand */
            instanceof java.lang.Long
            ireturn
        end local 0 // java.lang.Object operand
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  operand  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      operand  

  public static boolean isNumberDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object operand
         0: .line 249
            aload 0 /* operand */
            instanceof java.lang.Double
            ireturn
        end local 0 // java.lang.Object operand
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  operand  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      operand  

  public static boolean isJSNumberInteger(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject thisObj
         0: .line 257
            aload 0 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSNumber.valueOf:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Number;
            instanceof java.lang.Integer
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject thisObj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  thisObj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
         Name  Flags
      thisObj  

  public static boolean isString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object operand
         0: .line 261
            aload 0 /* operand */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object operand
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  operand  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      operand  

  public static boolean isBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object operand
         0: .line 265
            aload 0 /* operand */
            instanceof java.lang.Boolean
            ireturn
        end local 0 // java.lang.Object operand
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  operand  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      operand  

  public static boolean isSymbol(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object operand
         0: .line 269
            aload 0 /* operand */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ireturn
        end local 0 // java.lang.Object operand
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  operand  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      operand  

  public static boolean isJSHeapArrayBuffer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object thisObj
         0: .line 273
            aload 0 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.isJSHeapArrayBuffer:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object thisObj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  thisObj  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      thisObj  

  public static boolean isJSDirectArrayBuffer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object thisObj
         0: .line 277
            aload 0 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.isJSDirectArrayBuffer:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object thisObj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  thisObj  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      thisObj  

  public static boolean isJSSharedArrayBuffer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object thisObj
         0: .line 281
            aload 0 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.isJSSharedArrayBuffer:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object thisObj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  thisObj  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      thisObj  

  public static boolean isJSArrayBufferView(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object thisObj
         0: .line 285
            aload 0 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object thisObj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  thisObj  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      thisObj  

  public static boolean isJSFastArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 289
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSFastArray:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSProxy(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 293
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSFastArguments(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 297
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArgumentsArray.isJSFastArgumentsObject:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSSymbol(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 301
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSSymbol.isJSSymbol:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSMap(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 305
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSSet(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 309
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.isJSSet:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSWeakRef(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 313
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSWeakRef.isJSWeakRef:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSFinalizationRegistry(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 317
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFinalizationRegistry.isJSFinalizationRegistry:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSWeakMap(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 321
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSWeakMap.isJSWeakMap:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSWeakSet(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 325
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSWeakSet.isJSWeakSet:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSModuleNamespace(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 329
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSModuleNamespace.isJSModuleNamespace:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSAdapter(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 333
            aload 0 /* object */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSAdapter.isJSAdapter:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      object  

  public static boolean isValidPrototype(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object prototype
         0: .line 337
            aload 0 /* prototype */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJSObject:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* prototype */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJSNull:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Object prototype
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  prototype  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      prototype  

  public static boolean isByteBuffer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object buffer
         0: .line 341
            aload 0 /* buffer */
            instanceof java.nio.ByteBuffer
            ireturn
        end local 0 // java.lang.Object buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  buffer  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      buffer  

  public static boolean isList(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 345
            aload 0 /* value */
            instanceof java.util.List
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJavaPackage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object target
         0: .line 349
            aload 0 /* target */
            invokestatic com.oracle.truffle.js.runtime.java.JavaPackage.isJavaPackage:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  target  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      target  

  public static boolean isJavaArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 353
            aload 0 /* value */
            ifnull 1
            aload 0 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isBigInt(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object target
         0: .line 357
            aload 0 /* target */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ireturn
        end local 0 // java.lang.Object target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  target  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      target  

  public static boolean isBigIntZero(com.oracle.truffle.js.runtime.BigInt);
    descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.BigInt a
         0: .line 361
            getstatic com.oracle.truffle.js.runtime.BigInt.ZERO:Lcom/oracle/truffle/js/runtime/BigInt;
            aload 0 /* a */
            invokevirtual com.oracle.truffle.js.runtime.BigInt.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.BigInt a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Lcom/oracle/truffle/js/runtime/BigInt;
    MethodParameters:
      Name  Flags
      a     

  public static boolean isBigIntNegativeVal(com.oracle.truffle.js.runtime.BigInt);
    descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.BigInt a
         0: .line 365
            aload 0 /* a */
            invokevirtual com.oracle.truffle.js.runtime.BigInt.signum:()I
            iconst_m1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.BigInt a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  Lcom/oracle/truffle/js/runtime/BigInt;
    MethodParameters:
      Name  Flags
      a     

  public static boolean isDoubleInInt32Range(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double value
         0: .line 369
            ldc -2.147483648E9
            dload 0 /* value */
            dcmpg
            ifgt 1
            dload 0 /* value */
            ldc 2.147483647E9
            dcmpg
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static boolean isDoubleLargerThan2e32(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double d
         0: .line 373
            dload 0 /* d */
            invokestatic java.lang.Math.abs:(D)D
            ldc 4.294967296E9
            dcmpl
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean isLongRepresentableAsInt32(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long value
         0: .line 377
            lload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
            ireturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static boolean isDoubleRepresentableAsLong(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 381
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsLong:(D)Z
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean isDoubleSafeInteger(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 385
            dload 0 /* d */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isSafeInteger:(D)Z
            ireturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public static boolean isIntArrayIndex(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int i
         0: .line 389
            iload 0 /* i */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(I)Z
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  public static boolean isLongArrayIndex(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long i
         0: .line 393
            lload 0 /* i */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            ireturn
        end local 0 // long i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  J
    MethodParameters:
      Name  Flags
      i     

  public static boolean isArgumentsDisconnected(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject argumentsArray
         0: .line 397
            aload 0 /* argumentsArray */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArgumentsArray.hasDisconnectedIndices:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject argumentsArray
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  argumentsArray  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
                Name  Flags
      argumentsArray  

  public static java.lang.Class<? extends java.lang.Number> getJavaNumberClass();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 401
            aload 0 /* value */
            ifnull 2
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJavaNumber:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 402
            aload 0 /* value */
            checkcast java.lang.Number
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
         2: .line 404
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<+Ljava/lang/Number;>;
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Class<?> getNonTruffleObjectClass();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 408
            aload 0 /* value */
            ifnull 2
            aload 0 /* value */
            instanceof com.oracle.truffle.api.interop.TruffleObject
            ifne 2
         1: .line 409
            aload 0 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
         2: .line 411
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.js.runtime.builtins.JSClass getJSClassChecked(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject object
         0: .line 415
            aload 0 /* object */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 416
            aload 0 /* object */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            areturn
         2: .line 418
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  object  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
        Name  Flags
      object  

  public static com.oracle.truffle.js.runtime.builtins.JSClass getJSClassIfObject(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject object
         0: .line 423
            aload 0 /* object */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJSObject:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 424
            aload 0 /* object */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
            areturn
         2: .line 426
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  object  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
        Name  Flags
      object  

  public static java.lang.Class<?> getClassIfJSObject();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 431
            aload 0 /* object */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJSObject:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 432
            aload 0 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
         2: .line 434
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  object  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      object  

  public static java.lang.Class<?> getClassIfJSDynamicObject();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 439
            aload 0 /* object */
            invokestatic com.oracle.truffle.js.nodes.JSGuards.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 440
            aload 0 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
         2: .line 442
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  object  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      object  

  public static boolean isReferenceEquals(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
         0: .line 447
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  Ljava/lang/Object;
            0    2     1     b  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean isJavaPrimitive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 451
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaPrimitive:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJavaPrimitiveNumber(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 455
            aload 0 /* value */
            instanceof java.lang.Number
            ifeq 1
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJavaPrimitive:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isNullOrUndefined(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 459
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullOrUndefined:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static boolean isJSObjectShape(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.Shape shape
         0: .line 463
            aload 0 /* shape */
            invokevirtual com.oracle.truffle.api.object.Shape.getDynamicType:()Ljava/lang/Object;
            instanceof com.oracle.truffle.js.runtime.builtins.JSClass
            ireturn
        end local 0 // com.oracle.truffle.api.object.Shape shape
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  shape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
       Name  Flags
      shape  

  public static boolean isArrayIndexLengthInRange(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 467
            aload 0 /* str */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.arrayIndexLengthInRange:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   
}
SourceFile: "JSGuards.java"