KJS::Object Class Reference
Represents an Object. More...
#include <object.h>
Inheritance diagram for KJS::Object:

Public Methods | |
ObjectImp * | imp () const |
Value | prototype () const |
UString | className () const |
Value | get (ExecState *exec, const Identifier &propertyName) const |
void | put (ExecState *exec, const Identifier &propertyName, const Value &value, int attr=None) |
bool | canPut (ExecState *exec, const Identifier &propertyName) const |
bool | hasProperty (ExecState *exec, const Identifier &propertyName) const |
bool | deleteProperty (ExecState *exec, const Identifier &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 |
ReferenceList | propList (ExecState *exec, bool recursive=true) |
Value | internalValue () const |
void | setInternalValue (const Value &v) |
Static Public Methods | |
Object | dynamicCast (const Value &v) |
Detailed Description
Represents an Object.This is a wrapper for ObjectImp
Definition at line 81 of file object.h.
Member Function Documentation
|
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.
Definition at line 46 of file object.cpp. References KJS::Value::imp(), KJS::Value::isValid(), and KJS::Value::type(). |
|
Returns the prototype of this object. Note that this is not the same as the "prototype" property. See ECMA 8.6.2
|
|
Returns the class name of the object. See ECMA 8.6.2
|
|
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
|
|
Sets the specified property. See ECMA 8.6.2.2
Definition at line 668 of file object.h. Referenced by KJS::Error::create(). |
|
Used to check whether or not a particular property is allowed to be set on an object. See ECMA 8.6.2.3
|
|
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
|
|
Removes the specified property from the object. See ECMA 8.6.2.5
|
|
Converts the object into a primitive value. The value return may differ depending on the supplied hint See ECMA 8.6.2.6
|
|
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).
|
|
Creates a new object based on this object. Typically this means the following: 1. A new object is created 2. The prototype of the new object is set to the value of this object's "prototype" property 3. The call() method of this object is called, with the new object passed as the this value 4. 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.
Definition at line 695 of file object.h. Referenced by KJS::Error::create(). |
|
Whether or not the object implements the call() method. If this returns false you should not call the call() method on this object (typically, an assertion will fail to indicate this).
|
|
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
Definition at line 54 of file object.cpp. References KJS::ExecState::setException(). |
|
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).
|
|
Checks whether value delegates behavior to this object. Used by the instanceof operator.
|
|
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:
function f() { function b() { return prototype; } var x = 4; // do some stuff } f.prototype = new String(); 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 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().
|
|
Returns the internal value of the object. This is used for objects such as String and Boolean which are wrappers for native types. The interal value is the actual value represented by the wrapper objects.
|
|
Sets the internal value of the object.
|
The documentation for this class was generated from the following files: