kjs Library API Documentation

KJS::Node Class Reference

Inheritance diagram for KJS::Node:

KJS::AccessorNode1 KJS::AccessorNode2 KJS::AddNode KJS::AppendStringNode KJS::ArgumentListNode KJS::ArgumentsNode KJS::ArrayNode KJS::AssignExprNode KJS::AssignNode KJS::BinaryLogicalNode KJS::BitOperNode KJS::BitwiseNotNode KJS::BooleanNode KJS::CaseBlockNode KJS::CaseClauseNode KJS::ClauseListNode KJS::CommaNode KJS::ConditionalNode KJS::DeleteNode KJS::ElementNode KJS::EqualNode KJS::FuncExprNode KJS::FunctionCallNode KJS::GroupNode KJS::LogicalNotNode KJS::MultNode KJS::NegateNode KJS::NewExprNode KJS::NullNode KJS::NumberNode KJS::ObjectLiteralNode KJS::ParameterNode KJS::PostfixNode KJS::PrefixNode KJS::PropertyNode KJS::PropertyValueNode KJS::RegExpNode KJS::RelationalNode KJS::ResolveNode KJS::ShiftNode KJS::StatementNode KJS::StringNode KJS::ThisNode KJS::TypeOfNode KJS::UnaryPlusNode KJS::VarDeclListNode KJS::VarDeclNode KJS::VoidNode List of all members.

Public Member Functions

 Node ()
virtual ~Node ()
virtual Type type () const
virtual Reference evaluateReference (ExecState *exec) const
virtual Value evaluate (ExecState *exec) const
virtual bool toBoolean (ExecState *exec) const
virtual double toNumber (ExecState *exec) const
virtual UString toString (ExecState *exec) const
UString toCode () const
virtual void streamTo (SourceStream &s) const =0
virtual void processVarDecls (ExecState *)
int lineNo () const
virtual void ref ()
virtual bool deref ()

Protected Member Functions

Value throwError (ExecState *exec, ErrorType e, const char *msg) const
Value throwError (ExecState *exec, ErrorType e, const char *msg, const Value &v, const Node *expr) const
Value throwError (ExecState *exec, ErrorType e, const char *msg, Identifier label) const
virtual int sourceId () const

Protected Attributes

int line
unsigned int refcount

Detailed Description

Definition at line 76 of file nodes.h.


Member Function Documentation

Reference Node::evaluateReference ExecState exec  )  const [virtual]
 

Evaluate this node and return the result, possibly a reference.

Reimplemented in KJS::ResolveNode, KJS::GroupNode, KJS::AccessorNode1, and KJS::AccessorNode2.

Definition at line 110 of file nodes.cpp.

References evaluate(), and KJS::Reference::makeValueReference().

Referenced by KJS::AssignNode::evaluate(), KJS::PrefixNode::evaluate(), KJS::TypeOfNode::evaluate(), KJS::DeleteNode::evaluate(), KJS::PostfixNode::evaluate(), KJS::FunctionCallNode::evaluate(), evaluate(), KJS::GroupNode::evaluateReference(), and KJS::ForInNode::execute().

Value Node::evaluate ExecState exec  )  const [virtual]
 

Returns the value represented by this node.

Always dereferenced.

Reimplemented in KJS::NullNode, KJS::BooleanNode, KJS::NumberNode, KJS::StringNode, KJS::RegExpNode, KJS::ThisNode, KJS::ResolveNode, KJS::GroupNode, KJS::ElementNode, KJS::ArrayNode, KJS::PropertyValueNode, KJS::PropertyNode, KJS::ObjectLiteralNode, KJS::ArgumentListNode, KJS::ArgumentsNode, KJS::NewExprNode, KJS::FunctionCallNode, KJS::PostfixNode, KJS::DeleteNode, KJS::VoidNode, KJS::TypeOfNode, KJS::PrefixNode, KJS::UnaryPlusNode, KJS::NegateNode, KJS::BitwiseNotNode, KJS::LogicalNotNode, KJS::MultNode, KJS::AddNode, KJS::AppendStringNode, KJS::ShiftNode, KJS::RelationalNode, KJS::EqualNode, KJS::BitOperNode, KJS::BinaryLogicalNode, KJS::ConditionalNode, KJS::AssignNode, KJS::CommaNode, KJS::AssignExprNode, KJS::VarDeclNode, KJS::VarDeclListNode, KJS::CaseClauseNode, KJS::ClauseListNode, KJS::CaseBlockNode, KJS::ParameterNode, and KJS::FuncExprNode.

Definition at line 119 of file nodes.cpp.

References evaluateReference(), and KJS::Reference::getValue().

Referenced by KJS::CaseClauseNode::evaluate(), KJS::AssignExprNode::evaluate(), KJS::CommaNode::evaluate(), KJS::AssignNode::evaluate(), KJS::ConditionalNode::evaluate(), KJS::BinaryLogicalNode::evaluate(), KJS::BitOperNode::evaluate(), KJS::EqualNode::evaluate(), KJS::RelationalNode::evaluate(), KJS::ShiftNode::evaluate(), KJS::AddNode::evaluate(), KJS::MultNode::evaluate(), KJS::BitwiseNotNode::evaluate(), KJS::NegateNode::evaluate(), KJS::UnaryPlusNode::evaluate(), KJS::VoidNode::evaluate(), KJS::NewExprNode::evaluate(), KJS::GroupNode::evaluate(), KJS::AccessorNode2::evaluateReference(), KJS::AccessorNode1::evaluateReference(), evaluateReference(), KJS::ThrowNode::execute(), KJS::SwitchNode::execute(), KJS::WithNode::execute(), KJS::ReturnNode::execute(), KJS::ForInNode::execute(), KJS::ForNode::execute(), KJS::ExprStatementNode::execute(), toBoolean(), toNumber(), and toString().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kjs Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Jan 23 19:33:03 2006 by doxygen 1.4.3 written by Dimitri van Heesch, © 1997-2003