com.oracle.truffle.js.runtime.builtins.JSNumberObjectGen Maven / Gradle / Ivy
// CheckStyle: start generated
package com.oracle.truffle.js.runtime.builtins;
import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.TruffleLanguage;
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.dsl.DSLSupport.SpecializationDataNode;
import com.oracle.truffle.api.interop.ArityException;
import com.oracle.truffle.api.interop.InteropLibrary;
import com.oracle.truffle.api.interop.UnknownIdentifierException;
import com.oracle.truffle.api.interop.UnsupportedMessageException;
import com.oracle.truffle.api.interop.UnsupportedTypeException;
import com.oracle.truffle.api.library.DynamicDispatchLibrary;
import com.oracle.truffle.api.library.Library;
import com.oracle.truffle.api.library.LibraryExport;
import com.oracle.truffle.api.library.LibraryFactory;
import com.oracle.truffle.api.nodes.DenyReplace;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.api.nodes.UnadoptableNode;
import com.oracle.truffle.api.strings.TruffleString.FromJavaStringNode;
import com.oracle.truffle.api.utilities.FinalBitSet;
import com.oracle.truffle.api.utilities.TriState;
import com.oracle.truffle.js.nodes.access.ReadElementNode;
import com.oracle.truffle.js.nodes.access.WriteElementNode;
import com.oracle.truffle.js.nodes.interop.ExportValueNode;
import com.oracle.truffle.js.nodes.interop.ImportValueNode;
import com.oracle.truffle.js.nodes.interop.JSInteropGetIteratorNode;
import com.oracle.truffle.js.nodes.interop.JSInteropGetIteratorNodeGen;
import com.oracle.truffle.js.nodes.interop.JSInteropInvokeNode;
import com.oracle.truffle.js.nodes.interop.JSInteropInvokeNodeGen;
import com.oracle.truffle.js.nodes.interop.KeyInfoNode;
import com.oracle.truffle.js.nodes.interop.KeyInfoNodeGen;
import com.oracle.truffle.js.runtime.objects.JSDynamicObject;
import com.oracle.truffle.js.runtime.objects.JSNonProxyObject;
import com.oracle.truffle.js.runtime.objects.JSObject;
import com.oracle.truffle.js.runtime.objects.JSDynamicObject.IsIdenticalOrUndefined;
import com.oracle.truffle.js.runtime.objects.JSObject.GetMembers;
import java.lang.invoke.VarHandle;
import java.util.Objects;
@GeneratedBy(JSNumberObject.class)
@SuppressWarnings({"javadoc", "unused"})
final class JSNumberObjectGen {
private static final LibraryFactory INTEROP_LIBRARY_ = LibraryFactory.resolve(InteropLibrary.class);
private static final LibraryFactory DYNAMIC_DISPATCH_LIBRARY_ = LibraryFactory.resolve(DynamicDispatchLibrary.class);
static {
LibraryExport.register(JSNumberObject.class, new InteropLibraryExports());
}
private JSNumberObjectGen() {
}
@GeneratedBy(JSNumberObject.class)
private static final class InteropLibraryExports extends LibraryExport {
static final FinalBitSet ENABLED_MESSAGES = createMessageBitSet(INTEROP_LIBRARY_, "isIdenticalOrUndefined", "identityHashCode", "getMembers", "hasMembers", "readMember", "isMemberReadable", "writeMember", "isMemberModifiable", "isMemberInsertable", "removeMember", "isMemberRemovable", "invokeMember", "isMemberInvocable", "hasMemberReadSideEffects", "hasMemberWriteSideEffects", "hasIterator", "getIterator", "hasLanguage", "getLanguage", "toDisplayString", "hasMetaObject", "getMetaObject");
private InteropLibraryExports() {
super(InteropLibrary.class, JSNumberObject.class, false, false, 0);
}
@Override
protected InteropLibrary createUncached(Object receiver) {
assert receiver instanceof JSNumberObject;
InteropLibrary uncached = createDelegate(INTEROP_LIBRARY_, new Uncached());
return uncached;
}
@Override
protected InteropLibrary createCached(Object receiver) {
assert receiver instanceof JSNumberObject;
return createDelegate(INTEROP_LIBRARY_, new Cached(receiver));
}
@GeneratedBy(JSNumberObject.class)
private static final class Cached extends InteropLibrary implements DelegateExport {
@Child private InteropLibrary receiverNumberInteropLibrary_;
/**
* State Info:
* 0: SpecializationActive {@link IsIdenticalOrUndefined#doHostObject}
* 1: SpecializationActive {@link IsIdenticalOrUndefined#doOther}
* 2: SpecializationActive {@link JSObject#readMember(JSObject, String, InteropLibrary, ReadElementNode, boolean, FromJavaStringNode, ExportValueNode)}
* 3: SpecializationActive {@link JSObject#isMemberReadable(JSObject, String, KeyInfoNode)}
* 4: SpecializationActive {@link JSObject#writeMember(JSObject, String, Object, KeyInfoNode, ImportValueNode, WriteElementNode, FromJavaStringNode)}
* 5: SpecializationActive {@link JSObject#isMemberModifiable(JSObject, String, KeyInfoNode)}
* 6: SpecializationActive {@link JSObject#isMemberInsertable(JSObject, String, KeyInfoNode)}
* 7: SpecializationActive {@link JSObject#removeMember(JSObject, String, FromJavaStringNode)}
* 8: SpecializationActive {@link JSObject#isMemberRemovable(JSObject, String, KeyInfoNode)}
* 9: SpecializationActive {@link JSObject#invokeMember(JSObject, String, Object[], InteropLibrary, JSInteropInvokeNode, FromJavaStringNode, ExportValueNode)}
* 10: SpecializationActive {@link JSObject#isMemberInvocable(JSObject, String, KeyInfoNode)}
* 11: SpecializationActive {@link JSObject#hasMemberReadSideEffects(JSObject, String, KeyInfoNode)}
* 12: SpecializationActive {@link JSObject#hasMemberWriteSideEffects(JSObject, String, KeyInfoNode)}
* 13: SpecializationActive {@link JSObject#hasIterator(JSObject, InteropLibrary, JSInteropGetIteratorNode)}
* 14: SpecializationActive {@link JSObject#getIterator(JSObject, InteropLibrary, JSInteropGetIteratorNode)}
*
*/
@CompilationFinal private int state_0_;
/**
* Source Info:
* Specialization: {@link JSObject#readMember}
* Parameter: {@link FromJavaStringNode} fromJavaString
*/
@Child private FromJavaStringNode fromJavaString;
/**
* Source Info:
* Specialization: {@link JSObject#isMemberReadable}
* Parameter: {@link KeyInfoNode} keyInfo
*/
@Child private KeyInfoNode keyInfo;
/**
* Source Info:
* Specialization: {@link JSObject#hasIterator}
* Parameter: {@link JSInteropGetIteratorNode} getIteratorNode
*/
@Child private JSInteropGetIteratorNode getIteratorNode;
@Child private ReadMemberNode_ReadMemberData readMemberNode__readMember_cache;
@Child private WriteMemberNode_WriteMemberData writeMemberNode__writeMember_cache;
@Child private InvokeMemberNode_InvokeMemberData invokeMemberNode__invokeMember_cache;
protected Cached(Object receiver) {
JSNumberObject castReceiver = ((JSNumberObject) receiver) ;
this.receiverNumberInteropLibrary_ = INTEROP_LIBRARY_.create((castReceiver.number));
}
@Override
public FinalBitSet getDelegateExportMessages() {
return ENABLED_MESSAGES;
}
@Override
public Object readDelegateExport(Object receiver_) {
return ((JSNumberObject) receiver_).number;
}
@Override
public Library getDelegateExportLibrary(Object delegate) {
return this.receiverNumberInteropLibrary_;
}
@Override
public boolean accepts(Object receiver) {
assert !(receiver instanceof JSNumberObject) || DYNAMIC_DISPATCH_LIBRARY_.getUncached().dispatch(receiver) == null : "Invalid library export. Exported receiver with dynamic dispatch found but not expected.";
if (!(receiver instanceof JSNumberObject)) {
return false;
} else if (!this.receiverNumberInteropLibrary_.accepts((((JSNumberObject) receiver).number))) {
return false;
} else {
return true;
}
}
@SuppressWarnings("static-method")
private boolean isIdenticalOrUndefinedFallbackGuard_(int state_0, JSDynamicObject arg0Value, Object arg1Value) {
if (!((state_0 & 0b1) != 0 /* is SpecializationActive[JSDynamicObject.IsIdenticalOrUndefined.doHostObject(JSDynamicObject, JSDynamicObject)] */) && arg1Value instanceof JSDynamicObject) {
return false;
}
return true;
}
/**
* Debug Info:
* Specialization {@link IsIdenticalOrUndefined#doHostObject}
* Activation probability: 0.04063
* With/without class size: 4/0 bytes
* Specialization {@link IsIdenticalOrUndefined#doOther}
* Activation probability: 0.02188
* With/without class size: 4/0 bytes
*
*/
@Override
protected TriState isIdenticalOrUndefined(Object arg0Value_, Object arg1Value) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b11) != 0 /* is SpecializationActive[JSDynamicObject.IsIdenticalOrUndefined.doHostObject(JSDynamicObject, JSDynamicObject)] || SpecializationActive[JSDynamicObject.IsIdenticalOrUndefined.doOther(JSDynamicObject, Object)] */) {
if ((state_0 & 0b1) != 0 /* is SpecializationActive[JSDynamicObject.IsIdenticalOrUndefined.doHostObject(JSDynamicObject, JSDynamicObject)] */ && arg1Value instanceof JSDynamicObject) {
JSDynamicObject arg1Value_ = (JSDynamicObject) arg1Value;
return IsIdenticalOrUndefined.doHostObject(arg0Value, arg1Value_);
}
if ((state_0 & 0b10) != 0 /* is SpecializationActive[JSDynamicObject.IsIdenticalOrUndefined.doOther(JSDynamicObject, Object)] */) {
if (isIdenticalOrUndefinedFallbackGuard_(state_0, arg0Value, arg1Value)) {
return IsIdenticalOrUndefined.doOther(arg0Value, arg1Value);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return isIdenticalOrUndefinedAndSpecialize(arg0Value, arg1Value);
}
private TriState isIdenticalOrUndefinedAndSpecialize(JSDynamicObject arg0Value, Object arg1Value) {
int state_0 = this.state_0_;
if (arg1Value instanceof JSDynamicObject) {
JSDynamicObject arg1Value_ = (JSDynamicObject) arg1Value;
state_0 = state_0 | 0b1 /* add SpecializationActive[JSDynamicObject.IsIdenticalOrUndefined.doHostObject(JSDynamicObject, JSDynamicObject)] */;
this.state_0_ = state_0;
return IsIdenticalOrUndefined.doHostObject(arg0Value, arg1Value_);
}
state_0 = state_0 | 0b10 /* add SpecializationActive[JSDynamicObject.IsIdenticalOrUndefined.doOther(JSDynamicObject, Object)] */;
this.state_0_ = state_0;
return IsIdenticalOrUndefined.doOther(arg0Value, arg1Value);
}
@TruffleBoundary
@Override
public int identityHashCode(Object receiver) throws UnsupportedMessageException {
assert receiver instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
return (((JSNumberObject) receiver)).identityHashCode();
}
/**
* Debug Info:
* Specialization {@link GetMembers#nonArray}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public Object getMembers(Object arg0Value_, boolean arg1Value) throws UnsupportedMessageException {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
return GetMembers.nonArray(arg0Value, arg1Value);
}
@Override
public boolean hasMembers(Object receiver) {
assert receiver instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
return (((JSNumberObject) receiver)).hasMembers();
}
/**
* Debug Info:
* Specialization {@link JSObject#readMember(JSObject, String, InteropLibrary, ReadElementNode, boolean, FromJavaStringNode, ExportValueNode)}
* Activation probability: 0.06250
* With/without class size: 5/9 bytes
*
*/
@Override
public Object readMember(Object arg0Value_, String arg1Value) throws UnsupportedMessageException, UnknownIdentifierException {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b100) != 0 /* is SpecializationActive[JSObject.readMember(JSObject, String, InteropLibrary, ReadElementNode, boolean, FromJavaStringNode, ExportValueNode)] */) {
ReadMemberNode_ReadMemberData s0_ = this.readMemberNode__readMember_cache;
if (s0_ != null) {
{
FromJavaStringNode fromJavaString_ = this.fromJavaString;
if (fromJavaString_ != null) {
InteropLibrary self__ = (((InteropLibrary) this.getParent()));
return arg0Value.readMember(arg1Value, self__, s0_.readNode_, s0_.bindMemberFunctions_, fromJavaString_, s0_.exportNode_);
}
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return readMemberNode_AndSpecialize(arg0Value, arg1Value);
}
private Object readMemberNode_AndSpecialize(JSObject arg0Value, String arg1Value) throws UnknownIdentifierException {
int state_0 = this.state_0_;
{
InteropLibrary self__ = null;
ReadMemberNode_ReadMemberData s0_ = this.insert(new ReadMemberNode_ReadMemberData());
self__ = (((InteropLibrary) this.getParent()));
ReadElementNode readNode__ = s0_.insert((ReadElementNode.create(JSObject.language(self__).getJSContext())));
Objects.requireNonNull(readNode__, "A specialization cache returned a default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns the default value.");
s0_.readNode_ = readNode__;
s0_.bindMemberFunctions_ = (JSObject.language(self__).bindMemberFunctions());
FromJavaStringNode fromJavaString_;
FromJavaStringNode fromJavaString__shared = this.fromJavaString;
if (fromJavaString__shared != null) {
fromJavaString_ = fromJavaString__shared;
} else {
fromJavaString_ = s0_.insert((FromJavaStringNode.create()));
if (fromJavaString_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.fromJavaString == null) {
this.fromJavaString = fromJavaString_;
}
ExportValueNode exportNode__ = s0_.insert((ExportValueNode.create()));
Objects.requireNonNull(exportNode__, "A specialization cache returned a default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns the default value.");
s0_.exportNode_ = exportNode__;
VarHandle.storeStoreFence();
this.readMemberNode__readMember_cache = s0_;
state_0 = state_0 | 0b100 /* add SpecializationActive[JSObject.readMember(JSObject, String, InteropLibrary, ReadElementNode, boolean, FromJavaStringNode, ExportValueNode)] */;
this.state_0_ = state_0;
return arg0Value.readMember(arg1Value, self__, readNode__, s0_.bindMemberFunctions_, fromJavaString_, exportNode__);
}
}
/**
* Debug Info:
* Specialization {@link JSObject#isMemberReadable(JSObject, String, KeyInfoNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public boolean isMemberReadable(Object arg0Value_, String arg1Value) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b1000) != 0 /* is SpecializationActive[JSObject.isMemberReadable(JSObject, String, KeyInfoNode)] */) {
{
KeyInfoNode keyInfo_ = this.keyInfo;
if (keyInfo_ != null) {
return arg0Value.isMemberReadable(arg1Value, keyInfo_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return isMemberReadableNode_AndSpecialize(arg0Value, arg1Value);
}
private boolean isMemberReadableNode_AndSpecialize(JSObject arg0Value, String arg1Value) {
int state_0 = this.state_0_;
KeyInfoNode keyInfo_;
KeyInfoNode keyInfo__shared = this.keyInfo;
if (keyInfo__shared != null) {
keyInfo_ = keyInfo__shared;
} else {
keyInfo_ = this.insert((KeyInfoNodeGen.create()));
if (keyInfo_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.keyInfo == null) {
VarHandle.storeStoreFence();
this.keyInfo = keyInfo_;
}
state_0 = state_0 | 0b1000 /* add SpecializationActive[JSObject.isMemberReadable(JSObject, String, KeyInfoNode)] */;
this.state_0_ = state_0;
return arg0Value.isMemberReadable(arg1Value, keyInfo_);
}
/**
* Debug Info:
* Specialization {@link JSObject#writeMember(JSObject, String, Object, KeyInfoNode, ImportValueNode, WriteElementNode, FromJavaStringNode)}
* Activation probability: 0.06250
* With/without class size: 5/8 bytes
*
*/
@Override
public void writeMember(Object arg0Value_, String arg1Value, Object arg2Value) throws UnsupportedMessageException, UnknownIdentifierException, UnsupportedTypeException {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b10000) != 0 /* is SpecializationActive[JSObject.writeMember(JSObject, String, Object, KeyInfoNode, ImportValueNode, WriteElementNode, FromJavaStringNode)] */) {
WriteMemberNode_WriteMemberData s0_ = this.writeMemberNode__writeMember_cache;
if (s0_ != null) {
{
KeyInfoNode keyInfo_ = this.keyInfo;
if (keyInfo_ != null) {
FromJavaStringNode fromJavaString_ = this.fromJavaString;
if (fromJavaString_ != null) {
arg0Value.writeMember(arg1Value, arg2Value, keyInfo_, s0_.castValueNode_, s0_.writeNode_, fromJavaString_);
return;
}
}
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
writeMemberNode_AndSpecialize(arg0Value, arg1Value, arg2Value);
return;
}
private void writeMemberNode_AndSpecialize(JSObject arg0Value, String arg1Value, Object arg2Value) throws UnknownIdentifierException, UnsupportedMessageException {
int state_0 = this.state_0_;
WriteMemberNode_WriteMemberData s0_ = this.insert(new WriteMemberNode_WriteMemberData());
KeyInfoNode keyInfo_;
KeyInfoNode keyInfo__shared = this.keyInfo;
if (keyInfo__shared != null) {
keyInfo_ = keyInfo__shared;
} else {
keyInfo_ = s0_.insert((KeyInfoNodeGen.create()));
if (keyInfo_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.keyInfo == null) {
this.keyInfo = keyInfo_;
}
ImportValueNode castValueNode__ = s0_.insert((ImportValueNode.create()));
Objects.requireNonNull(castValueNode__, "A specialization cache returned a default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns the default value.");
s0_.castValueNode_ = castValueNode__;
WriteElementNode writeNode__ = s0_.insert((WriteElementNode.createCachedInterop()));
Objects.requireNonNull(writeNode__, "A specialization cache returned a default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns the default value.");
s0_.writeNode_ = writeNode__;
FromJavaStringNode fromJavaString_;
FromJavaStringNode fromJavaString__shared = this.fromJavaString;
if (fromJavaString__shared != null) {
fromJavaString_ = fromJavaString__shared;
} else {
fromJavaString_ = s0_.insert((FromJavaStringNode.create()));
if (fromJavaString_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.fromJavaString == null) {
this.fromJavaString = fromJavaString_;
}
VarHandle.storeStoreFence();
this.writeMemberNode__writeMember_cache = s0_;
state_0 = state_0 | 0b10000 /* add SpecializationActive[JSObject.writeMember(JSObject, String, Object, KeyInfoNode, ImportValueNode, WriteElementNode, FromJavaStringNode)] */;
this.state_0_ = state_0;
arg0Value.writeMember(arg1Value, arg2Value, keyInfo_, castValueNode__, writeNode__, fromJavaString_);
return;
}
/**
* Debug Info:
* Specialization {@link JSObject#isMemberModifiable(JSObject, String, KeyInfoNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public boolean isMemberModifiable(Object arg0Value_, String arg1Value) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b100000) != 0 /* is SpecializationActive[JSObject.isMemberModifiable(JSObject, String, KeyInfoNode)] */) {
{
KeyInfoNode keyInfo_ = this.keyInfo;
if (keyInfo_ != null) {
return arg0Value.isMemberModifiable(arg1Value, keyInfo_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return isMemberModifiableNode_AndSpecialize(arg0Value, arg1Value);
}
private boolean isMemberModifiableNode_AndSpecialize(JSObject arg0Value, String arg1Value) {
int state_0 = this.state_0_;
KeyInfoNode keyInfo_;
KeyInfoNode keyInfo__shared = this.keyInfo;
if (keyInfo__shared != null) {
keyInfo_ = keyInfo__shared;
} else {
keyInfo_ = this.insert((KeyInfoNodeGen.create()));
if (keyInfo_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.keyInfo == null) {
VarHandle.storeStoreFence();
this.keyInfo = keyInfo_;
}
state_0 = state_0 | 0b100000 /* add SpecializationActive[JSObject.isMemberModifiable(JSObject, String, KeyInfoNode)] */;
this.state_0_ = state_0;
return arg0Value.isMemberModifiable(arg1Value, keyInfo_);
}
/**
* Debug Info:
* Specialization {@link JSObject#isMemberInsertable(JSObject, String, KeyInfoNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public boolean isMemberInsertable(Object arg0Value_, String arg1Value) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b1000000) != 0 /* is SpecializationActive[JSObject.isMemberInsertable(JSObject, String, KeyInfoNode)] */) {
{
KeyInfoNode keyInfo_ = this.keyInfo;
if (keyInfo_ != null) {
return arg0Value.isMemberInsertable(arg1Value, keyInfo_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return isMemberInsertableNode_AndSpecialize(arg0Value, arg1Value);
}
private boolean isMemberInsertableNode_AndSpecialize(JSObject arg0Value, String arg1Value) {
int state_0 = this.state_0_;
KeyInfoNode keyInfo_;
KeyInfoNode keyInfo__shared = this.keyInfo;
if (keyInfo__shared != null) {
keyInfo_ = keyInfo__shared;
} else {
keyInfo_ = this.insert((KeyInfoNodeGen.create()));
if (keyInfo_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.keyInfo == null) {
VarHandle.storeStoreFence();
this.keyInfo = keyInfo_;
}
state_0 = state_0 | 0b1000000 /* add SpecializationActive[JSObject.isMemberInsertable(JSObject, String, KeyInfoNode)] */;
this.state_0_ = state_0;
return arg0Value.isMemberInsertable(arg1Value, keyInfo_);
}
/**
* Debug Info:
* Specialization {@link JSObject#removeMember(JSObject, String, FromJavaStringNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public void removeMember(Object arg0Value_, String arg1Value) throws UnsupportedMessageException, UnknownIdentifierException {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b10000000) != 0 /* is SpecializationActive[JSObject.removeMember(JSObject, String, FromJavaStringNode)] */) {
{
FromJavaStringNode fromJavaString_ = this.fromJavaString;
if (fromJavaString_ != null) {
arg0Value.removeMember(arg1Value, fromJavaString_);
return;
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
removeMemberNode_AndSpecialize(arg0Value, arg1Value);
return;
}
private void removeMemberNode_AndSpecialize(JSObject arg0Value, String arg1Value) throws UnsupportedMessageException {
int state_0 = this.state_0_;
FromJavaStringNode fromJavaString_;
FromJavaStringNode fromJavaString__shared = this.fromJavaString;
if (fromJavaString__shared != null) {
fromJavaString_ = fromJavaString__shared;
} else {
fromJavaString_ = this.insert((FromJavaStringNode.create()));
if (fromJavaString_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.fromJavaString == null) {
VarHandle.storeStoreFence();
this.fromJavaString = fromJavaString_;
}
state_0 = state_0 | 0b10000000 /* add SpecializationActive[JSObject.removeMember(JSObject, String, FromJavaStringNode)] */;
this.state_0_ = state_0;
arg0Value.removeMember(arg1Value, fromJavaString_);
return;
}
/**
* Debug Info:
* Specialization {@link JSObject#isMemberRemovable(JSObject, String, KeyInfoNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public boolean isMemberRemovable(Object arg0Value_, String arg1Value) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b100000000) != 0 /* is SpecializationActive[JSObject.isMemberRemovable(JSObject, String, KeyInfoNode)] */) {
{
KeyInfoNode keyInfo_ = this.keyInfo;
if (keyInfo_ != null) {
return arg0Value.isMemberRemovable(arg1Value, keyInfo_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return isMemberRemovableNode_AndSpecialize(arg0Value, arg1Value);
}
private boolean isMemberRemovableNode_AndSpecialize(JSObject arg0Value, String arg1Value) {
int state_0 = this.state_0_;
KeyInfoNode keyInfo_;
KeyInfoNode keyInfo__shared = this.keyInfo;
if (keyInfo__shared != null) {
keyInfo_ = keyInfo__shared;
} else {
keyInfo_ = this.insert((KeyInfoNodeGen.create()));
if (keyInfo_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.keyInfo == null) {
VarHandle.storeStoreFence();
this.keyInfo = keyInfo_;
}
state_0 = state_0 | 0b100000000 /* add SpecializationActive[JSObject.isMemberRemovable(JSObject, String, KeyInfoNode)] */;
this.state_0_ = state_0;
return arg0Value.isMemberRemovable(arg1Value, keyInfo_);
}
/**
* Debug Info:
* Specialization {@link JSObject#invokeMember(JSObject, String, Object[], InteropLibrary, JSInteropInvokeNode, FromJavaStringNode, ExportValueNode)}
* Activation probability: 0.06250
* With/without class size: 5/8 bytes
*
*/
@Override
public Object invokeMember(Object arg0Value_, String arg1Value, Object... arg2Value) throws UnsupportedMessageException, ArityException, UnknownIdentifierException, UnsupportedTypeException {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b1000000000) != 0 /* is SpecializationActive[JSObject.invokeMember(JSObject, String, Object[], InteropLibrary, JSInteropInvokeNode, FromJavaStringNode, ExportValueNode)] */) {
InvokeMemberNode_InvokeMemberData s0_ = this.invokeMemberNode__invokeMember_cache;
if (s0_ != null) {
{
FromJavaStringNode fromJavaString_ = this.fromJavaString;
if (fromJavaString_ != null) {
InteropLibrary self__ = (((InteropLibrary) this.getParent()));
return arg0Value.invokeMember(arg1Value, arg2Value, self__, s0_.callNode_, fromJavaString_, s0_.exportNode_);
}
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return invokeMemberNode_AndSpecialize(arg0Value, arg1Value, arg2Value);
}
private Object invokeMemberNode_AndSpecialize(JSObject arg0Value, String arg1Value, Object[] arg2Value) throws UnsupportedMessageException, UnknownIdentifierException {
int state_0 = this.state_0_;
{
InteropLibrary self__ = null;
InvokeMemberNode_InvokeMemberData s0_ = this.insert(new InvokeMemberNode_InvokeMemberData());
self__ = (((InteropLibrary) this.getParent()));
JSInteropInvokeNode callNode__ = s0_.insert((JSInteropInvokeNodeGen.create()));
Objects.requireNonNull(callNode__, "A specialization cache returned a default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns the default value.");
s0_.callNode_ = callNode__;
FromJavaStringNode fromJavaString_;
FromJavaStringNode fromJavaString__shared = this.fromJavaString;
if (fromJavaString__shared != null) {
fromJavaString_ = fromJavaString__shared;
} else {
fromJavaString_ = s0_.insert((FromJavaStringNode.create()));
if (fromJavaString_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.fromJavaString == null) {
this.fromJavaString = fromJavaString_;
}
ExportValueNode exportNode__ = s0_.insert((ExportValueNode.create()));
Objects.requireNonNull(exportNode__, "A specialization cache returned a default value. The cache initializer must never return a default value for this cache. Use @Cached(neverDefault=false) to allow default values for this cached value or make sure the cache initializer never returns the default value.");
s0_.exportNode_ = exportNode__;
VarHandle.storeStoreFence();
this.invokeMemberNode__invokeMember_cache = s0_;
state_0 = state_0 | 0b1000000000 /* add SpecializationActive[JSObject.invokeMember(JSObject, String, Object[], InteropLibrary, JSInteropInvokeNode, FromJavaStringNode, ExportValueNode)] */;
this.state_0_ = state_0;
return arg0Value.invokeMember(arg1Value, arg2Value, self__, callNode__, fromJavaString_, exportNode__);
}
}
/**
* Debug Info:
* Specialization {@link JSObject#isMemberInvocable(JSObject, String, KeyInfoNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public boolean isMemberInvocable(Object arg0Value_, String arg1Value) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b10000000000) != 0 /* is SpecializationActive[JSObject.isMemberInvocable(JSObject, String, KeyInfoNode)] */) {
{
KeyInfoNode keyInfo_ = this.keyInfo;
if (keyInfo_ != null) {
return arg0Value.isMemberInvocable(arg1Value, keyInfo_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return isMemberInvocableNode_AndSpecialize(arg0Value, arg1Value);
}
private boolean isMemberInvocableNode_AndSpecialize(JSObject arg0Value, String arg1Value) {
int state_0 = this.state_0_;
KeyInfoNode keyInfo_;
KeyInfoNode keyInfo__shared = this.keyInfo;
if (keyInfo__shared != null) {
keyInfo_ = keyInfo__shared;
} else {
keyInfo_ = this.insert((KeyInfoNodeGen.create()));
if (keyInfo_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.keyInfo == null) {
VarHandle.storeStoreFence();
this.keyInfo = keyInfo_;
}
state_0 = state_0 | 0b10000000000 /* add SpecializationActive[JSObject.isMemberInvocable(JSObject, String, KeyInfoNode)] */;
this.state_0_ = state_0;
return arg0Value.isMemberInvocable(arg1Value, keyInfo_);
}
/**
* Debug Info:
* Specialization {@link JSObject#hasMemberReadSideEffects(JSObject, String, KeyInfoNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public boolean hasMemberReadSideEffects(Object arg0Value_, String arg1Value) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b100000000000) != 0 /* is SpecializationActive[JSObject.hasMemberReadSideEffects(JSObject, String, KeyInfoNode)] */) {
{
KeyInfoNode keyInfo_ = this.keyInfo;
if (keyInfo_ != null) {
return arg0Value.hasMemberReadSideEffects(arg1Value, keyInfo_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return hasMemberReadSideEffectsNode_AndSpecialize(arg0Value, arg1Value);
}
private boolean hasMemberReadSideEffectsNode_AndSpecialize(JSObject arg0Value, String arg1Value) {
int state_0 = this.state_0_;
KeyInfoNode keyInfo_;
KeyInfoNode keyInfo__shared = this.keyInfo;
if (keyInfo__shared != null) {
keyInfo_ = keyInfo__shared;
} else {
keyInfo_ = this.insert((KeyInfoNodeGen.create()));
if (keyInfo_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.keyInfo == null) {
VarHandle.storeStoreFence();
this.keyInfo = keyInfo_;
}
state_0 = state_0 | 0b100000000000 /* add SpecializationActive[JSObject.hasMemberReadSideEffects(JSObject, String, KeyInfoNode)] */;
this.state_0_ = state_0;
return arg0Value.hasMemberReadSideEffects(arg1Value, keyInfo_);
}
/**
* Debug Info:
* Specialization {@link JSObject#hasMemberWriteSideEffects(JSObject, String, KeyInfoNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public boolean hasMemberWriteSideEffects(Object arg0Value_, String arg1Value) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b1000000000000) != 0 /* is SpecializationActive[JSObject.hasMemberWriteSideEffects(JSObject, String, KeyInfoNode)] */) {
{
KeyInfoNode keyInfo_ = this.keyInfo;
if (keyInfo_ != null) {
return arg0Value.hasMemberWriteSideEffects(arg1Value, keyInfo_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return hasMemberWriteSideEffectsNode_AndSpecialize(arg0Value, arg1Value);
}
private boolean hasMemberWriteSideEffectsNode_AndSpecialize(JSObject arg0Value, String arg1Value) {
int state_0 = this.state_0_;
KeyInfoNode keyInfo_;
KeyInfoNode keyInfo__shared = this.keyInfo;
if (keyInfo__shared != null) {
keyInfo_ = keyInfo__shared;
} else {
keyInfo_ = this.insert((KeyInfoNodeGen.create()));
if (keyInfo_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.keyInfo == null) {
VarHandle.storeStoreFence();
this.keyInfo = keyInfo_;
}
state_0 = state_0 | 0b1000000000000 /* add SpecializationActive[JSObject.hasMemberWriteSideEffects(JSObject, String, KeyInfoNode)] */;
this.state_0_ = state_0;
return arg0Value.hasMemberWriteSideEffects(arg1Value, keyInfo_);
}
/**
* Debug Info:
* Specialization {@link JSObject#hasIterator(JSObject, InteropLibrary, JSInteropGetIteratorNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public boolean hasIterator(Object arg0Value_) {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b10000000000000) != 0 /* is SpecializationActive[JSObject.hasIterator(JSObject, InteropLibrary, JSInteropGetIteratorNode)] */) {
{
JSInteropGetIteratorNode getIteratorNode_ = this.getIteratorNode;
if (getIteratorNode_ != null) {
InteropLibrary self__ = (((InteropLibrary) this.getParent()));
return arg0Value.hasIterator(self__, getIteratorNode_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return hasIteratorNode_AndSpecialize(arg0Value);
}
private boolean hasIteratorNode_AndSpecialize(JSObject arg0Value) {
int state_0 = this.state_0_;
{
InteropLibrary self__ = null;
self__ = (((InteropLibrary) this.getParent()));
JSInteropGetIteratorNode getIteratorNode_;
JSInteropGetIteratorNode getIteratorNode__shared = this.getIteratorNode;
if (getIteratorNode__shared != null) {
getIteratorNode_ = getIteratorNode__shared;
} else {
getIteratorNode_ = this.insert((JSInteropGetIteratorNodeGen.create()));
if (getIteratorNode_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.getIteratorNode == null) {
VarHandle.storeStoreFence();
this.getIteratorNode = getIteratorNode_;
}
state_0 = state_0 | 0b10000000000000 /* add SpecializationActive[JSObject.hasIterator(JSObject, InteropLibrary, JSInteropGetIteratorNode)] */;
this.state_0_ = state_0;
return arg0Value.hasIterator(self__, getIteratorNode_);
}
}
/**
* Debug Info:
* Specialization {@link JSObject#getIterator(JSObject, InteropLibrary, JSInteropGetIteratorNode)}
* Activation probability: 0.06250
* With/without class size: 4/0 bytes
*
*/
@Override
public Object getIterator(Object arg0Value_) throws UnsupportedMessageException {
assert arg0Value_ instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
JSNumberObject arg0Value = ((JSNumberObject) arg0Value_);
int state_0 = this.state_0_;
if ((state_0 & 0b100000000000000) != 0 /* is SpecializationActive[JSObject.getIterator(JSObject, InteropLibrary, JSInteropGetIteratorNode)] */) {
{
JSInteropGetIteratorNode getIteratorNode_ = this.getIteratorNode;
if (getIteratorNode_ != null) {
InteropLibrary self__ = (((InteropLibrary) this.getParent()));
return arg0Value.getIterator(self__, getIteratorNode_);
}
}
}
CompilerDirectives.transferToInterpreterAndInvalidate();
return getIteratorNode_AndSpecialize(arg0Value);
}
private Object getIteratorNode_AndSpecialize(JSObject arg0Value) throws UnsupportedMessageException {
int state_0 = this.state_0_;
{
InteropLibrary self__ = null;
self__ = (((InteropLibrary) this.getParent()));
JSInteropGetIteratorNode getIteratorNode_;
JSInteropGetIteratorNode getIteratorNode__shared = this.getIteratorNode;
if (getIteratorNode__shared != null) {
getIteratorNode_ = getIteratorNode__shared;
} else {
getIteratorNode_ = this.insert((JSInteropGetIteratorNodeGen.create()));
if (getIteratorNode_ == null) {
throw new IllegalStateException("A specialization returned a default value for a cached initializer. Default values are not supported for shared cached initializers because the default value is reserved for the uninitialized state.");
}
}
if (this.getIteratorNode == null) {
VarHandle.storeStoreFence();
this.getIteratorNode = getIteratorNode_;
}
state_0 = state_0 | 0b100000000000000 /* add SpecializationActive[JSObject.getIterator(JSObject, InteropLibrary, JSInteropGetIteratorNode)] */;
this.state_0_ = state_0;
return arg0Value.getIterator(self__, getIteratorNode_);
}
}
@Override
public boolean hasLanguage(Object receiver) {
assert receiver instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
return (((JSNumberObject) receiver)).hasLanguage();
}
@Override
public Class extends TruffleLanguage>> getLanguage(Object receiver) throws UnsupportedMessageException {
assert receiver instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
return (((JSNumberObject) receiver)).getLanguage();
}
@Override
public Object toDisplayString(Object receiver, boolean allowSideEffects) {
assert receiver instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
return (((JSNumberObject) receiver)).toDisplayString(allowSideEffects);
}
@Override
public boolean hasMetaObject(Object receiver) {
assert receiver instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
return (((JSNumberObject) receiver)).hasMetaObject();
}
@Override
public Object getMetaObject(Object receiver) throws UnsupportedMessageException {
assert receiver instanceof JSNumberObject : "Invalid library usage. Library does not accept given receiver.";
assert assertAdopted();
return (((JSNumberObject) receiver)).getMetaObject();
}
@GeneratedBy(JSObject.class)
@DenyReplace
private static final class ReadMemberNode_ReadMemberData extends Node implements SpecializationDataNode {
/**
* Source Info:
* Specialization: {@link JSObject#readMember(JSObject, String, InteropLibrary, ReadElementNode, boolean, FromJavaStringNode, ExportValueNode)}
* Parameter: {@link ReadElementNode} readNode
*/
@Child ReadElementNode readNode_;
/**
* Source Info:
* Specialization: {@link JSObject#readMember(JSObject, String, InteropLibrary, ReadElementNode, boolean, FromJavaStringNode, ExportValueNode)}
* Parameter: boolean bindMemberFunctions
*/
@CompilationFinal boolean bindMemberFunctions_;
/**
* Source Info:
* Specialization: {@link JSObject#readMember(JSObject, String, InteropLibrary, ReadElementNode, boolean, FromJavaStringNode, ExportValueNode)}
* Parameter: {@link ExportValueNode} exportNode
*/
@Child ExportValueNode exportNode_;
ReadMemberNode_ReadMemberData() {
}
}
@GeneratedBy(JSObject.class)
@DenyReplace
private static final class WriteMemberNode_WriteMemberData extends Node implements SpecializationDataNode {
/**
* Source Info:
* Specialization: {@link JSObject#writeMember(JSObject, String, Object, KeyInfoNode, ImportValueNode, WriteElementNode, FromJavaStringNode)}
* Parameter: {@link ImportValueNode} castValueNode
*/
@Child ImportValueNode castValueNode_;
/**
* Source Info:
* Specialization: {@link JSObject#writeMember(JSObject, String, Object, KeyInfoNode, ImportValueNode, WriteElementNode, FromJavaStringNode)}
* Parameter: {@link WriteElementNode} writeNode
*/
@Child WriteElementNode writeNode_;
WriteMemberNode_WriteMemberData() {
}
}
@GeneratedBy(JSObject.class)
@DenyReplace
private static final class InvokeMemberNode_InvokeMemberData extends Node implements SpecializationDataNode {
/**
* Source Info:
* Specialization: {@link JSObject#invokeMember(JSObject, String, Object[], InteropLibrary, JSInteropInvokeNode, FromJavaStringNode, ExportValueNode)}
* Parameter: {@link JSInteropInvokeNode} callNode
*/
@Child JSInteropInvokeNode callNode_;
/**
* Source Info:
* Specialization: {@link JSObject#invokeMember(JSObject, String, Object[], InteropLibrary, JSInteropInvokeNode, FromJavaStringNode, ExportValueNode)}
* Parameter: {@link ExportValueNode} exportNode
*/
@Child ExportValueNode exportNode_;
InvokeMemberNode_InvokeMemberData() {
}
}
}
@GeneratedBy(JSNumberObject.class)
@DenyReplace
private static final class Uncached extends InteropLibrary implements DelegateExport, UnadoptableNode {
protected Uncached() {
}
@Override
public FinalBitSet getDelegateExportMessages() {
return ENABLED_MESSAGES;
}
@Override
public Object readDelegateExport(Object receiver_) {
return (((JSNumberObject) receiver_)).number;
}
@Override
public Library getDelegateExportLibrary(Object delegate_) {
return INTEROP_LIBRARY_.getUncached(delegate_);
}
@Override
@TruffleBoundary
public boolean accepts(Object receiver) {
assert !(receiver instanceof JSNumberObject) || DYNAMIC_DISPATCH_LIBRARY_.getUncached().dispatch(receiver) == null : "Invalid library export. Exported receiver with dynamic dispatch found but not expected.";
return receiver instanceof JSNumberObject;
}
@TruffleBoundary
@Override
public TriState isIdenticalOrUndefined(Object arg0Value_, Object arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSDynamicObject arg0Value = ((JSDynamicObject) arg0Value_);
if (arg1Value instanceof JSDynamicObject) {
JSDynamicObject arg1Value_ = (JSDynamicObject) arg1Value;
return IsIdenticalOrUndefined.doHostObject(arg0Value, arg1Value_);
}
return IsIdenticalOrUndefined.doOther(arg0Value, arg1Value);
}
@TruffleBoundary
@Override
public int identityHashCode(Object receiver) throws UnsupportedMessageException {
// declared: false
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((JSDynamicObject) receiver) .identityHashCode();
}
@TruffleBoundary
@Override
public Object getMembers(Object arg0Value_, boolean arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return GetMembers.nonArray(arg0Value, arg1Value);
}
@TruffleBoundary
@Override
public boolean hasMembers(Object receiver) {
// declared: false
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((JSObject) receiver) .hasMembers();
}
@TruffleBoundary
@Override
public Object readMember(Object arg0Value_, String arg1Value) throws UnknownIdentifierException {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.readMember(arg1Value, (((InteropLibrary) this.getParent())), (JSObject.getUncachedRead()), (JSObject.language((((InteropLibrary) this.getParent()))).bindMemberFunctions()), (FromJavaStringNode.getUncached()), (ExportValueNode.getUncached()));
}
@TruffleBoundary
@Override
public boolean isMemberReadable(Object arg0Value_, String arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.isMemberReadable(arg1Value, (KeyInfoNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public void writeMember(Object arg0Value_, String arg1Value, Object arg2Value) throws UnknownIdentifierException, UnsupportedMessageException {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
arg0Value.writeMember(arg1Value, arg2Value, (KeyInfoNodeGen.getUncached()), (ImportValueNode.getUncached()), (JSObject.getUncachedWrite()), (FromJavaStringNode.getUncached()));
return;
}
@TruffleBoundary
@Override
public boolean isMemberModifiable(Object arg0Value_, String arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.isMemberModifiable(arg1Value, (KeyInfoNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public boolean isMemberInsertable(Object arg0Value_, String arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.isMemberInsertable(arg1Value, (KeyInfoNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public void removeMember(Object arg0Value_, String arg1Value) throws UnsupportedMessageException {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
arg0Value.removeMember(arg1Value, (FromJavaStringNode.getUncached()));
return;
}
@TruffleBoundary
@Override
public boolean isMemberRemovable(Object arg0Value_, String arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.isMemberRemovable(arg1Value, (KeyInfoNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public Object invokeMember(Object arg0Value_, String arg1Value, Object... arg2Value) throws UnsupportedMessageException, UnknownIdentifierException {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.invokeMember(arg1Value, arg2Value, (((InteropLibrary) this.getParent())), (JSInteropInvokeNodeGen.getUncached()), (FromJavaStringNode.getUncached()), (ExportValueNode.getUncached()));
}
@TruffleBoundary
@Override
public boolean isMemberInvocable(Object arg0Value_, String arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.isMemberInvocable(arg1Value, (KeyInfoNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public boolean hasMemberReadSideEffects(Object arg0Value_, String arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.hasMemberReadSideEffects(arg1Value, (KeyInfoNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public boolean hasMemberWriteSideEffects(Object arg0Value_, String arg1Value) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.hasMemberWriteSideEffects(arg1Value, (KeyInfoNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public boolean hasIterator(Object arg0Value_) {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.hasIterator((((InteropLibrary) this.getParent())), (JSInteropGetIteratorNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public Object getIterator(Object arg0Value_) throws UnsupportedMessageException {
// declared: false
assert this.accepts(arg0Value_) : "Invalid library usage. Library does not accept given receiver.";
JSObject arg0Value = ((JSObject) arg0Value_);
return arg0Value.getIterator((((InteropLibrary) this.getParent())), (JSInteropGetIteratorNodeGen.getUncached()));
}
@TruffleBoundary
@Override
public boolean hasLanguage(Object receiver) {
// declared: false
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((JSObject) receiver) .hasLanguage();
}
@TruffleBoundary
@Override
public Class extends TruffleLanguage>> getLanguage(Object receiver) throws UnsupportedMessageException {
// declared: false
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((JSObject) receiver) .getLanguage();
}
@TruffleBoundary
@Override
public Object toDisplayString(Object receiver, boolean allowSideEffects) {
// declared: false
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((JSObject) receiver) .toDisplayString(allowSideEffects);
}
@TruffleBoundary
@Override
public boolean hasMetaObject(Object receiver) {
// declared: false
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((JSNonProxyObject) receiver) .hasMetaObject();
}
@TruffleBoundary
@Override
public Object getMetaObject(Object receiver) throws UnsupportedMessageException {
// declared: false
assert this.accepts(receiver) : "Invalid library usage. Library does not accept given receiver.";
return ((JSNonProxyObject) receiver) .getMetaObject();
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy