v8  3.11.10(node0.8.26)
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
 
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 ExpressionAsExpression ()
 
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 ()
 
unsigned id () const
 
unsigned 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
 
virtual DeclarationAsDeclaration ()
 
virtual StatementAsStatement ()
 
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)
 

Friends

template<class >
class AstNodeFactory
 

Additional Inherited Members

- Public Types inherited from Expression
enum  Context { kUninitialized, kEffect, kValue, kTest }
 
- Public Types inherited from AstNode
enum  Type { kInvalid = -1 }
 
- Static Public Attributes inherited from AstNode
static const int kNoNumber = -1
 
static const int kFunctionEntryId = 2
 
static const int kDeclarationsId = 3
 
- Static Protected Member Functions inherited from AstNode
static int GetNextId (Isolate *isolate)
 
static int ReserveIdRange (Isolate *isolate, int n)
 

Detailed Description

Definition at line 1843 of file ast.h.

Constructor & Destructor Documentation

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

Definition at line 1865 of file ast.h.

References ASSERT, and Token::IsCompareOp().

Member Function Documentation

bool IsLiteralCompareNull ( Expression **  expr)

Definition at line 382 of file ast.cc.

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

Definition at line 335 of file ast.cc.

bool IsLiteralCompareUndefined ( Expression **  expr)

Definition at line 363 of file ast.cc.

bool IsObjectCompare ( )
inline

Definition at line 1855 of file ast.h.

bool IsSmiCompare ( )
inline

Definition at line 1854 of file ast.h.

Expression* left ( ) const
inline

Definition at line 1848 of file ast.h.

Token::Value op ( ) const
inline

Definition at line 1847 of file ast.h.

virtual int position ( ) const
inlinevirtual

Reimplemented from Expression.

Definition at line 1850 of file ast.h.

void RecordTypeFeedback ( TypeFeedbackOracle *  oracle)

Definition at line 602 of file ast.cc.

References ASSERT, TypeInfo::IsNonPrimitive(), TypeInfo::IsSmi(), and NONE.

Expression* right ( ) const
inline

Definition at line 1849 of file ast.h.

Friends And Related Function Documentation

friend class AstNodeFactory
friend

Definition at line 1863 of file ast.h.


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