v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CompareOperation Class Reference

#include <ast.h>

Inheritance diagram for CompareOperation:
Collaboration diagram for CompareOperation:

Public Member Functions

Token::Value op () const
 
Expressionleft () const
 
Expressionright () const
 
virtual int position () const
 
TypeFeedbackId CompareOperationFeedbackId () const
 
void RecordTypeFeedback (TypeFeedbackOracle *oracle)
 
bool IsSmiCompare ()
 
bool IsObjectCompare ()
 
bool IsLiteralCompareTypeof (Expression **expr, Handle< String > *check)
 
bool IsLiteralCompareUndefined (Expression **expr)
 
bool IsLiteralCompareNull (Expression **expr)
 
- Public Member Functions inherited from Expression
virtual bool IsValidLeftHandSide ()
 
virtual bool ToBooleanIsTrue ()
 
virtual bool ToBooleanIsFalse ()
 
virtual bool IsPropertyName ()
 
virtual bool ResultOverwriteAllowed ()
 
bool IsSmiLiteral ()
 
bool IsStringLiteral ()
 
bool IsNullLiteral ()
 
virtual bool IsMonomorphic ()
 
virtual SmallMapListGetReceiverTypes ()
 
Handle< MapGetMonomorphicReceiverType ()
 
BailoutId id () const
 
TypeFeedbackId test_id () const
 
- Public Member Functions inherited from AstNode
void * operator new (size_t size, Zone *zone)
 
 AstNode ()
 
virtual ~AstNode ()
 
virtual void Accept (AstVisitor *v)=0
 
virtual Type node_type () const =0
 
virtual TargetCollectorAsTargetCollector ()
 
virtual BreakableStatementAsBreakableStatement ()
 
virtual IterationStatementAsIterationStatement ()
 
virtual MaterializedLiteralAsMaterializedLiteral ()
 
- Public Member Functions inherited from ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Protected Member Functions

 CompareOperation (Isolate *isolate, Token::Value op, Expression *left, Expression *right, int pos)
 
- Protected Member Functions inherited from Expression
 Expression (Isolate *isolate)
 

Additional Inherited Members

- Public Types inherited from Expression
enum  Context { kUninitialized, kEffect, kValue, kTest }
 
- Public Types inherited from AstNode
enum  Type { kInvalid = -1 }
 
- Static Protected Member Functions inherited from AstNode
static int GetNextId (Isolate *isolate)
 
static int ReserveIdRange (Isolate *isolate, int n)
 
static TypeFeedbackId reuse (BailoutId id)
 

Detailed Description

Definition at line 1769 of file ast.h.

Constructor & Destructor Documentation

CompareOperation ( Isolate isolate,
Token::Value  op,
Expression left,
Expression right,
int  pos 
)
inlineprotected

Definition at line 1790 of file ast.h.

References ASSERT, and Token::IsCompareOp().

Member Function Documentation

TypeFeedbackId CompareOperationFeedbackId ( ) const
inline
bool IsLiteralCompareNull ( Expression **  expr)

Definition at line 384 of file ast.cc.

bool IsLiteralCompareTypeof ( Expression **  expr,
Handle< String > *  check 
)

Definition at line 337 of file ast.cc.

bool IsLiteralCompareUndefined ( Expression **  expr)

Definition at line 365 of file ast.cc.

bool IsObjectCompare ( )
inline

Definition at line 1782 of file ast.h.

bool IsSmiCompare ( )
inline

Definition at line 1781 of file ast.h.

Expression* left ( ) const
inline

Definition at line 1774 of file ast.h.

Token::Value op ( ) const
inline

Definition at line 1773 of file ast.h.

virtual int position ( ) const
inlinevirtual

Reimplemented from Expression.

Definition at line 1776 of file ast.h.

void RecordTypeFeedback ( TypeFeedbackOracle oracle)
Expression* right ( ) const
inline

Definition at line 1775 of file ast.h.


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