Class JSProxyObject
java.lang.Object
com.oracle.truffle.api.object.DynamicObject
com.oracle.truffle.js.runtime.objects.JSDynamicObject
com.oracle.truffle.js.runtime.objects.JSObject
com.oracle.truffle.js.runtime.objects.JSClassObject
com.oracle.truffle.js.runtime.builtins.JSProxyObject
- All Implemented Interfaces:
com.oracle.truffle.api.interop.TruffleObject
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class JSDynamicObject
JSDynamicObject.IsIdenticalOrUndefined, JSDynamicObject.ToBoolean, JSDynamicObject.ToNumber, JSDynamicObject.ToStringNested classes/interfaces inherited from class com.oracle.truffle.api.object.DynamicObject
com.oracle.truffle.api.object.DynamicObject.DynamicField -
Field Summary
Fields inherited from class JSObject
CONSTRUCTOR, EMPTY_STRING_ARRAY, GET_PROTO_NAME, HIDDEN_PROTO, NO_SUCH_METHOD_NAME, NO_SUCH_PROPERTY_NAME, PROTO, PROTOTYPE, SET_PROTO_NAME -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJSProxyObject(com.oracle.truffle.api.object.Shape shape, JSDynamicObject proto, Object proxyTarget, JSDynamicObject proxyHandler) -
Method Summary
Modifier and TypeMethodDescriptionexecute(Object[] args, com.oracle.truffle.api.interop.InteropLibrary self, JSInteropExecuteNode callNode, ExportValueNode exportNode) com.oracle.truffle.api.strings.TruffleStringReturns builtinTag as per Object.prototype.toString().com.oracle.truffle.api.strings.TruffleStringThe [[Class]] internal property.getMembers(boolean internal, com.oracle.truffle.api.interop.InteropLibrary self) booleaninstantiate(Object[] args, com.oracle.truffle.api.interop.InteropLibrary self, JSInteropInstantiateNode callNode, ExportValueNode exportNode) booleanisExecutable(IsCallableNode isCallable) boolean[IsExtensible]] ().booleanbooleanpreventExtensions(boolean doThrow) [[PreventExtensions]] ().voidremoveMember(String key, com.oracle.truffle.api.interop.InteropLibrary self, com.oracle.truffle.api.strings.TruffleString.FromJavaStringNode fromJavaString) voidrevoke(boolean isCallable, boolean isConstructor) com.oracle.truffle.api.strings.TruffleStringtoDisplayStringImpl(boolean allowSideEffects, ToDisplayStringFormat format, int depth) A more informative toString variant, mainly used for error messages.Methods inherited from class JSClassObject
defineOwnProperty, delete, delete, getHelper, getHelper, getMethodHelper, getOwnHelper, getOwnHelper, getOwnProperty, getOwnPropertyKeys, getPrototypeOf, hasOnlyShapeProperties, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, set, set, setPrototypeOfMethods inherited from class JSObject
copyWithoutProperties, defaultToString, defineOwnProperty, defineOwnProperty, delete, delete, delete, delete, delete, delete, enumerableOwnNames, filterEnumerableNames, get, get, get, get, getArray, getClassName, getIterator, getJSClass, getJSContext, getLanguage, getMembers, getMethod, getMethod, getOrDefault, getOrDefault, getOrDefault, getOrDefault, getOwnProperty, getOwnProperty, getPrototype, getPrototype, getUncachedRead, getUncachedWrite, getWithReceiver, hasArray, hasIterator, hasLanguage, hasMemberReadSideEffects, hasMembers, hasMemberWriteSideEffects, hasOwnProperty, hasOwnProperty, hasOwnProperty, hasOwnProperty, hasProperty, hasProperty, hasProperty, hasProperty, invokeMember, isExtensible, isExtensible, isJSObject, isMemberInsertable, isMemberInvocable, isMemberModifiable, isMemberReadable, isMemberRemovable, language, ordinaryToPrimitive, ownPropertyKeys, ownPropertyKeys, readMember, removeMember, set, set, set, set, setArray, setPrototype, setPrototype, setWithReceiver, setWithReceiver, toDisplayString, toPrimitive, toPrimitive, writeMemberMethods inherited from class JSDynamicObject
defaultToString, getDynamicType, getJSClass, getJSContext, getJSSharedData, getObjectFlags, getOrDefault, getOrNull, getPropertyArray, getPropertyFlags, getValue, getValue, identityHashCode, isJSDynamicObject, ownPropertyKeys, setIntegrityLevel, setJSClass, setObjectFlags, setPropertyFlags, testIntegrityLevel, testProperties, updatePropertyFlagsMethods inherited from class com.oracle.truffle.api.object.DynamicObject
clone, getShape
-
Constructor Details
-
JSProxyObject
protected JSProxyObject(com.oracle.truffle.api.object.Shape shape, JSDynamicObject proto, Object proxyTarget, JSDynamicObject proxyHandler)
-
-
Method Details
-
getProxyHandler
-
getProxyTarget
-
revoke
public void revoke(boolean isCallable, boolean isConstructor) -
getClassName
public com.oracle.truffle.api.strings.TruffleString getClassName()Description copied from class:JSDynamicObjectThe [[Class]] internal property. For ES5, this is the second part of what Object.prototype.toString.call(myObj) returns, e.g. "[object Array]".- Specified by:
getClassNamein classJSDynamicObject
-
getBuiltinToStringTag
public com.oracle.truffle.api.strings.TruffleString getBuiltinToStringTag()Description copied from class:JSObjectReturns builtinTag as per Object.prototype.toString(). By default returns "Object".- Overrides:
getBuiltinToStringTagin classJSObject- Returns:
- built-in toStringTag
-
isExecutable
-
execute
public Object execute(Object[] args, com.oracle.truffle.api.interop.InteropLibrary self, JSInteropExecuteNode callNode, ExportValueNode exportNode) throws com.oracle.truffle.api.interop.UnsupportedMessageException - Throws:
com.oracle.truffle.api.interop.UnsupportedMessageException
-
isInstantiable
public boolean isInstantiable() -
instantiate
public Object instantiate(Object[] args, com.oracle.truffle.api.interop.InteropLibrary self, JSInteropInstantiateNode callNode, ExportValueNode exportNode) throws com.oracle.truffle.api.interop.UnsupportedMessageException - Throws:
com.oracle.truffle.api.interop.UnsupportedMessageException
-
hasMetaObject
public boolean hasMetaObject() -
getMetaObject
-
isExtensible
public boolean isExtensible()Description copied from class:JSDynamicObject[IsExtensible]] ().- Specified by:
isExtensiblein classJSDynamicObject
-
preventExtensions
public boolean preventExtensions(boolean doThrow) Description copied from class:JSDynamicObject[[PreventExtensions]] ().- Specified by:
preventExtensionsin classJSDynamicObject
-
toDisplayStringImpl
public com.oracle.truffle.api.strings.TruffleString toDisplayStringImpl(boolean allowSideEffects, ToDisplayStringFormat format, int depth) Description copied from class:JSDynamicObjectA more informative toString variant, mainly used for error messages.- Specified by:
toDisplayStringImplin classJSDynamicObject- Parameters:
format- formatting parametersdepth- current nesting depth
-
removeMember
public void removeMember(String key, com.oracle.truffle.api.interop.InteropLibrary self, com.oracle.truffle.api.strings.TruffleString.FromJavaStringNode fromJavaString) throws com.oracle.truffle.api.interop.UnsupportedMessageException - Throws:
com.oracle.truffle.api.interop.UnsupportedMessageException
-
getMembers
-