#include <object.h>
Public Member Functions | |
Object (ObjectImp *v) | |
ObjectImp * | imp () const |
const ClassInfo * | classInfo () const |
bool | inherits (const ClassInfo *cinfo) const |
Value | prototype () const |
UString | className () const |
Value | get (ExecState *exec, const Identifier &propertyName) const |
Value | get (ExecState *exec, unsigned propertyName) const |
void | put (ExecState *exec, const Identifier &propertyName, const Value &value, int attr=None) |
void | put (ExecState *exec, unsigned propertyName, const Value &value, int attr=None) |
bool | canPut (ExecState *exec, const Identifier &propertyName) const |
bool | hasProperty (ExecState *exec, const Identifier &propertyName) const |
bool | hasProperty (ExecState *exec, unsigned propertyName) const |
bool | deleteProperty (ExecState *exec, const Identifier &propertyName) |
bool | deleteProperty (ExecState *exec, unsigned propertyName) |
Value | defaultValue (ExecState *exec, Type hint) const |
bool | implementsConstruct () const |
Object | construct (ExecState *exec, const List &args) |
bool | implementsCall () const |
Value | call (ExecState *exec, Object &thisObj, const List &args) |
bool | implementsHasInstance () const |
Boolean | hasInstance (ExecState *exec, const Value &value) |
const ScopeChain & | scope () const |
void | setScope (const ScopeChain &s) |
ReferenceList | propList (ExecState *exec, bool recursive=true) |
Value | internalValue () const |
void | setInternalValue (const Value &v) |
Public Member Functions inherited from KJS::Value | |
Value (ValueImp *v) | |
Value (const Value &v) | |
Value & | operator= (const Value &v) |
bool | isValid () const |
bool | isNull () const |
ValueImp * | imp () const |
Type | type () const |
bool | isA (Type t) const |
Value | toPrimitive (ExecState *exec, Type preferredType=UnspecifiedType) const |
bool | toBoolean (ExecState *exec) const |
double | toNumber (ExecState *exec) const |
int | toInteger (ExecState *exec) const |
int | toInt32 (ExecState *exec) const |
unsigned int | toUInt32 (ExecState *exec) const |
unsigned short | toUInt16 (ExecState *exec) const |
UString | toString (ExecState *exec) const |
Object | toObject (ExecState *exec) const |
bool | toUInt32 (unsigned &i) const |
Static Public Member Functions | |
static Object | dynamicCast (const Value &v) |
Additional Inherited Members | |
Protected Attributes inherited from KJS::Value | |
ValueImp * | rep |
Detailed Description
Member Function Documentation
◆ call()
Calls this object as if it is a function.
Note: This function should not be called if implementsCall() returns false, in which case it will result in an assertion failure.
See ECMA 8.6.2.3
- Parameters
-
exec The current execution state thisObj The obj to be used as "this" within function execution. Note that in most cases this will be different from the C++ "this" object. For example, if the ECMAScript code "window.location.toString()" is executed, call() will be invoked on the C++ object which implements the toString method, with the thisObj being window.location args List of arguments to be passed to the function
- Returns
- The return value from the function
Definition at line 53 of file object.cpp.
◆ canPut()
|
inline |
◆ className()
|
inline |
◆ construct()
Creates a new object based on this object.
Typically this means the following:
- A new object is created
- The prototype of the new object is set to the value of this object's "prototype" property
- The call() method of this object is called, with the new object passed as the this value
- The new object is returned
In some cases, Host objects may differ from these semantics, although this is discouraged.
If an error occurs during construction, the execution state's exception will be set. This can be tested for with ExecState::hadException(). Under some circumstances, the exception object may also be returned.
Note: This function should not be called if implementsConstruct() returns false, in which case it will result in an assertion failure.
- Parameters
-
exec The current execution state args The arguments to be passed to call() once the new object has been created
- Returns
- The newly created & initialized object
◆ defaultValue()
Converts the object into a primitive value.
The value return may differ depending on the supplied hint
See ECMA 8.6.2.6
- Parameters
-
exec The current execution state hint The desired primitive type to convert to
- Returns
- A primitive value converted from the objetc. Note that the type of primitive value returned may not be the same as the requested hint.
◆ deleteProperty()
|
inline |
Removes the specified property from the object.
See ECMA 8.6.2.5
- Parameters
-
exec The current execution state propertyName The name of the property to delete
- Returns
- true if the property was successfully deleted or did not exist on the object. false if deleting the specified property is not allowed.
◆ dynamicCast()
Converts a Value into an Object.
If the value's type is not ObjectType, a null object will be returned (i.e. one with it's internal pointer set to 0). If you do not know for sure whether the value is of type ObjectType, you should check the isValid() methods afterwards before calling any methods on the Object.
- Returns
- The value converted to an object
Definition at line 45 of file object.cpp.
◆ get()
|
inline |
Retrieves the specified property from the object.
If neither the object or any other object in it's prototype chain have the property, this function will return Undefined.
See ECMA 8.6.2.1
- Parameters
-
exec The current execution state propertyName The name of the property to retrieve
- Returns
- The specified property, or Undefined
◆ hasInstance()
◆ hasProperty()
|
inline |
Checks to see whether the object (or any object in it's prototype chain) has a property with the specified name.
See ECMA 8.6.2.4
- Parameters
-
exec The current execution state propertyName The name of the property to check for
- Returns
- true if the object has the property, otherwise false
◆ implementsCall()
|
inline |
◆ implementsConstruct()
|
inline |
Whether or not the object implements the construct() method.
If this returns false you should not call the construct() method on this object (typically, an assertion will fail to indicate this).
- Returns
- true if this object implements the construct() method, otherwise false
◆ implementsHasInstance()
|
inline |
Whether or not the object implements the hasInstance() method.
If this returns false you should not call the hasInstance() method on this object (typically, an assertion will fail to indicate this).
- Returns
- true if this object implements the hasInstance() method, otherwise false
◆ internalValue()
|
inline |
◆ propList()
|
inline |
Returns a List of References to all the properties of the object.
Used in "for x in y" statements. The list is created new, so it can be freely modified without affecting the object's properties. It should be deleted by the caller.
Subclasses can override this method in ObjectImpl to provide the appearance of having extra properties other than those set specifically with put().
- Parameters
-
exec The current execution state recursive Whether or not properties in the object's prototype chain should be included in the list.
- Returns
- A List of References to properties of the object.
◆ prototype()
|
inline |
◆ put()
|
inline |
◆ scope()
|
inline |
Returns the scope of this object.
This is used when execution declared functions - the execution context for the function is initialized with extra object in it's scope. An example of this is functions declared inside other functions:
When the function f.b is executed, its scope will include properties of f. So in the example above the return value of f.b() would be the new String object that was assigned to f.prototype.
- Returns
- The function's scope
◆ setInternalValue()
|
inline |
The documentation for this class was generated from the following files: