webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Protected Member Functions | List of all members
JSC::ExpressionNode Class Referenceabstract

#include <Nodes.h>

Inheritance diagram for JSC::ExpressionNode:
JSC::Node JSC::ParserArenaFreeable JSC::ArgumentListNode JSC::ArrayNode JSC::AssignBracketNode JSC::AssignDotNode JSC::AssignErrorNode JSC::AssignResolveNode JSC::AwaitExprNode JSC::BaseFuncExprNode JSC::BinaryOpNode JSC::BitwiseNotNode JSC::BracketAccessorNode JSC::BytecodeIntrinsicNode JSC::ClassExprNode JSC::CommaNode JSC::ConditionalNode JSC::ConstantNode JSC::DeleteBracketNode JSC::DeleteDotNode JSC::DeleteResolveNode JSC::DeleteValueNode JSC::DestructuringAssignmentNode JSC::DotAccessorNode JSC::EmptyLetExpression JSC::EmptyVarExpression JSC::EvalFunctionCallNode JSC::FunctionCallBracketNode JSC::FunctionCallDotNode JSC::FunctionCallResolveNode JSC::FunctionCallValueNode JSC::ImportNode JSC::LogicalOpNode JSC::NewExprNode JSC::NewTargetNode JSC::ObjectLiteralNode JSC::PrefixNode JSC::PropertyListNode JSC::ReadModifyBracketNode JSC::ReadModifyDotNode JSC::ReadModifyResolveNode JSC::RegExpNode JSC::ResolveNode JSC::SpreadExpressionNode JSC::SuperNode JSC::TaggedTemplateNode JSC::TemplateLiteralNode JSC::TemplateStringNode JSC::ThisNode JSC::TypeOfResolveNode JSC::TypeOfValueNode JSC::UnaryOpNode JSC::VoidNode JSC::YieldExprNode

Public Member Functions

virtual RegisterIDemitBytecode (BytecodeGenerator &, RegisterID *destination=0)=0
 
virtual bool isNumber () const
 
virtual bool isString () const
 
virtual bool isObjectLiteral () const
 
virtual bool isArrayLiteral () const
 
virtual bool isNull () const
 
virtual bool isPure (BytecodeGenerator &) const
 
virtual bool isConstant () const
 
virtual bool isLocation () const
 
virtual bool isAssignmentLocation () const
 
virtual bool isResolveNode () const
 
virtual bool isAssignResolveNode () const
 
virtual bool isBracketAccessorNode () const
 
virtual bool isDotAccessorNode () const
 
virtual bool isDestructuringNode () const
 
virtual bool isBaseFuncExprNode () const
 
virtual bool isFuncExprNode () const
 
virtual bool isArrowFuncExprNode () const
 
virtual bool isClassExprNode () const
 
virtual bool isCommaNode () const
 
virtual bool isSimpleArray () const
 
virtual bool isAdd () const
 
virtual bool isSubtract () const
 
virtual bool isBoolean () const
 
virtual bool isSpreadExpression () const
 
virtual bool isSuperNode () const
 
virtual bool isImportNode () const
 
virtual bool isNewTarget () const
 
virtual bool isBytecodeIntrinsicNode () const
 
virtual void emitBytecodeInConditionContext (BytecodeGenerator &, Label &, Label &, FallThroughMode)
 
virtual ExpressionNodestripUnaryPlus ()
 
ResultType resultDescriptor () const
 
- Public Member Functions inherited from JSC::Node
virtual ~Node ()
 
int firstLine () const
 
int startOffset () const
 
int endOffset () const
 
int lineStartOffset () const
 
const JSTextPositionposition () const
 
void setEndOffset (int offset)
 
void setStartOffset (int offset)
 
bool needsDebugHook () const
 
void setNeedsDebugHook ()
 
- Public Member Functions inherited from JSC::ParserArenaFreeable
voidoperator new (size_t, ParserArena &)
 

Protected Member Functions

 ExpressionNode (const JSTokenLocation &, ResultType=ResultType::unknownType())
 
- Protected Member Functions inherited from JSC::Node
 Node (const JSTokenLocation &)
 

Additional Inherited Members

- Protected Attributes inherited from JSC::Node
JSTextPosition m_position
 
int m_endOffset
 
bool m_needsDebugHook { false }
 

Constructor & Destructor Documentation

◆ ExpressionNode()

JSC::ExpressionNode::ExpressionNode ( const JSTokenLocation location,
ResultType  resultType = ResultType::unknownType() 
)
inlineprotected

Member Function Documentation

◆ emitBytecode()

virtual RegisterID* JSC::ExpressionNode::emitBytecode ( BytecodeGenerator ,
RegisterID destination = 0 
)
pure virtual

