public final class JSAdapter extends AbstractJSClass implements JSConstructorFactory.Default, PrototypeSupplier
usesOrdinaryGetOwnProperty
JSConstructorFactory.Default.WithFunctions, JSConstructorFactory.Default.WithFunctionsAndSpecies
JSConstructorFactory.Default
Modifier and Type | Field and Description |
---|---|
static String |
CLASS_NAME |
static String |
GET_IDS |
static String |
GET_VALUES |
static JSAdapter |
INSTANCE |
static String |
NEW |
EMPTY_STRING_ARRAY
Modifier and Type | Method and Description |
---|---|
static com.oracle.truffle.api.object.DynamicObject |
create(JSContext context,
com.oracle.truffle.api.object.DynamicObject adaptee,
com.oracle.truffle.api.object.DynamicObject overrides,
com.oracle.truffle.api.object.DynamicObject proto) |
static JSConstructor |
createConstructor(JSRealm realm) |
com.oracle.truffle.api.object.DynamicObject |
createPrototype(JSRealm realm,
com.oracle.truffle.api.object.DynamicObject ctor) |
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).
|
static com.oracle.truffle.api.object.DynamicObject |
getAdaptee(com.oracle.truffle.api.object.DynamicObject obj) |
String |
getClassName() |
String |
getClassName(com.oracle.truffle.api.object.DynamicObject object)
The [[Class]] internal property.
|
com.oracle.truffle.api.object.DynamicObject |
getIntrinsicDefaultProto(JSRealm realm) |
Object |
getMethodHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
Object key) |
static com.oracle.truffle.api.object.DynamicObject |
getOverrides(com.oracle.truffle.api.object.DynamicObject obj) |
Object |
getOwnHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
long index) |
Object |
getOwnHelper(com.oracle.truffle.api.object.DynamicObject store,
Object thisObj,
Object key) |
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]] ().
|
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
long index) |
boolean |
hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key) |
boolean |
isExtensible(com.oracle.truffle.api.object.DynamicObject thisObj)
9.1.3 [[IsExtensible]] ().
|
static boolean |
isJSAdapter(com.oracle.truffle.api.object.DynamicObject obj) |
static boolean |
isJSAdapter(Object obj) |
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)
9.1.4 [[PreventExtensions]] ().
|
String |
safeToString(com.oracle.truffle.api.object.DynamicObject object,
int depth)
A more informative but side-effect-free toString variant, mainly used for error messages.
|
boolean |
setOwn(com.oracle.truffle.api.object.DynamicObject thisObj,
long index,
Object value,
Object receiver,
boolean isStrict) |
boolean |
setOwn(com.oracle.truffle.api.object.DynamicObject thisObj,
Object key,
Object value,
Object receiver,
boolean isStrict) |
boolean |
setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj,
com.oracle.truffle.api.object.DynamicObject newPrototype)
9.1.2 [[SetPrototypeOf]] (V).
|
String |
toString() |
getHelper, getHelper, hasOnlyShapeProperties, hasProperty, hasProperty, set, set, usesOrdinaryGetOwnProperty, usesOrdinaryIsExtensible
defaultToString, dispatch, filterOwnPropertyKeys, formatToString, get, get, getBuiltinToStringTag, getToStringTag, isInstance, isInstance, isInstance, isInstance, ownPropertyKeys, setIntegrityLevel, testIntegrityLevel
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createConstructorAndPrototype, createConstructorObject, fillConstructor
public static final String CLASS_NAME
public static final JSAdapter INSTANCE
public static final String NEW
public static final String GET_IDS
public static final String GET_VALUES
public String getClassName()
getClassName
in interface JSConstructorFactory.Default
public String getClassName(com.oracle.truffle.api.object.DynamicObject object)
JSClass
getClassName
in class JSClass
object
- object to be usedpublic static com.oracle.truffle.api.object.DynamicObject create(JSContext context, com.oracle.truffle.api.object.DynamicObject adaptee, com.oracle.truffle.api.object.DynamicObject overrides, com.oracle.truffle.api.object.DynamicObject proto)
public static com.oracle.truffle.api.object.DynamicObject getAdaptee(com.oracle.truffle.api.object.DynamicObject obj)
public static com.oracle.truffle.api.object.DynamicObject getOverrides(com.oracle.truffle.api.object.DynamicObject obj)
public static boolean isJSAdapter(Object obj)
public static boolean isJSAdapter(com.oracle.truffle.api.object.DynamicObject obj)
public Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, Object key)
getOwnHelper
in class AbstractJSClass
public Object getOwnHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, long index)
getOwnHelper
in class AbstractJSClass
public boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, long index)
hasOwnProperty
in class AbstractJSClass
public boolean hasOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
hasOwnProperty
in class AbstractJSClass
public boolean setOwn(com.oracle.truffle.api.object.DynamicObject thisObj, long index, Object value, Object receiver, boolean isStrict)
setOwn
in class AbstractJSClass
public boolean setOwn(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, Object value, Object receiver, boolean isStrict)
setOwn
in class AbstractJSClass
public boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj, long index, boolean isStrict)
delete
in class AbstractJSClass
public boolean delete(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, boolean isStrict)
JSClass
delete
in class AbstractJSClass
public boolean defineOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key, PropertyDescriptor desc, boolean doThrow)
JSClass
defineOwnProperty
in class AbstractJSClass
public boolean preventExtensions(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClass
preventExtensions
in class AbstractJSClass
public boolean isExtensible(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClass
isExtensible
in class AbstractJSClass
public List<Object> getOwnPropertyKeys(com.oracle.truffle.api.object.DynamicObject thisObj, boolean strings, boolean symbols)
JSClass
getOwnPropertyKeys
in class AbstractJSClass
public String safeToString(com.oracle.truffle.api.object.DynamicObject object, int depth)
JSClass
safeToString
in class JSClass
depth
- allowed nesting depthpublic com.oracle.truffle.api.object.DynamicObject createPrototype(JSRealm realm, com.oracle.truffle.api.object.DynamicObject ctor)
createPrototype
in interface JSConstructorFactory.Default
public com.oracle.truffle.api.object.Shape makeInitialShape(JSContext context, com.oracle.truffle.api.object.DynamicObject prototype)
makeInitialShape
in class JSClass
public static JSConstructor createConstructor(JSRealm realm)
public Object getMethodHelper(com.oracle.truffle.api.object.DynamicObject store, Object thisObj, Object key)
getMethodHelper
in class AbstractJSClass
public com.oracle.truffle.api.object.DynamicObject getPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj)
JSClass
getPrototypeOf
in class AbstractJSClass
public boolean setPrototypeOf(com.oracle.truffle.api.object.DynamicObject thisObj, com.oracle.truffle.api.object.DynamicObject newPrototype)
JSClass
setPrototypeOf
in class AbstractJSClass
public PropertyDescriptor getOwnProperty(com.oracle.truffle.api.object.DynamicObject thisObj, Object key)
JSClass
getOwnProperty
in class AbstractJSClass
public com.oracle.truffle.api.object.DynamicObject getIntrinsicDefaultProto(JSRealm realm)
getIntrinsicDefaultProto
in interface PrototypeSupplier