Constructs a new ScriptObject that can be stored inside ScriptValue.
Empty constructor that leaves prototype, and nativeObject as null.
Add a getter. Getters should be added to a constructor function's "prototype" field
Add a setter. Setters should be added to a constructor function's "prototype" field
Assigns a field to the current object. This does not call any setters.
This property provides direct access to the dictionary
getters property
Determines if there is a getter for a given property
Determines if there is a setter for a given property
Looks up a field through the prototype chain. Note that this does not call any getters because it is not possible to pass a Context to opIndex.
name property
If a native object was stored inside this ScriptObject, it can be retrieved with this function. Note that one must always check that the return value isn't null because all functions can be called with invalid "this" objects using functionName.call.
Native object can also be written in case of inheritance by script
Shorthand for lookupField.
Shorthand for assignField
prototype property
prototype property (setter)
setters property
Returns a string with JSON like formatting representing the object's key-value pairs as well as any nested objects. In the future this will be replaced and an explicit function call will be required to print this detailed information.
The dictionary of key-value pairs
The lookup table for getters
The lookup table for setters
General Object class. Unlike JavaScript, the __proto__ property only shows up when asked for. This allows allows objects to be used as dictionaries without extraneous values showing up in the for-of loop. Native D objects can be stored in any ScriptObject or derived class by assigning it to its nativeObject field.