public final class JSProxy extends AbstractJSClass implements PrototypeSupplier
usesOrdinaryGetOwnProperty| Modifier and Type | Field and Description |
|---|---|
static String |
APPLY |
static String |
CLASS_NAME |
static String |
CONSTRUCT |
static String |
DEFINE_PROPERTY |
static String |
DELETE_PROPERTY |
static String |
GET |
static String |
GET_OWN_PROPERTY_DESCRIPTOR |
static String |
GET_PROTOTYPE_OF |
static String |
HAS |
static JSProxy |
INSTANCE |
static String |
IS_EXTENSIBLE |
static String |
OWN_KEYS |
static String |
PREVENT_EXTENSIONS |
static com.oracle.truffle.api.object.HiddenKey |
REVOCABLE_PROXY |
static com.oracle.truffle.api.object.HiddenKey |
REVOKED_CALLABLE |
static String |
SET |
static String |
SET_PROTOTYPE_OF |
EMPTY_STRING_ARRAY| Modifier and Type | Method and Description |
|---|---|
static Object |
call(com.oracle.truffle.api.object.DynamicObject proxyObj,
Object holder,
Object[] arguments) |
static boolean |
checkPropertyIsSettable(Object truffleTarget,
Object key) |
static void |
checkProxyGetTrapInvariants(Object truffleTarget,
Object key,
Object trapResult) |
static boolean |
checkProxySetTrapInvariants(com.oracle.truffle.api.object.DynamicObject proxy,
Object key,
Object value) |
static Object |
checkTrapReturnValue(Object trapResult) |
static Object |
construct(com.oracle.truffle.api.object.DynamicObject proxyObj,
Object[] arguments) |
static com.oracle.truffle.api.object.DynamicObject |
create(JSContext context,
Object target,
com.oracle.truffle.api.object.DynamicObject handler) |
static JSConstructor |
createConstructor(JSRealm realm) |
boolean |
defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyDescriptor desc,
boolean doThrow)
9.1.6 [[DefineOwnProperty]] (P, Desc).
|
boolean |
delete(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
boolean isStrict) |
boolean |
delete(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
boolean isStrict)
9.1.10 [[Delete]] (P).
|
String |
getBuiltinToStringTag(com.oracle.truffle.api.object.DynamicObject object)
Returns builtinTag from step 14 of ES6+ 19.1.3.6.
|
String |
getClassName(com.oracle.truffle.api.object.DynamicObject object)
The [[Class]] internal property.
|
static com.oracle.truffle.api.object.DynamicObject |
getHandler(com.oracle.truffle.api.object.DynamicObject obj) |
static com.oracle.truffle.api.object.DynamicObject |
getHandlerChecked(com.oracle.truffle.api.object.DynamicObject obj) |
static com.oracle.truffle.api.object.DynamicObject |
getHandlerChecked(com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.profiles.BranchProfile errorBranch) |
com.oracle.truffle.api.object.DynamicObject |
getIntrinsicDefaultProto(JSRealm realm) |
Object |
getOwnHelper(com.oracle.truffle.api.object.DynamicObject store,
Object receiver,
long index,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
Object |
getOwnHelper(com.oracle.truffle.api.object.DynamicObject store,
Object receiver,
Object key,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
PropertyDescriptor |
getOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
9.1.5 [[GetOwnProperty]] (P).
|
List<Object> |
getOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean strings,
boolean symbols)
GetOwnPropertyKeys (O, type).
|
com.oracle.truffle.api.object.DynamicObject |
getPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj)
9.1.1 [[GetPrototypeOf]] ().
|
static Object |
getTarget(com.oracle.truffle.api.object.DynamicObject obj) |
static Object |
getTargetNonProxy(com.oracle.truffle.api.object.DynamicObject thisObj)
Gets the target of the proxy.
|
static Object |
getTrapFromObject(com.oracle.truffle.api.object.DynamicObject maybeHandler,
String trapName) |
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index) |
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key) |
boolean |
hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index) |
boolean |
hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
9.1.7 [[HasProperty]] (P).
|
boolean |
isExtensible(com.oracle.truffle.api.object.DynamicObject thisObj)
9.1.3 [[IsExtensible]] ().
|
static boolean |
isJSProxy(Object obj) |
static boolean |
isRevoked(com.oracle.truffle.api.object.DynamicObject proxy) |
com.oracle.truffle.api.object.Shape |
makeInitialShape(JSContext context,
com.oracle.truffle.api.object.DynamicObject prototype) |
boolean |
preventExtensions(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean doThrow)
9.1.4 [[PreventExtensions]] ().
|
static void |
revoke(com.oracle.truffle.api.object.DynamicObject obj) |
boolean |
set(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode) |
boolean |
set(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
9.1.9 [[Set]] (P, V, Receiver).
|
boolean |
setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObject newPrototype)
9.1.2 [[SetPrototypeOf]] (V).
|
String |
toDisplayStringImpl(com.oracle.truffle.api.object.DynamicObject obj,
int depth,
boolean allowSideEffects,
JSContext context)
A more informative toString variant, mainly used for error messages.
|
String |
toString() |
getHelper, getHelper, getMethodHelper, hasOnlyShapeProperties, usesOrdinaryGetOwnProperty, usesOrdinaryIsExtensibledefaultToString, filterOwnPropertyKeys, formatToString, get, get, getToStringTag, isInstance, isInstance, isInstance, isInstance, ownPropertyKeys, setIntegrityLevel, testIntegrityLevel, testIntegrityLevelDefaultpublic static final String CLASS_NAME
public static final JSProxy INSTANCE
public static final String GET_PROTOTYPE_OF
public static final String SET_PROTOTYPE_OF
public static final String IS_EXTENSIBLE
public static final String PREVENT_EXTENSIONS
public static final String GET_OWN_PROPERTY_DESCRIPTOR
public static final String HAS
public static final String GET
public static final String SET
public static final String DELETE_PROPERTY
public static final String DEFINE_PROPERTY
public static final String OWN_KEYS
public static final String APPLY
public static final String CONSTRUCT
public static final com.oracle.truffle.api.object.HiddenKey REVOCABLE_PROXY
public static final com.oracle.truffle.api.object.HiddenKey REVOKED_CALLABLE
public static boolean checkPropertyIsSettable(Object truffleTarget, Object key)
public String getClassName(com.oracle.truffle.api.object.DynamicObject object)
JSClassgetClassName in class JSClassobject - object to be usedpublic static com.oracle.truffle.api.object.DynamicObject create(JSContext context, Object target, com.oracle.truffle.api.object.DynamicObject handler)
public static Object getTarget(com.oracle.truffle.api.object.DynamicObject obj)
public static Object getTargetNonProxy(com.oracle.truffle.api.object.DynamicObject thisObj)
public static com.oracle.truffle.api.object.DynamicObject getHandler(com.oracle.truffle.api.object.DynamicObject obj)
public static com.oracle.truffle.api.object.DynamicObject getHandlerChecked(com.oracle.truffle.api.object.DynamicObject obj)
public static com.oracle.truffle.api.object.DynamicObject getHandlerChecked(com.oracle.truffle.api.object.DynamicObject obj,
com.oracle.truffle.api.profiles.BranchProfile errorBranch)
public static void revoke(com.oracle.truffle.api.object.DynamicObject obj)
public static boolean isJSProxy(Object obj)
public Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject store, Object receiver, Object key, com.oracle.truffle.api.nodes.Node encapsulatingNode)
getOwnHelper in class AbstractJSClasspublic Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject store, Object receiver, long index, com.oracle.truffle.api.nodes.Node encapsulatingNode)
getOwnHelper in class AbstractJSClasspublic static void checkProxyGetTrapInvariants(Object truffleTarget, Object key, Object trapResult)
public boolean set(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
JSClassset in class AbstractJSClasspublic boolean set(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
Object value,
Object receiver,
boolean isStrict,
com.oracle.truffle.api.nodes.Node encapsulatingNode)
set in class AbstractJSClasspublic static boolean checkProxySetTrapInvariants(com.oracle.truffle.api.object.DynamicObject proxy,
Object key,
Object value)
public boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index)
hasOwnProperty in class AbstractJSClasspublic boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
hasOwnProperty in class AbstractJSClasspublic boolean hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index)
hasProperty in class AbstractJSClasspublic boolean hasProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key)
JSClasshasProperty in class AbstractJSClasspublic boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
boolean isStrict)
delete in class AbstractJSClasspublic boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
boolean isStrict)
JSClassdelete in class AbstractJSClasspublic boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
PropertyDescriptor desc,
boolean doThrow)
JSClassdefineOwnProperty in class AbstractJSClasspublic boolean preventExtensions(com.oracle.truffle.api.object.DynamicObject thisObj,
boolean doThrow)
JSClasspreventExtensions in class AbstractJSClasspublic boolean isExtensible(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClassisExtensible in class AbstractJSClasspublic String getBuiltinToStringTag(com.oracle.truffle.api.object.DynamicObject object)
JSClassgetBuiltinToStringTag in class JSClassobject - object to be usedJSClass.defaultToString(DynamicObject)public String toDisplayStringImpl(com.oracle.truffle.api.object.DynamicObject obj, int depth, boolean allowSideEffects, JSContext context)
JSClasstoDisplayStringImpl in class JSClassdepth - allowed nesting depthcontext - the current language contextpublic com.oracle.truffle.api.object.Shape makeInitialShape(JSContext context, com.oracle.truffle.api.object.DynamicObject prototype)
makeInitialShape in class JSClasspublic static JSConstructor createConstructor(JSRealm realm)
public static Object getTrapFromObject(com.oracle.truffle.api.object.DynamicObject maybeHandler, String trapName)
public com.oracle.truffle.api.object.DynamicObject getPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClassgetPrototypeOf in class AbstractJSClasspublic boolean setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObject newPrototype)
JSClasssetPrototypeOf in class AbstractJSClasspublic List<Object> getOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
JSClassgetOwnPropertyKeys in class AbstractJSClasspublic PropertyDescriptor getOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
JSClassgetOwnProperty in class AbstractJSClasspublic static boolean isRevoked(com.oracle.truffle.api.object.DynamicObject proxy)
public static Object call(com.oracle.truffle.api.object.DynamicObject proxyObj, Object holder, Object[] arguments)
public static Object construct(com.oracle.truffle.api.object.DynamicObject proxyObj, Object[] arguments)
public com.oracle.truffle.api.object.DynamicObject getIntrinsicDefaultProto(JSRealm realm)
getIntrinsicDefaultProto in interface PrototypeSupplier