Implemented in JSC::PrefixNode, and JSC::NumberNode.

◆ emitBytecodeInConditionContext()

void JSC::ExpressionNode::emitBytecodeInConditionContext ( BytecodeGenerator generator,
Label trueTarget,
Label falseTarget,
FallThroughMode  fallThroughMode 
)
virtual

Reimplemented in JSC::BinaryOpNode.

◆ isAdd()

virtual bool JSC::ExpressionNode::isAdd ( ) const
inlinevirtual

Reimplemented in JSC::AddNode.

◆ isArrayLiteral()

virtual bool JSC::ExpressionNode::isArrayLiteral ( ) const
inlinevirtual

Reimplemented in JSC::ArrayNode.

◆ isArrowFuncExprNode()

virtual bool JSC::ExpressionNode::isArrowFuncExprNode ( ) const
inlinevirtual

◆ isAssignmentLocation()

virtual bool JSC::ExpressionNode::isAssignmentLocation ( ) const
inlinevirtual

◆ isAssignResolveNode()

virtual bool JSC::ExpressionNode::isAssignResolveNode ( ) const
inlinevirtual

Reimplemented in JSC::AssignResolveNode.

◆ isBaseFuncExprNode()

virtual bool JSC::ExpressionNode::isBaseFuncExprNode ( ) const
inlinevirtual

Reimplemented in JSC::BaseFuncExprNode.

◆ isBoolean()

virtual bool JSC::ExpressionNode::isBoolean ( ) const
inlinevirtual

◆ isBracketAccessorNode()

virtual bool JSC::ExpressionNode::isBracketAccessorNode ( ) const
inlinevirtual

◆ isBytecodeIntrinsicNode()

virtual bool JSC::ExpressionNode::isBytecodeIntrinsicNode ( ) const
inlinevirtual

Reimplemented in JSC::BytecodeIntrinsicNode.

◆ isClassExprNode()

virtual bool JSC::ExpressionNode::isClassExprNode ( ) const
inlinevirtual

◆ isCommaNode()

virtual bool JSC::ExpressionNode::isCommaNode ( ) const
inlinevirtual

◆ isConstant()

virtual bool JSC::ExpressionNode::isConstant ( ) const
inlinevirtual

Reimplemented in JSC::ConstantNode.

◆ isDestructuringNode()

virtual bool JSC::ExpressionNode::isDestructuringNode ( ) const
inlinevirtual

◆ isDotAccessorNode()

virtual bool JSC::ExpressionNode::isDotAccessorNode ( ) const
inlinevirtual

◆ isFuncExprNode()

virtual bool JSC::ExpressionNode::isFuncExprNode ( ) const
inlinevirtual

◆ isImportNode()

virtual bool JSC::ExpressionNode::isImportNode ( ) const
inlinevirtual

◆ isLocation()

virtual bool JSC::ExpressionNode::isLocation ( ) const
inlinevirtual

◆ isNewTarget()

virtual bool JSC::ExpressionNode::isNewTarget ( ) const
inlinevirtual

◆ isNull()

virtual bool JSC::ExpressionNode::isNull ( ) const
inlinevirtual

◆ isNumber()

virtual bool JSC::ExpressionNode::isNumber ( ) const
inlinevirtual

◆ isObjectLiteral()

virtual bool JSC::ExpressionNode::isObjectLiteral ( ) const
inlinevirtual

Reimplemented in JSC::ObjectLiteralNode.

◆ isPure()

virtual bool JSC::ExpressionNode::isPure ( BytecodeGenerator ) const
inlinevirtual

Reimplemented in JSC::ConstantNode.

◆ isResolveNode()

virtual bool JSC::ExpressionNode::isResolveNode ( ) const
inlinevirtual

◆ isSimpleArray()

virtual bool JSC::ExpressionNode::isSimpleArray ( ) const
inlinevirtual

◆ isSpreadExpression()

virtual bool JSC::ExpressionNode::isSpreadExpression ( ) const
inlinevirtual

◆ isString()

virtual bool JSC::ExpressionNode::isString ( ) const
inlinevirtual

◆ isSubtract()

virtual bool JSC::ExpressionNode::isSubtract ( ) const
inlinevirtual

Reimplemented in JSC::SubNode.

◆ isSuperNode()

virtual bool JSC::ExpressionNode::isSuperNode ( ) const
inlinevirtual

◆ resultDescriptor()

ResultType JSC::ExpressionNode::resultDescriptor ( ) const
inline

◆ stripUnaryPlus()

virtual ExpressionNode* JSC::ExpressionNode::stripUnaryPlus ( )
inlinevirtual

The documentation for this class was generated from the following files: