public final class com.oracle.truffle.js.runtime.builtins.JSDateObject extends com.oracle.truffle.js.runtime.objects.JSNonProxyObject
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.builtins.JSDateObject
  super_class: com.oracle.truffle.js.runtime.objects.JSNonProxyObject
{
  private double value;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(com.oracle.truffle.api.object.Shape, double);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;D)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
        start local 1 // com.oracle.truffle.api.object.Shape shape
        start local 2 // double value
         0: .line 65
            aload 0 /* this */
            aload 1 /* shape */
            invokespecial com.oracle.truffle.js.runtime.objects.JSNonProxyObject.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
         1: .line 66
            aload 0 /* this */
            dload 2 /* value */
            putfield com.oracle.truffle.js.runtime.builtins.JSDateObject.value:D
         2: .line 67
            return
        end local 2 // double value
        end local 1 // com.oracle.truffle.api.object.Shape shape
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;
            0    3     1  shape  Lcom/oracle/truffle/api/object/Shape;
            0    3     2  value  D
    MethodParameters:
       Name  Flags
      shape  
      value  

  public double getTimeMillis();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
         0: .line 70
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.builtins.JSDateObject.value:D
            dreturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;

  public void setTimeMillis(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
        start local 1 // double value
         0: .line 74
            aload 0 /* this */
            dload 1 /* value */
            putfield com.oracle.truffle.js.runtime.builtins.JSDateObject.value:D
         1: .line 75
            return
        end local 1 // double value
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;
            0    2     1  value  D
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.api.object.DynamicObject create(com.oracle.truffle.api.object.Shape, double);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;D)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.object.Shape shape
        start local 1 // double value
         0: .line 78
            new com.oracle.truffle.js.runtime.builtins.JSDateObject
            dup
            aload 0 /* shape */
            dload 1 /* value */
            invokespecial com.oracle.truffle.js.runtime.builtins.JSDateObject.<init>:(Lcom/oracle/truffle/api/object/Shape;D)V
            areturn
        end local 1 // double value
        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;
            0    1     1  value  D
    MethodParameters:
       Name  Flags
      shape  
      value  

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
         0: .line 83
            ldc "Date"
            areturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;

  public java.lang.String getBuiltinToStringTag();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
         0: .line 88
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.getClassName:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;

  protected boolean isDate();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
         0: .line 95
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isValidDate:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage$Repeat(value = {com.oracle.truffle.api.library.ExportMessage(name = "isDate"), com.oracle.truffle.api.library.ExportMessage(name = "isTime"), com.oracle.truffle.api.library.ExportMessage(name = "isTimeZone")})

  public java.time.Instant asInstant();
    descriptor: ()Ljava/time/Instant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
         0: .line 100
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.isDate:()Z
            ifeq 2
         1: .line 101
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.asInstant:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/time/Instant;
            areturn
         2: .line 103
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            athrow
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()

  public java.time.LocalDate asDate(com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.js.runtime.JSRealm>);
    descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
        start local 1 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextRef
         0: .line 110
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.isDate:()Z
            ifeq 2
         1: .line 111
            aload 0 /* this */
            aload 1 /* contextRef */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.JSRealm
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.asLocalDate:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/time/LocalDate;
            areturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            athrow
        end local 1 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextRef
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;
            0    3     1  contextRef  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/js/runtime/JSRealm;>;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    Signature: (Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/js/runtime/JSRealm;>;)Ljava/time/LocalDate;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/js/lang/JavaScriptLanguage;)
    MethodParameters:
            Name  Flags
      contextRef  

  public java.time.LocalTime asTime(com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.js.runtime.JSRealm>);
    descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;)Ljava/time/LocalTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
        start local 1 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextRef
         0: .line 120
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.isDate:()Z
            ifeq 2
         1: .line 121
            aload 0 /* this */
            aload 1 /* contextRef */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.JSRealm
            invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.asLocalTime:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/time/LocalTime;
            areturn
         2: .line 123
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            athrow
        end local 1 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextRef
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;
            0    3     1  contextRef  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/js/runtime/JSRealm;>;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    Signature: (Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/js/runtime/JSRealm;>;)Ljava/time/LocalTime;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/js/lang/JavaScriptLanguage;)
    MethodParameters:
            Name  Flags
      contextRef  

  public java.time.ZoneId asTimeZone(com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.js.runtime.JSRealm>);
    descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;)Ljava/time/ZoneId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
        start local 1 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextRef
         0: .line 130
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSDateObject.isDate:()Z
            ifeq 2
         1: .line 131
            aload 1 /* contextRef */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.JSRealm
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getLocalTimeZoneId:()Ljava/time/ZoneId;
            areturn
         2: .line 133
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            athrow
        end local 1 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextRef
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSDateObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/truffle/js/runtime/builtins/JSDateObject;
            0    3     1  contextRef  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/js/runtime/JSRealm;>;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    Signature: (Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/js/runtime/JSRealm;>;)Ljava/time/ZoneId;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/js/lang/JavaScriptLanguage;)
    MethodParameters:
            Name  Flags
      contextRef  
}
SourceFile: "JSDateObject.java"
InnerClasses:
  public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
  public abstract Repeat = com.oracle.truffle.api.library.ExportMessage$Repeat of com.oracle.truffle.api.library.ExportMessage
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)