KJS
KJS::Node Class Reference
#include <nodes.h>
Inherited by KJS::ArgumentListNode, KJS::ArgumentsNode, KJS::ArrayNode, KJS::AssignBracketNode, KJS::AssignDotNode, KJS::AssignErrorNode, KJS::AssignExprNode, KJS::AssignNode, KJS::BinaryLogicalNode, KJS::BinaryOperatorNode, KJS::BitwiseNotNode, KJS::BooleanNode, KJS::CaseBlockNode, KJS::CaseClauseNode, KJS::ClauseListNode, KJS::CommaNode, KJS::ConditionalNode, KJS::DeleteReferenceNode, KJS::DeleteValueNode, KJS::ElementNode, KJS::FuncExprNode, KJS::FunctionCallBracketNode, KJS::FunctionCallDotNode, KJS::FunctionCallReferenceNode, KJS::FunctionCallValueNode, KJS::GroupNode, KJS::LocationNode, KJS::LogicalNotNode, KJS::NegateNode, KJS::NewExprNode, KJS::NullNode, KJS::NumberNode, KJS::ObjectLiteralNode, KJS::PackageNameNode, KJS::ParameterNode, KJS::PostfixErrorNode, KJS::PostfixNode, KJS::PrefixErrorNode, KJS::PrefixNode, KJS::PropertyListNode, KJS::PropertyNameNode, KJS::PropertyNode, KJS::RegExpNode, KJS::StatementNode, KJS::StringNode, KJS::ThisNode, KJS::TypeOfReferenceNode, KJS::TypeOfValueNode, KJS::UnaryPlusNode, KJS::VarDeclListNode, KJS::VarDeclNode, and KJS::VoidNode.
List of all members.
Detailed Description
Definition at line 67 of file nodes.h.
|
Public Types |
| enum | NodeType {
UnknownNodeType,
NullNodeType,
BooleanNodeType,
NumberNodeType,
StringNodeType,
RegExpNodeType,
TryNodeType,
GroupNodeType
} |
Public Member Functions |
| | Node () |
| virtual | ~Node () |
| virtual NodeType | type () const |
| virtual JSValue * | evaluate (ExecState *exec)=0 |
| UString | toString () const |
| virtual void | streamTo (SourceStream &) const =0 |
| int | lineNo () const |
| void | ref () |
| void | deref () |
| unsigned | refcount () |
| virtual Node * | nodeInsideAllParens () |
| virtual bool | isLocation () const |
| virtual bool | isVarAccessNode () const |
| virtual bool | isBracketAccessorNode () const |
| virtual bool | isDotAccessorNode () const |
| bool | isNumber () const |
| bool | isString () const |
| bool | isGroupNode () const |
| bool | isTryNode () const |
| virtual bool | introducesNewStaticScope () const |
| virtual bool | introducesNewDynamicScope () const |
| virtual bool | isIterationStatement () const |
| virtual bool | isSwitchStatement () const |
| virtual bool | isVarStatement () const |
| bool | introducesNewScope () const |
| virtual void | breakCycle () |
| void | processDecls (ExecState *) |
| virtual void | recurseVisit (NodeVisitor *) |
| virtual Node * | optimizeLocalAccess (ExecState *exec, FunctionBodyNode *node) |
| Completion | createErrorCompletion (ExecState *, ErrorType, const UString &msg) |
| Completion | createErrorCompletion (ExecState *, ErrorType, const UString &msg, const Identifier &) |
| JSValue * | throwError (ExecState *, ErrorType, const UString &msg) |
| JSValue * | throwError (ExecState *, ErrorType, const UString &msg, const char *string) |
| JSValue * | throwError (ExecState *, ErrorType, const UString &msg, JSValue *, Node *) |
| JSValue * | throwError (ExecState *, ErrorType, const UString &msg, const Identifier &) |
| JSValue * | throwError (ExecState *, ErrorType, const UString &msg, JSValue *, const Identifier &) |
| JSValue * | throwError (ExecState *, ErrorType, const UString &msg, JSValue *, Node *, Node *) |
| JSValue * | throwError (ExecState *, ErrorType, const UString &msg, JSValue *, Node *, const Identifier &) |
| JSValue * | throwUndefinedVariableError (ExecState *, const Identifier &) |
| void | handleException (ExecState *) |
| void | handleException (ExecState *, JSValue *) |
| void | copyDebugInfo (Node *otherNode) |
Static Public Member Functions |
| static void | clearNewNodes () |
| template<typename T> |
| static void | recurseVisitLink (NodeVisitor *visitor, RefPtr< T > &link) |
| template<typename T> |
| static void | recurseVisitLink (NodeVisitor *visitor, ListRefPtr< T > &link) |
Protected Member Functions |
| virtual Node * | checkSemantics (SemanticChecker *semanticChecker) |
Protected Attributes |
| int | m_line |
Friends |
| class | SemanticChecker |
| class | VarDeclVisitor |
| class | FuncDeclVisitor |
Member Enumeration Documentation
- Enumerator:
-
| UnknownNodeType |
|
| NullNodeType |
|
| BooleanNodeType |
|
| NumberNodeType |
|
| StringNodeType |
|
| RegExpNodeType |
|
| TryNodeType |
|
| GroupNodeType |
|
Definition at line 69 of file nodes.h.
Constructor & Destructor Documentation
| KJS::Node::~Node |
( |
|
) |
[virtual] |
Member Function Documentation
| virtual NodeType KJS::Node::type |
( |
|
) |
const [inline, virtual] |
Implemented in KJS::NullNode, KJS::BooleanNode, KJS::NumberNode, KJS::StringNode, KJS::RegExpNode, KJS::ThisNode, KJS::VarAccessNode, KJS::LocalVarAccessNode, KJS::NonLocalVarAccessNode, KJS::GroupNode, KJS::ElementNode, KJS::ArrayNode, KJS::PropertyNameNode, KJS::PropertyNode, KJS::PropertyListNode, KJS::ObjectLiteralNode, KJS::BracketAccessorNode, KJS::DotAccessorNode, KJS::ArgumentListNode, KJS::ArgumentsNode, KJS::NewExprNode, KJS::FunctionCallValueNode, KJS::FunctionCallReferenceNode, KJS::FunctionCallBracketNode, KJS::FunctionCallDotNode, KJS::PostfixNode, KJS::PostfixErrorNode, KJS::DeleteReferenceNode, KJS::DeleteValueNode, KJS::VoidNode, KJS::TypeOfReferenceNode, KJS::TypeOfValueNode, KJS::PrefixErrorNode, KJS::PrefixNode, KJS::UnaryPlusNode, KJS::NegateNode, KJS::BitwiseNotNode, KJS::LogicalNotNode, KJS::BinaryOperatorNode, KJS::BinaryLogicalNode, KJS::ConditionalNode, KJS::AssignErrorNode, KJS::AssignNode, KJS::AssignBracketNode, KJS::AssignDotNode, KJS::CommaNode, KJS::AssignExprNode, KJS::VarDeclNode, KJS::VarDeclListNode, KJS::ParameterNode, KJS::FuncExprNode, KJS::CaseClauseNode, KJS::ClauseListNode, KJS::CaseBlockNode, and KJS::PackageNameNode.
| virtual void KJS::Node::streamTo |
( |
SourceStream & |
|
) |
const [pure virtual] |
Implemented in KJS::NullNode, KJS::BooleanNode, KJS::NumberNode, KJS::StringNode, KJS::RegExpNode, KJS::ThisNode, KJS::VarAccessNode, KJS::GroupNode, KJS::ElementNode, KJS::ArrayNode, KJS::PropertyNameNode, KJS::PropertyNode, KJS::PropertyListNode, KJS::ObjectLiteralNode, KJS::BracketAccessorNode, KJS::DotAccessorNode, KJS::ArgumentListNode, KJS::ArgumentsNode, KJS::NewExprNode, KJS::FunctionCallValueNode, KJS::FunctionCallReferenceNode, KJS::FunctionCallBracketNode, KJS::FunctionCallParenBracketNode, KJS::FunctionCallDotNode, KJS::FunctionCallParenDotNode, KJS::PostfixNode, KJS::PostfixErrorNode, KJS::DeleteReferenceNode, KJS::DeleteValueNode, KJS::VoidNode, KJS::TypeOfReferenceNode, KJS::TypeOfValueNode, KJS::PrefixErrorNode, KJS::PrefixNode, KJS::UnaryPlusNode, KJS::NegateNode, KJS::BitwiseNotNode, KJS::LogicalNotNode, KJS::BinaryOperatorNode, KJS::BinaryLogicalNode, KJS::ConditionalNode, KJS::AssignErrorNode, KJS::AssignNode, KJS::AssignBracketNode, KJS::AssignDotNode, KJS::CommaNode, KJS::AssignExprNode, KJS::VarDeclNode, KJS::VarDeclListNode, KJS::VarStatementNode, KJS::BlockNode, KJS::EmptyStatementNode, KJS::ExprStatementNode, KJS::IfNode, KJS::DoWhileNode, KJS::WhileNode, KJS::ForNode, KJS::ForInNode, KJS::ContinueNode, KJS::BreakNode, KJS::ReturnNode, KJS::WithNode, KJS::LabelNode, KJS::ThrowNode, KJS::TryNode, KJS::ParameterNode, KJS::FuncExprNode, KJS::FuncDeclNode, KJS::SourceElementsNode, KJS::CaseClauseNode, KJS::ClauseListNode, KJS::CaseBlockNode, KJS::SwitchNode, KJS::ErrorNode, KJS::PackageNameNode, and KJS::ImportStatement.
| int KJS::Node::lineNo |
( |
|
) |
const [inline] |
| void KJS::Node::deref |
( |
|
) |
|
| unsigned KJS::Node::refcount |
( |
|
) |
|
| void KJS::Node::clearNewNodes |
( |
|
) |
[static] |
| Node * KJS::Node::nodeInsideAllParens |
( |
|
) |
[virtual] |
| virtual bool KJS::Node::isLocation |
( |
|
) |
const [inline, virtual] |
| virtual bool KJS::Node::isVarAccessNode |
( |
|
) |
const [inline, virtual] |
| virtual bool KJS::Node::isBracketAccessorNode |
( |
|
) |
const [inline, virtual] |
| virtual bool KJS::Node::isDotAccessorNode |
( |
|
) |
const [inline, virtual] |
| bool KJS::Node::isNumber |
( |
|
) |
const [inline] |
| bool KJS::Node::isString |
( |
|
) |
const [inline] |
| bool KJS::Node::isGroupNode |
( |
|
) |
const [inline] |
| bool KJS::Node::isTryNode |
( |
|
) |
const [inline] |
| virtual bool KJS::Node::introducesNewStaticScope |
( |
|
) |
const [inline, virtual] |
| virtual bool KJS::Node::introducesNewDynamicScope |
( |
|
) |
const [inline, virtual] |
| virtual bool KJS::Node::isIterationStatement |
( |
|
) |
const [inline, virtual] |
| virtual bool KJS::Node::isSwitchStatement |
( |
|
) |
const [inline, virtual] |
| virtual bool KJS::Node::isVarStatement |
( |
|
) |
const [inline, virtual] |
| bool KJS::Node::introducesNewScope |
( |
|
) |
const [inline] |
| virtual void KJS::Node::breakCycle |
( |
|
) |
[inline, virtual] |
| void KJS::Node::processDecls |
( |
ExecState * |
exec |
) |
|
| virtual void KJS::Node::recurseVisit |
( |
NodeVisitor * |
|
) |
[inline, virtual] |
Reimplemented in KJS::GroupNode, KJS::ElementNode, KJS::ArrayNode, KJS::PropertyNode, KJS::PropertyListNode, KJS::ObjectLiteralNode, KJS::BracketAccessorNode, KJS::DotAccessorNode, KJS::ArgumentListNode, KJS::ArgumentsNode, KJS::NewExprNode, KJS::FunctionCallValueNode, KJS::FunctionCallReferenceNode, KJS::FunctionCallBracketNode, KJS::FunctionCallDotNode, KJS::PostfixNode, KJS::DeleteReferenceNode, KJS::DeleteValueNode, KJS::VoidNode, KJS::TypeOfReferenceNode, KJS::TypeOfValueNode, KJS::PrefixNode, KJS::UnaryPlusNode, KJS::NegateNode, KJS::BitwiseNotNode, KJS::LogicalNotNode, KJS::BinaryOperatorNode, KJS::BinaryLogicalNode, KJS::ConditionalNode, KJS::AssignNode, KJS::AssignBracketNode, KJS::AssignDotNode, KJS::CommaNode, KJS::AssignExprNode, KJS::VarDeclNode, KJS::VarDeclListNode, KJS::VarStatementNode, KJS::BlockNode, KJS::ExprStatementNode, KJS::IfNode, KJS::DoWhileNode, KJS::WhileNode, KJS::ForNode, KJS::ForInNode, KJS::ReturnNode, KJS::WithNode, KJS::LabelNode, KJS::ThrowNode, KJS::TryNode, KJS::ParameterNode, KJS::FuncExprNode, KJS::FuncDeclNode, KJS::SourceElementsNode, KJS::CaseClauseNode, KJS::ClauseListNode, KJS::CaseBlockNode, KJS::SwitchNode, KJS::PackageNameNode, and KJS::ImportStatement.
Definition at line 125 of file nodes.h.
template<typename T>
| static void KJS::Node::recurseVisitLink |
( |
NodeVisitor * |
visitor, |
|
|
RefPtr< T > & |
link | |
|
) |
| | [inline, static] |
template<typename T>
| static void KJS::Node::recurseVisitLink |
( |
NodeVisitor * |
visitor, |
|
|
ListRefPtr< T > & |
link | |
|
) |
| | [inline, static] |
| void KJS::Node::handleException |
( |
ExecState * |
exec |
) |
|
| void KJS::Node::copyDebugInfo |
( |
Node * |
otherNode |
) |
|
Friends And Related Function Documentation
friend class VarDeclVisitor [friend] |
friend class FuncDeclVisitor [friend] |
Member Data Documentation
The documentation for this class was generated from the following files: