public interface  org.graalvm.polyglot.proxy.ProxyInstant extends java.lang.Object implements org.graalvm.polyglot.proxy.ProxyDate, org.graalvm.polyglot.proxy.ProxyTime, org.graalvm.polyglot.proxy.ProxyTimeZone
{
public abstract java.time.Instant asInstant();
public java.time.LocalDate asDate()
{
java.time.LocalDate v;
java.time.ZonedDateTime v;
java.time.Instant v;
org.graalvm.polyglot.proxy.ProxyInstant v;
java.time.ZoneId v;
v := @this: org.graalvm.polyglot.proxy.ProxyInstant;
v = interfaceinvoke v.<org.graalvm.polyglot.proxy.ProxyInstant: java.time.Instant asInstant()>();
v = <org.graalvm.polyglot.proxy.ProxyInstantConstants: java.time.ZoneId UTC>;
v = virtualinvoke v.<java.time.Instant: java.time.ZonedDateTime atZone(java.time.ZoneId)>(v);
v = virtualinvoke v.<java.time.ZonedDateTime: java.time.LocalDate toLocalDate()>();
return v;
}
public java.time.LocalTime asTime()
{
java.time.ZonedDateTime v;
java.time.LocalTime v;
java.time.Instant v;
org.graalvm.polyglot.proxy.ProxyInstant v;
java.time.ZoneId v;
v := @this: org.graalvm.polyglot.proxy.ProxyInstant;
v = interfaceinvoke v.<org.graalvm.polyglot.proxy.ProxyInstant: java.time.Instant asInstant()>();
v = <org.graalvm.polyglot.proxy.ProxyInstantConstants: java.time.ZoneId UTC>;
v = virtualinvoke v.<java.time.Instant: java.time.ZonedDateTime atZone(java.time.ZoneId)>(v);
v = virtualinvoke v.<java.time.ZonedDateTime: java.time.LocalTime toLocalTime()>();
return v;
}
public java.time.ZoneId asTimeZone()
{
org.graalvm.polyglot.proxy.ProxyInstant v;
java.time.ZoneId v;
v := @this: org.graalvm.polyglot.proxy.ProxyInstant;
v = <org.graalvm.polyglot.proxy.ProxyInstantConstants: java.time.ZoneId UTC>;
return v;
}
public static org.graalvm.polyglot.proxy.ProxyInstant 'from'(java.time.Instant)
{
org.graalvm.polyglot.proxy.ProxyInstant$1 v;
java.time.Instant v;
v := @parameter: java.time.Instant;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = new org.graalvm.polyglot.proxy.ProxyInstant$1;
specialinvoke v.<org.graalvm.polyglot.proxy.ProxyInstant$1: void <init>(java.time.Instant)>(v);
return v;
}
}