| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index f61f49527184408ab9a806e98ab920707bed4d0d..a8b74213adb663dce6c0fb3bad9ae8c45ea8a648 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -165,11 +165,9 @@ typedef ZoneList<Handle<String> > ZoneStringList;
|
| typedef ZoneList<Handle<Object> > ZoneObjectList;
|
|
|
|
|
| -#define DECLARE_NODE_TYPE(type) \
|
| - virtual void Accept(AstVisitor* v) V8_OVERRIDE; \
|
| - virtual AstNode::NodeType node_type() const V8_FINAL V8_OVERRIDE { \
|
| - return AstNode::k##type; \
|
| - } \
|
| +#define DECLARE_NODE_TYPE(type) \
|
| + virtual void Accept(AstVisitor* v); \
|
| + virtual AstNode::NodeType node_type() const { return AstNode::k##type; } \
|
| template<class> friend class AstNodeFactory;
|
|
|
|
|
| @@ -182,7 +180,7 @@ enum AstPropertiesFlag {
|
| };
|
|
|
|
|
| -class AstProperties V8_FINAL BASE_EMBEDDED {
|
| +class AstProperties BASE_EMBEDDED {
|
| public:
|
| class Flags : public EnumSet<AstPropertiesFlag, int> {};
|
|
|
| @@ -211,9 +209,9 @@ class AstNode: public ZoneObject {
|
| return zone->New(static_cast<int>(size));
|
| }
|
|
|
| - AstNode() {}
|
| + AstNode() { }
|
|
|
| - virtual ~AstNode() {}
|
| + virtual ~AstNode() { }
|
|
|
| virtual void Accept(AstVisitor* v) = 0;
|
| virtual NodeType node_type() const = 0;
|
| @@ -256,7 +254,7 @@ class AstNode: public ZoneObject {
|
| };
|
|
|
|
|
| -class Statement : public AstNode {
|
| +class Statement: public AstNode {
|
| public:
|
| Statement() : statement_pos_(RelocInfo::kNoPosition) {}
|
|
|
| @@ -271,7 +269,7 @@ class Statement : public AstNode {
|
| };
|
|
|
|
|
| -class SmallMapList V8_FINAL {
|
| +class SmallMapList {
|
| public:
|
| SmallMapList() {}
|
| SmallMapList(int capacity, Zone* zone) : list_(capacity, zone) {}
|
| @@ -312,7 +310,7 @@ class SmallMapList V8_FINAL {
|
| };
|
|
|
|
|
| -class Expression : public AstNode {
|
| +class Expression: public AstNode {
|
| public:
|
| enum Context {
|
| // Not assigned a context yet, or else will not be visited during
|
| @@ -405,7 +403,7 @@ class Expression : public AstNode {
|
| };
|
|
|
|
|
| -class BreakableStatement : public Statement {
|
| +class BreakableStatement: public Statement {
|
| public:
|
| enum BreakableType {
|
| TARGET_FOR_ANONYMOUS,
|
| @@ -417,9 +415,7 @@ class BreakableStatement : public Statement {
|
| ZoneStringList* labels() const { return labels_; }
|
|
|
| // Type testing & conversion.
|
| - virtual BreakableStatement* AsBreakableStatement() V8_FINAL V8_OVERRIDE {
|
| - return this;
|
| - }
|
| + virtual BreakableStatement* AsBreakableStatement() { return this; }
|
|
|
| // Code generation
|
| Label* break_target() { return &break_target_; }
|
| @@ -452,7 +448,7 @@ class BreakableStatement : public Statement {
|
| };
|
|
|
|
|
| -class Block V8_FINAL : public BreakableStatement {
|
| +class Block: public BreakableStatement {
|
| public:
|
| DECLARE_NODE_TYPE(Block)
|
|
|
| @@ -463,7 +459,7 @@ class Block V8_FINAL : public BreakableStatement {
|
| ZoneList<Statement*>* statements() { return &statements_; }
|
| bool is_initializer_block() const { return is_initializer_block_; }
|
|
|
| - virtual bool IsJump() const V8_OVERRIDE {
|
| + virtual bool IsJump() const {
|
| return !statements_.is_empty() && statements_.last()->IsJump()
|
| && labels() == NULL; // Good enough as an approximation...
|
| }
|
| @@ -490,7 +486,7 @@ class Block V8_FINAL : public BreakableStatement {
|
| };
|
|
|
|
|
| -class Declaration : public AstNode {
|
| +class Declaration: public AstNode {
|
| public:
|
| VariableProxy* proxy() const { return proxy_; }
|
| VariableMode mode() const { return mode_; }
|
| @@ -517,11 +513,11 @@ class Declaration : public AstNode {
|
| };
|
|
|
|
|
| -class VariableDeclaration V8_FINAL : public Declaration {
|
| +class VariableDeclaration: public Declaration {
|
| public:
|
| DECLARE_NODE_TYPE(VariableDeclaration)
|
|
|
| - virtual InitializationFlag initialization() const V8_OVERRIDE {
|
| + virtual InitializationFlag initialization() const {
|
| return mode() == VAR ? kCreatedInitialized : kNeedsInitialization;
|
| }
|
|
|
| @@ -534,15 +530,15 @@ class VariableDeclaration V8_FINAL : public Declaration {
|
| };
|
|
|
|
|
| -class FunctionDeclaration V8_FINAL : public Declaration {
|
| +class FunctionDeclaration: public Declaration {
|
| public:
|
| DECLARE_NODE_TYPE(FunctionDeclaration)
|
|
|
| FunctionLiteral* fun() const { return fun_; }
|
| - virtual InitializationFlag initialization() const V8_OVERRIDE {
|
| + virtual InitializationFlag initialization() const {
|
| return kCreatedInitialized;
|
| }
|
| - virtual bool IsInlineable() const V8_OVERRIDE;
|
| + virtual bool IsInlineable() const;
|
|
|
| protected:
|
| FunctionDeclaration(VariableProxy* proxy,
|
| @@ -561,12 +557,12 @@ class FunctionDeclaration V8_FINAL : public Declaration {
|
| };
|
|
|
|
|
| -class ModuleDeclaration V8_FINAL : public Declaration {
|
| +class ModuleDeclaration: public Declaration {
|
| public:
|
| DECLARE_NODE_TYPE(ModuleDeclaration)
|
|
|
| Module* module() const { return module_; }
|
| - virtual InitializationFlag initialization() const V8_OVERRIDE {
|
| + virtual InitializationFlag initialization() const {
|
| return kCreatedInitialized;
|
| }
|
|
|
| @@ -583,12 +579,12 @@ class ModuleDeclaration V8_FINAL : public Declaration {
|
| };
|
|
|
|
|
| -class ImportDeclaration V8_FINAL : public Declaration {
|
| +class ImportDeclaration: public Declaration {
|
| public:
|
| DECLARE_NODE_TYPE(ImportDeclaration)
|
|
|
| Module* module() const { return module_; }
|
| - virtual InitializationFlag initialization() const V8_OVERRIDE {
|
| + virtual InitializationFlag initialization() const {
|
| return kCreatedInitialized;
|
| }
|
|
|
| @@ -605,11 +601,11 @@ class ImportDeclaration V8_FINAL : public Declaration {
|
| };
|
|
|
|
|
| -class ExportDeclaration V8_FINAL : public Declaration {
|
| +class ExportDeclaration: public Declaration {
|
| public:
|
| DECLARE_NODE_TYPE(ExportDeclaration)
|
|
|
| - virtual InitializationFlag initialization() const V8_OVERRIDE {
|
| + virtual InitializationFlag initialization() const {
|
| return kCreatedInitialized;
|
| }
|
|
|
| @@ -619,7 +615,7 @@ class ExportDeclaration V8_FINAL : public Declaration {
|
| };
|
|
|
|
|
| -class Module : public AstNode {
|
| +class Module: public AstNode {
|
| public:
|
| Interface* interface() const { return interface_; }
|
| Block* body() const { return body_; }
|
| @@ -638,7 +634,7 @@ class Module : public AstNode {
|
| };
|
|
|
|
|
| -class ModuleLiteral V8_FINAL : public Module {
|
| +class ModuleLiteral: public Module {
|
| public:
|
| DECLARE_NODE_TYPE(ModuleLiteral)
|
|
|
| @@ -647,7 +643,7 @@ class ModuleLiteral V8_FINAL : public Module {
|
| };
|
|
|
|
|
| -class ModuleVariable V8_FINAL : public Module {
|
| +class ModuleVariable: public Module {
|
| public:
|
| DECLARE_NODE_TYPE(ModuleVariable)
|
|
|
| @@ -661,7 +657,7 @@ class ModuleVariable V8_FINAL : public Module {
|
| };
|
|
|
|
|
| -class ModulePath V8_FINAL : public Module {
|
| +class ModulePath: public Module {
|
| public:
|
| DECLARE_NODE_TYPE(ModulePath)
|
|
|
| @@ -681,7 +677,7 @@ class ModulePath V8_FINAL : public Module {
|
| };
|
|
|
|
|
| -class ModuleUrl V8_FINAL : public Module {
|
| +class ModuleUrl: public Module {
|
| public:
|
| DECLARE_NODE_TYPE(ModuleUrl)
|
|
|
| @@ -697,7 +693,7 @@ class ModuleUrl V8_FINAL : public Module {
|
| };
|
|
|
|
|
| -class ModuleStatement V8_FINAL : public Statement {
|
| +class ModuleStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(ModuleStatement)
|
|
|
| @@ -716,12 +712,10 @@ class ModuleStatement V8_FINAL : public Statement {
|
| };
|
|
|
|
|
| -class IterationStatement : public BreakableStatement {
|
| +class IterationStatement: public BreakableStatement {
|
| public:
|
| // Type testing & conversion.
|
| - virtual IterationStatement* AsIterationStatement() V8_FINAL V8_OVERRIDE {
|
| - return this;
|
| - }
|
| + virtual IterationStatement* AsIterationStatement() { return this; }
|
|
|
| Statement* body() const { return body_; }
|
|
|
| @@ -751,7 +745,7 @@ class IterationStatement : public BreakableStatement {
|
| };
|
|
|
|
|
| -class DoWhileStatement V8_FINAL : public IterationStatement {
|
| +class DoWhileStatement: public IterationStatement {
|
| public:
|
| DECLARE_NODE_TYPE(DoWhileStatement)
|
|
|
| @@ -767,8 +761,8 @@ class DoWhileStatement V8_FINAL : public IterationStatement {
|
| int condition_position() { return condition_position_; }
|
| void set_condition_position(int pos) { condition_position_ = pos; }
|
|
|
| - virtual BailoutId ContinueId() const V8_OVERRIDE { return continue_id_; }
|
| - virtual BailoutId StackCheckId() const V8_OVERRIDE { return back_edge_id_; }
|
| + virtual BailoutId ContinueId() const { return continue_id_; }
|
| + virtual BailoutId StackCheckId() const { return back_edge_id_; }
|
| BailoutId BackEdgeId() const { return back_edge_id_; }
|
|
|
| protected:
|
| @@ -790,7 +784,7 @@ class DoWhileStatement V8_FINAL : public IterationStatement {
|
| };
|
|
|
|
|
| -class WhileStatement V8_FINAL : public IterationStatement {
|
| +class WhileStatement: public IterationStatement {
|
| public:
|
| DECLARE_NODE_TYPE(WhileStatement)
|
|
|
| @@ -807,8 +801,8 @@ class WhileStatement V8_FINAL : public IterationStatement {
|
| may_have_function_literal_ = value;
|
| }
|
|
|
| - virtual BailoutId ContinueId() const V8_OVERRIDE { return EntryId(); }
|
| - virtual BailoutId StackCheckId() const V8_OVERRIDE { return body_id_; }
|
| + virtual BailoutId ContinueId() const { return EntryId(); }
|
| + virtual BailoutId StackCheckId() const { return body_id_; }
|
| BailoutId BodyId() const { return body_id_; }
|
|
|
| protected:
|
| @@ -829,7 +823,7 @@ class WhileStatement V8_FINAL : public IterationStatement {
|
| };
|
|
|
|
|
| -class ForStatement V8_FINAL : public IterationStatement {
|
| +class ForStatement: public IterationStatement {
|
| public:
|
| DECLARE_NODE_TYPE(ForStatement)
|
|
|
| @@ -854,8 +848,8 @@ class ForStatement V8_FINAL : public IterationStatement {
|
| may_have_function_literal_ = value;
|
| }
|
|
|
| - virtual BailoutId ContinueId() const V8_OVERRIDE { return continue_id_; }
|
| - virtual BailoutId StackCheckId() const V8_OVERRIDE { return body_id_; }
|
| + virtual BailoutId ContinueId() const { return continue_id_; }
|
| + virtual BailoutId StackCheckId() const { return body_id_; }
|
| BailoutId BodyId() const { return body_id_; }
|
|
|
| bool is_fast_smi_loop() { return loop_variable_ != NULL; }
|
| @@ -888,7 +882,7 @@ class ForStatement V8_FINAL : public IterationStatement {
|
| };
|
|
|
|
|
| -class ForEachStatement : public IterationStatement {
|
| +class ForEachStatement: public IterationStatement {
|
| public:
|
| enum VisitMode {
|
| ENUMERATE, // for (each in subject) body;
|
| @@ -917,7 +911,7 @@ class ForEachStatement : public IterationStatement {
|
| };
|
|
|
|
|
| -class ForInStatement V8_FINAL : public ForEachStatement {
|
| +class ForInStatement: public ForEachStatement {
|
| public:
|
| DECLARE_NODE_TYPE(ForInStatement)
|
|
|
| @@ -932,8 +926,8 @@ class ForInStatement V8_FINAL : public ForEachStatement {
|
|
|
| BailoutId BodyId() const { return body_id_; }
|
| BailoutId PrepareId() const { return prepare_id_; }
|
| - virtual BailoutId ContinueId() const V8_OVERRIDE { return EntryId(); }
|
| - virtual BailoutId StackCheckId() const V8_OVERRIDE { return body_id_; }
|
| + virtual BailoutId ContinueId() const { return EntryId(); }
|
| + virtual BailoutId StackCheckId() const { return body_id_; }
|
|
|
| protected:
|
| ForInStatement(Isolate* isolate, ZoneStringList* labels)
|
| @@ -949,7 +943,7 @@ class ForInStatement V8_FINAL : public ForEachStatement {
|
| };
|
|
|
|
|
| -class ForOfStatement V8_FINAL : public ForEachStatement {
|
| +class ForOfStatement: public ForEachStatement {
|
| public:
|
| DECLARE_NODE_TYPE(ForOfStatement)
|
|
|
| @@ -991,8 +985,8 @@ class ForOfStatement V8_FINAL : public ForEachStatement {
|
| return assign_each_;
|
| }
|
|
|
| - virtual BailoutId ContinueId() const V8_OVERRIDE { return EntryId(); }
|
| - virtual BailoutId StackCheckId() const V8_OVERRIDE { return BackEdgeId(); }
|
| + virtual BailoutId ContinueId() const { return EntryId(); }
|
| + virtual BailoutId StackCheckId() const { return BackEdgeId(); }
|
|
|
| BailoutId BackEdgeId() const { return back_edge_id_; }
|
|
|
| @@ -1014,13 +1008,13 @@ class ForOfStatement V8_FINAL : public ForEachStatement {
|
| };
|
|
|
|
|
| -class ExpressionStatement V8_FINAL : public Statement {
|
| +class ExpressionStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(ExpressionStatement)
|
|
|
| void set_expression(Expression* e) { expression_ = e; }
|
| Expression* expression() const { return expression_; }
|
| - virtual bool IsJump() const V8_OVERRIDE { return expression_->IsThrow(); }
|
| + virtual bool IsJump() const { return expression_->IsThrow(); }
|
|
|
| protected:
|
| explicit ExpressionStatement(Expression* expression)
|
| @@ -1031,16 +1025,16 @@ class ExpressionStatement V8_FINAL : public Statement {
|
| };
|
|
|
|
|
| -class JumpStatement : public Statement {
|
| +class JumpStatement: public Statement {
|
| public:
|
| - virtual bool IsJump() const V8_FINAL V8_OVERRIDE { return true; }
|
| + virtual bool IsJump() const { return true; }
|
|
|
| protected:
|
| JumpStatement() {}
|
| };
|
|
|
|
|
| -class ContinueStatement V8_FINAL : public JumpStatement {
|
| +class ContinueStatement: public JumpStatement {
|
| public:
|
| DECLARE_NODE_TYPE(ContinueStatement)
|
|
|
| @@ -1055,7 +1049,7 @@ class ContinueStatement V8_FINAL : public JumpStatement {
|
| };
|
|
|
|
|
| -class BreakStatement V8_FINAL : public JumpStatement {
|
| +class BreakStatement: public JumpStatement {
|
| public:
|
| DECLARE_NODE_TYPE(BreakStatement)
|
|
|
| @@ -1070,7 +1064,7 @@ class BreakStatement V8_FINAL : public JumpStatement {
|
| };
|
|
|
|
|
| -class ReturnStatement V8_FINAL : public JumpStatement {
|
| +class ReturnStatement: public JumpStatement {
|
| public:
|
| DECLARE_NODE_TYPE(ReturnStatement)
|
|
|
| @@ -1085,7 +1079,7 @@ class ReturnStatement V8_FINAL : public JumpStatement {
|
| };
|
|
|
|
|
| -class WithStatement V8_FINAL : public Statement {
|
| +class WithStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(WithStatement)
|
|
|
| @@ -1106,7 +1100,7 @@ class WithStatement V8_FINAL : public Statement {
|
| };
|
|
|
|
|
| -class CaseClause V8_FINAL : public ZoneObject {
|
| +class CaseClause: public ZoneObject {
|
| public:
|
| CaseClause(Isolate* isolate,
|
| Expression* label,
|
| @@ -1143,7 +1137,7 @@ class CaseClause V8_FINAL : public ZoneObject {
|
| };
|
|
|
|
|
| -class SwitchStatement V8_FINAL : public BreakableStatement {
|
| +class SwitchStatement: public BreakableStatement {
|
| public:
|
| DECLARE_NODE_TYPE(SwitchStatement)
|
|
|
| @@ -1178,7 +1172,7 @@ class SwitchStatement V8_FINAL : public BreakableStatement {
|
| // the parser implicitly creates an empty statement. Use the
|
| // HasThenStatement() and HasElseStatement() functions to check if a
|
| // given if-statement has a then- or an else-part containing code.
|
| -class IfStatement V8_FINAL : public Statement {
|
| +class IfStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(IfStatement)
|
|
|
| @@ -1189,7 +1183,7 @@ class IfStatement V8_FINAL : public Statement {
|
| Statement* then_statement() const { return then_statement_; }
|
| Statement* else_statement() const { return else_statement_; }
|
|
|
| - virtual bool IsJump() const V8_OVERRIDE {
|
| + virtual bool IsJump() const {
|
| return HasThenStatement() && then_statement()->IsJump()
|
| && HasElseStatement() && else_statement()->IsJump();
|
| }
|
| @@ -1223,7 +1217,7 @@ class IfStatement V8_FINAL : public Statement {
|
|
|
| // NOTE: TargetCollectors are represented as nodes to fit in the target
|
| // stack in the compiler; this should probably be reworked.
|
| -class TargetCollector V8_FINAL : public AstNode {
|
| +class TargetCollector: public AstNode {
|
| public:
|
| explicit TargetCollector(Zone* zone) : targets_(0, zone) { }
|
|
|
| @@ -1233,9 +1227,9 @@ class TargetCollector V8_FINAL : public AstNode {
|
| void AddTarget(Label* target, Zone* zone);
|
|
|
| // Virtual behaviour. TargetCollectors are never part of the AST.
|
| - virtual void Accept(AstVisitor* v) V8_OVERRIDE { UNREACHABLE(); }
|
| - virtual NodeType node_type() const V8_OVERRIDE { return kInvalid; }
|
| - virtual TargetCollector* AsTargetCollector() V8_OVERRIDE { return this; }
|
| + virtual void Accept(AstVisitor* v) { UNREACHABLE(); }
|
| + virtual NodeType node_type() const { return kInvalid; }
|
| + virtual TargetCollector* AsTargetCollector() { return this; }
|
|
|
| ZoneList<Label*>* targets() { return &targets_; }
|
|
|
| @@ -1244,7 +1238,7 @@ class TargetCollector V8_FINAL : public AstNode {
|
| };
|
|
|
|
|
| -class TryStatement : public Statement {
|
| +class TryStatement: public Statement {
|
| public:
|
| void set_escaping_targets(ZoneList<Label*>* targets) {
|
| escaping_targets_ = targets;
|
| @@ -1269,7 +1263,7 @@ class TryStatement : public Statement {
|
| };
|
|
|
|
|
| -class TryCatchStatement V8_FINAL : public TryStatement {
|
| +class TryCatchStatement: public TryStatement {
|
| public:
|
| DECLARE_NODE_TYPE(TryCatchStatement)
|
|
|
| @@ -1296,7 +1290,7 @@ class TryCatchStatement V8_FINAL : public TryStatement {
|
| };
|
|
|
|
|
| -class TryFinallyStatement V8_FINAL : public TryStatement {
|
| +class TryFinallyStatement: public TryStatement {
|
| public:
|
| DECLARE_NODE_TYPE(TryFinallyStatement)
|
|
|
| @@ -1312,7 +1306,7 @@ class TryFinallyStatement V8_FINAL : public TryStatement {
|
| };
|
|
|
|
|
| -class DebuggerStatement V8_FINAL : public Statement {
|
| +class DebuggerStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(DebuggerStatement)
|
|
|
| @@ -1321,7 +1315,7 @@ class DebuggerStatement V8_FINAL : public Statement {
|
| };
|
|
|
|
|
| -class EmptyStatement V8_FINAL : public Statement {
|
| +class EmptyStatement: public Statement {
|
| public:
|
| DECLARE_NODE_TYPE(EmptyStatement)
|
|
|
| @@ -1330,11 +1324,11 @@ class EmptyStatement V8_FINAL : public Statement {
|
| };
|
|
|
|
|
| -class Literal V8_FINAL : public Expression {
|
| +class Literal: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(Literal)
|
|
|
| - virtual bool IsPropertyName() V8_OVERRIDE {
|
| + virtual bool IsPropertyName() {
|
| if (value_->IsInternalizedString()) {
|
| uint32_t ignored;
|
| return !String::cast(*value_)->AsArrayIndex(&ignored);
|
| @@ -1347,12 +1341,8 @@ class Literal V8_FINAL : public Expression {
|
| return Handle<String>::cast(value_);
|
| }
|
|
|
| - virtual bool ToBooleanIsTrue() V8_OVERRIDE {
|
| - return value_->BooleanValue();
|
| - }
|
| - virtual bool ToBooleanIsFalse() V8_OVERRIDE {
|
| - return !value_->BooleanValue();
|
| - }
|
| + virtual bool ToBooleanIsTrue() { return value_->BooleanValue(); }
|
| + virtual bool ToBooleanIsFalse() { return !value_->BooleanValue(); }
|
|
|
| // Identity testers.
|
| bool IsNull() const {
|
| @@ -1395,7 +1385,7 @@ class Literal V8_FINAL : public Expression {
|
|
|
|
|
| // Base class for literals that needs space in the corresponding JSFunction.
|
| -class MaterializedLiteral : public Expression {
|
| +class MaterializedLiteral: public Expression {
|
| public:
|
| virtual MaterializedLiteral* AsMaterializedLiteral() { return this; }
|
|
|
| @@ -1427,7 +1417,7 @@ class MaterializedLiteral : public Expression {
|
| // Property is used for passing information
|
| // about an object literal's properties from the parser
|
| // to the code generator.
|
| -class ObjectLiteralProperty V8_FINAL : public ZoneObject {
|
| +class ObjectLiteralProperty: public ZoneObject {
|
| public:
|
| enum Kind {
|
| CONSTANT, // Property with constant value (compile time).
|
| @@ -1470,7 +1460,7 @@ class ObjectLiteralProperty V8_FINAL : public ZoneObject {
|
|
|
| // An object literal has a boilerplate object that is used
|
| // for minimizing the work when constructing it at runtime.
|
| -class ObjectLiteral V8_FINAL : public MaterializedLiteral {
|
| +class ObjectLiteral: public MaterializedLiteral {
|
| public:
|
| typedef ObjectLiteralProperty Property;
|
|
|
| @@ -1528,7 +1518,7 @@ class ObjectLiteral V8_FINAL : public MaterializedLiteral {
|
|
|
|
|
| // Node for capturing a regexp literal.
|
| -class RegExpLiteral V8_FINAL : public MaterializedLiteral {
|
| +class RegExpLiteral: public MaterializedLiteral {
|
| public:
|
| DECLARE_NODE_TYPE(RegExpLiteral)
|
|
|
| @@ -1551,7 +1541,7 @@ class RegExpLiteral V8_FINAL : public MaterializedLiteral {
|
|
|
| // An array literal has a literals object that is used
|
| // for minimizing the work when constructing it at runtime.
|
| -class ArrayLiteral V8_FINAL : public MaterializedLiteral {
|
| +class ArrayLiteral: public MaterializedLiteral {
|
| public:
|
| DECLARE_NODE_TYPE(ArrayLiteral)
|
|
|
| @@ -1582,11 +1572,11 @@ class ArrayLiteral V8_FINAL : public MaterializedLiteral {
|
| };
|
|
|
|
|
| -class VariableProxy V8_FINAL : public Expression {
|
| +class VariableProxy: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(VariableProxy)
|
|
|
| - virtual bool IsValidLeftHandSide() V8_OVERRIDE {
|
| + virtual bool IsValidLeftHandSide() {
|
| return var_ == NULL ? true : var_->IsValidLeftHandSide();
|
| }
|
|
|
| @@ -1634,15 +1624,15 @@ class VariableProxy V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class Property V8_FINAL : public Expression {
|
| +class Property: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(Property)
|
|
|
| - virtual bool IsValidLeftHandSide() V8_OVERRIDE { return true; }
|
| + virtual bool IsValidLeftHandSide() { return true; }
|
|
|
| Expression* obj() const { return obj_; }
|
| Expression* key() const { return key_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
|
|
| BailoutId LoadId() const { return load_id_; }
|
|
|
| @@ -1652,11 +1642,9 @@ class Property V8_FINAL : public Expression {
|
|
|
| // Type feedback information.
|
| void RecordTypeFeedback(TypeFeedbackOracle* oracle, Zone* zone);
|
| - virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; }
|
| - virtual SmallMapList* GetReceiverTypes() V8_OVERRIDE {
|
| - return &receiver_types_;
|
| - }
|
| - virtual KeyedAccessStoreMode GetStoreMode() V8_OVERRIDE {
|
| + virtual bool IsMonomorphic() { return is_monomorphic_; }
|
| + virtual SmallMapList* GetReceiverTypes() { return &receiver_types_; }
|
| + virtual KeyedAccessStoreMode GetStoreMode() {
|
| return STANDARD_STORE;
|
| }
|
| bool IsUninitialized() { return is_uninitialized_; }
|
| @@ -1693,21 +1681,19 @@ class Property V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class Call V8_FINAL : public Expression {
|
| +class Call: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(Call)
|
|
|
| Expression* expression() const { return expression_; }
|
| ZoneList<Expression*>* arguments() const { return arguments_; }
|
| - virtual int position() const V8_FINAL { return pos_; }
|
| + virtual int position() const { return pos_; }
|
|
|
| // Type feedback information.
|
| TypeFeedbackId CallFeedbackId() const { return reuse(id()); }
|
| void RecordTypeFeedback(TypeFeedbackOracle* oracle, CallKind call_kind);
|
| - virtual SmallMapList* GetReceiverTypes() V8_OVERRIDE {
|
| - return &receiver_types_;
|
| - }
|
| - virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; }
|
| + virtual SmallMapList* GetReceiverTypes() { return &receiver_types_; }
|
| + virtual bool IsMonomorphic() { return is_monomorphic_; }
|
| CheckType check_type() const { return check_type_; }
|
|
|
| void set_string_check(Handle<JSObject> holder) {
|
| @@ -1778,18 +1764,18 @@ class Call V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class CallNew V8_FINAL : public Expression {
|
| +class CallNew: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(CallNew)
|
|
|
| Expression* expression() const { return expression_; }
|
| ZoneList<Expression*>* arguments() const { return arguments_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
|
|
| // Type feedback information.
|
| TypeFeedbackId CallNewFeedbackId() const { return reuse(id()); }
|
| void RecordTypeFeedback(TypeFeedbackOracle* oracle);
|
| - virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; }
|
| + virtual bool IsMonomorphic() { return is_monomorphic_; }
|
| Handle<JSFunction> target() const { return target_; }
|
| ElementsKind elements_kind() const { return elements_kind_; }
|
| Handle<Cell> allocation_info_cell() const {
|
| @@ -1829,7 +1815,7 @@ class CallNew V8_FINAL : public Expression {
|
| // language construct. Instead it is used to call a C or JS function
|
| // with a set of arguments. This is used from the builtins that are
|
| // implemented in JavaScript (see "v8natives.js").
|
| -class CallRuntime V8_FINAL : public Expression {
|
| +class CallRuntime: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(CallRuntime)
|
|
|
| @@ -1857,19 +1843,18 @@ class CallRuntime V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class UnaryOperation V8_FINAL : public Expression {
|
| +class UnaryOperation: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(UnaryOperation)
|
|
|
| Token::Value op() const { return op_; }
|
| Expression* expression() const { return expression_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
|
|
| BailoutId MaterializeTrueId() { return materialize_true_id_; }
|
| BailoutId MaterializeFalseId() { return materialize_false_id_; }
|
|
|
| - virtual void RecordToBooleanTypeFeedback(
|
| - TypeFeedbackOracle* oracle) V8_OVERRIDE;
|
| + virtual void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle);
|
|
|
| protected:
|
| UnaryOperation(Isolate* isolate,
|
| @@ -1897,7 +1882,7 @@ class UnaryOperation V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class BinaryOperation V8_FINAL : public Expression {
|
| +class BinaryOperation: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(BinaryOperation)
|
|
|
| @@ -1906,7 +1891,7 @@ class BinaryOperation V8_FINAL : public Expression {
|
| Token::Value op() const { return op_; }
|
| Expression* left() const { return left_; }
|
| Expression* right() const { return right_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
|
|
| BailoutId RightId() const { return right_id_; }
|
|
|
| @@ -1914,8 +1899,7 @@ class BinaryOperation V8_FINAL : public Expression {
|
| Maybe<int> fixed_right_arg() const { return fixed_right_arg_; }
|
| void set_fixed_right_arg(Maybe<int> arg) { fixed_right_arg_ = arg; }
|
|
|
| - virtual void RecordToBooleanTypeFeedback(
|
| - TypeFeedbackOracle* oracle) V8_OVERRIDE;
|
| + virtual void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle);
|
|
|
| protected:
|
| BinaryOperation(Isolate* isolate,
|
| @@ -1948,7 +1932,7 @@ class BinaryOperation V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class CountOperation V8_FINAL : public Expression {
|
| +class CountOperation: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(CountOperation)
|
|
|
| @@ -1961,14 +1945,14 @@ class CountOperation V8_FINAL : public Expression {
|
| }
|
|
|
| Expression* expression() const { return expression_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
| +
|
| + virtual void MarkAsStatement() { is_prefix_ = true; }
|
|
|
| void RecordTypeFeedback(TypeFeedbackOracle* oracle, Zone* znoe);
|
| - virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; }
|
| - virtual SmallMapList* GetReceiverTypes() V8_OVERRIDE {
|
| - return &receiver_types_;
|
| - }
|
| - virtual KeyedAccessStoreMode GetStoreMode() V8_OVERRIDE {
|
| + virtual bool IsMonomorphic() { return is_monomorphic_; }
|
| + virtual SmallMapList* GetReceiverTypes() { return &receiver_types_; }
|
| + virtual KeyedAccessStoreMode GetStoreMode() {
|
| return store_mode_;
|
| }
|
| TypeInfo type() const { return type_; }
|
| @@ -2010,14 +1994,14 @@ class CountOperation V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class CompareOperation V8_FINAL : public Expression {
|
| +class CompareOperation: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(CompareOperation)
|
|
|
| Token::Value op() const { return op_; }
|
| Expression* left() const { return left_; }
|
| Expression* right() const { return right_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
|
|
| // Type feedback information.
|
| TypeFeedbackId CompareOperationFeedbackId() const { return reuse(id()); }
|
| @@ -2053,7 +2037,7 @@ class CompareOperation V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class Conditional V8_FINAL : public Expression {
|
| +class Conditional: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(Conditional)
|
|
|
| @@ -2094,7 +2078,7 @@ class Conditional V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class Assignment V8_FINAL : public Expression {
|
| +class Assignment: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(Assignment)
|
|
|
| @@ -2105,7 +2089,7 @@ class Assignment V8_FINAL : public Expression {
|
| Token::Value op() const { return op_; }
|
| Expression* target() const { return target_; }
|
| Expression* value() const { return value_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
| BinaryOperation* binary_operation() const { return binary_operation_; }
|
|
|
| // This check relies on the definition order of token in token.h.
|
| @@ -2116,12 +2100,10 @@ class Assignment V8_FINAL : public Expression {
|
| // Type feedback information.
|
| TypeFeedbackId AssignmentFeedbackId() { return reuse(id()); }
|
| void RecordTypeFeedback(TypeFeedbackOracle* oracle, Zone* zone);
|
| - virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; }
|
| + virtual bool IsMonomorphic() { return is_monomorphic_; }
|
| bool IsUninitialized() { return is_uninitialized_; }
|
| - virtual SmallMapList* GetReceiverTypes() V8_OVERRIDE {
|
| - return &receiver_types_;
|
| - }
|
| - virtual KeyedAccessStoreMode GetStoreMode() V8_OVERRIDE {
|
| + virtual SmallMapList* GetReceiverTypes() { return &receiver_types_; }
|
| + virtual KeyedAccessStoreMode GetStoreMode() {
|
| return store_mode_;
|
| }
|
|
|
| @@ -2157,7 +2139,7 @@ class Assignment V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class Yield V8_FINAL : public Expression {
|
| +class Yield: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(Yield)
|
|
|
| @@ -2171,7 +2153,7 @@ class Yield V8_FINAL : public Expression {
|
| Expression* generator_object() const { return generator_object_; }
|
| Expression* expression() const { return expression_; }
|
| Kind yield_kind() const { return yield_kind_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
|
|
| // Delegating yield surrounds the "yield" in a "try/catch". This index
|
| // locates the catch handler in the handler table, and is equivalent to
|
| @@ -2207,12 +2189,12 @@ class Yield V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class Throw V8_FINAL : public Expression {
|
| +class Throw: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(Throw)
|
|
|
| Expression* exception() const { return exception_; }
|
| - virtual int position() const V8_OVERRIDE { return pos_; }
|
| + virtual int position() const { return pos_; }
|
|
|
| protected:
|
| Throw(Isolate* isolate, Expression* exception, int pos)
|
| @@ -2224,7 +2206,7 @@ class Throw V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class FunctionLiteral V8_FINAL : public Expression {
|
| +class FunctionLiteral: public Expression {
|
| public:
|
| enum FunctionType {
|
| ANONYMOUS_EXPRESSION,
|
| @@ -2374,7 +2356,7 @@ class FunctionLiteral V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class SharedFunctionInfoLiteral V8_FINAL : public Expression {
|
| +class SharedFunctionInfoLiteral: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(SharedFunctionInfoLiteral)
|
|
|
| @@ -2394,7 +2376,7 @@ class SharedFunctionInfoLiteral V8_FINAL : public Expression {
|
| };
|
|
|
|
|
| -class ThisFunction V8_FINAL : public Expression {
|
| +class ThisFunction: public Expression {
|
| public:
|
| DECLARE_NODE_TYPE(ThisFunction)
|
|
|
| @@ -2419,10 +2401,10 @@ class RegExpVisitor BASE_EMBEDDED {
|
| };
|
|
|
|
|
| -class RegExpTree : public ZoneObject {
|
| +class RegExpTree: public ZoneObject {
|
| public:
|
| static const int kInfinity = kMaxInt;
|
| - virtual ~RegExpTree() {}
|
| + virtual ~RegExpTree() { }
|
| virtual void* Accept(RegExpVisitor* visitor, void* data) = 0;
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| RegExpNode* on_success) = 0;
|
| @@ -2444,19 +2426,19 @@ class RegExpTree : public ZoneObject {
|
| };
|
|
|
|
|
| -class RegExpDisjunction V8_FINAL : public RegExpTree {
|
| +class RegExpDisjunction: public RegExpTree {
|
| public:
|
| explicit RegExpDisjunction(ZoneList<RegExpTree*>* alternatives);
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpDisjunction* AsDisjunction() V8_OVERRIDE;
|
| - virtual Interval CaptureRegisters() V8_OVERRIDE;
|
| - virtual bool IsDisjunction() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtStart() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtEnd() V8_OVERRIDE;
|
| - virtual int min_match() V8_OVERRIDE { return min_match_; }
|
| - virtual int max_match() V8_OVERRIDE { return max_match_; }
|
| + RegExpNode* on_success);
|
| + virtual RegExpDisjunction* AsDisjunction();
|
| + virtual Interval CaptureRegisters();
|
| + virtual bool IsDisjunction();
|
| + virtual bool IsAnchoredAtStart();
|
| + virtual bool IsAnchoredAtEnd();
|
| + virtual int min_match() { return min_match_; }
|
| + virtual int max_match() { return max_match_; }
|
| ZoneList<RegExpTree*>* alternatives() { return alternatives_; }
|
| private:
|
| ZoneList<RegExpTree*>* alternatives_;
|
| @@ -2465,19 +2447,19 @@ class RegExpDisjunction V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpAlternative V8_FINAL : public RegExpTree {
|
| +class RegExpAlternative: public RegExpTree {
|
| public:
|
| explicit RegExpAlternative(ZoneList<RegExpTree*>* nodes);
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpAlternative* AsAlternative() V8_OVERRIDE;
|
| - virtual Interval CaptureRegisters() V8_OVERRIDE;
|
| - virtual bool IsAlternative() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtStart() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtEnd() V8_OVERRIDE;
|
| - virtual int min_match() V8_OVERRIDE { return min_match_; }
|
| - virtual int max_match() V8_OVERRIDE { return max_match_; }
|
| + RegExpNode* on_success);
|
| + virtual RegExpAlternative* AsAlternative();
|
| + virtual Interval CaptureRegisters();
|
| + virtual bool IsAlternative();
|
| + virtual bool IsAnchoredAtStart();
|
| + virtual bool IsAnchoredAtEnd();
|
| + virtual int min_match() { return min_match_; }
|
| + virtual int max_match() { return max_match_; }
|
| ZoneList<RegExpTree*>* nodes() { return nodes_; }
|
| private:
|
| ZoneList<RegExpTree*>* nodes_;
|
| @@ -2486,7 +2468,7 @@ class RegExpAlternative V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpAssertion V8_FINAL : public RegExpTree {
|
| +class RegExpAssertion: public RegExpTree {
|
| public:
|
| enum AssertionType {
|
| START_OF_LINE,
|
| @@ -2497,22 +2479,22 @@ class RegExpAssertion V8_FINAL : public RegExpTree {
|
| NON_BOUNDARY
|
| };
|
| explicit RegExpAssertion(AssertionType type) : assertion_type_(type) { }
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpAssertion* AsAssertion() V8_OVERRIDE;
|
| - virtual bool IsAssertion() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtStart() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtEnd() V8_OVERRIDE;
|
| - virtual int min_match() V8_OVERRIDE { return 0; }
|
| - virtual int max_match() V8_OVERRIDE { return 0; }
|
| + RegExpNode* on_success);
|
| + virtual RegExpAssertion* AsAssertion();
|
| + virtual bool IsAssertion();
|
| + virtual bool IsAnchoredAtStart();
|
| + virtual bool IsAnchoredAtEnd();
|
| + virtual int min_match() { return 0; }
|
| + virtual int max_match() { return 0; }
|
| AssertionType assertion_type() { return assertion_type_; }
|
| private:
|
| AssertionType assertion_type_;
|
| };
|
|
|
|
|
| -class CharacterSet V8_FINAL BASE_EMBEDDED {
|
| +class CharacterSet BASE_EMBEDDED {
|
| public:
|
| explicit CharacterSet(uc16 standard_set_type)
|
| : ranges_(NULL),
|
| @@ -2535,7 +2517,7 @@ class CharacterSet V8_FINAL BASE_EMBEDDED {
|
| };
|
|
|
|
|
| -class RegExpCharacterClass V8_FINAL : public RegExpTree {
|
| +class RegExpCharacterClass: public RegExpTree {
|
| public:
|
| RegExpCharacterClass(ZoneList<CharacterRange>* ranges, bool is_negated)
|
| : set_(ranges),
|
| @@ -2543,15 +2525,15 @@ class RegExpCharacterClass V8_FINAL : public RegExpTree {
|
| explicit RegExpCharacterClass(uc16 type)
|
| : set_(type),
|
| is_negated_(false) { }
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpCharacterClass* AsCharacterClass() V8_OVERRIDE;
|
| - virtual bool IsCharacterClass() V8_OVERRIDE;
|
| - virtual bool IsTextElement() V8_OVERRIDE { return true; }
|
| - virtual int min_match() V8_OVERRIDE { return 1; }
|
| - virtual int max_match() V8_OVERRIDE { return 1; }
|
| - virtual void AppendToText(RegExpText* text, Zone* zone) V8_OVERRIDE;
|
| + RegExpNode* on_success);
|
| + virtual RegExpCharacterClass* AsCharacterClass();
|
| + virtual bool IsCharacterClass();
|
| + virtual bool IsTextElement() { return true; }
|
| + virtual int min_match() { return 1; }
|
| + virtual int max_match() { return 1; }
|
| + virtual void AppendToText(RegExpText* text, Zone* zone);
|
| CharacterSet character_set() { return set_; }
|
| // TODO(lrn): Remove need for complex version if is_standard that
|
| // recognizes a mangled standard set and just do { return set_.is_special(); }
|
| @@ -2577,18 +2559,18 @@ class RegExpCharacterClass V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpAtom V8_FINAL : public RegExpTree {
|
| +class RegExpAtom: public RegExpTree {
|
| public:
|
| explicit RegExpAtom(Vector<const uc16> data) : data_(data) { }
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpAtom* AsAtom() V8_OVERRIDE;
|
| - virtual bool IsAtom() V8_OVERRIDE;
|
| - virtual bool IsTextElement() V8_OVERRIDE { return true; }
|
| - virtual int min_match() V8_OVERRIDE { return data_.length(); }
|
| - virtual int max_match() V8_OVERRIDE { return data_.length(); }
|
| - virtual void AppendToText(RegExpText* text, Zone* zone) V8_OVERRIDE;
|
| + RegExpNode* on_success);
|
| + virtual RegExpAtom* AsAtom();
|
| + virtual bool IsAtom();
|
| + virtual bool IsTextElement() { return true; }
|
| + virtual int min_match() { return data_.length(); }
|
| + virtual int max_match() { return data_.length(); }
|
| + virtual void AppendToText(RegExpText* text, Zone* zone);
|
| Vector<const uc16> data() { return data_; }
|
| int length() { return data_.length(); }
|
| private:
|
| @@ -2596,18 +2578,18 @@ class RegExpAtom V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpText V8_FINAL : public RegExpTree {
|
| +class RegExpText: public RegExpTree {
|
| public:
|
| explicit RegExpText(Zone* zone) : elements_(2, zone), length_(0) {}
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpText* AsText() V8_OVERRIDE;
|
| - virtual bool IsText() V8_OVERRIDE;
|
| - virtual bool IsTextElement() V8_OVERRIDE { return true; }
|
| - virtual int min_match() V8_OVERRIDE { return length_; }
|
| - virtual int max_match() V8_OVERRIDE { return length_; }
|
| - virtual void AppendToText(RegExpText* text, Zone* zone) V8_OVERRIDE;
|
| + RegExpNode* on_success);
|
| + virtual RegExpText* AsText();
|
| + virtual bool IsText();
|
| + virtual bool IsTextElement() { return true; }
|
| + virtual int min_match() { return length_; }
|
| + virtual int max_match() { return length_; }
|
| + virtual void AppendToText(RegExpText* text, Zone* zone);
|
| void AddElement(TextElement elm, Zone* zone) {
|
| elements_.Add(elm, zone);
|
| length_ += elm.length();
|
| @@ -2619,7 +2601,7 @@ class RegExpText V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpQuantifier V8_FINAL : public RegExpTree {
|
| +class RegExpQuantifier: public RegExpTree {
|
| public:
|
| enum QuantifierType { GREEDY, NON_GREEDY, POSSESSIVE };
|
| RegExpQuantifier(int min, int max, QuantifierType type, RegExpTree* body)
|
| @@ -2634,9 +2616,9 @@ class RegExpQuantifier V8_FINAL : public RegExpTree {
|
| max_match_ = max * body->max_match();
|
| }
|
| }
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| + RegExpNode* on_success);
|
| static RegExpNode* ToNode(int min,
|
| int max,
|
| bool is_greedy,
|
| @@ -2644,11 +2626,11 @@ class RegExpQuantifier V8_FINAL : public RegExpTree {
|
| RegExpCompiler* compiler,
|
| RegExpNode* on_success,
|
| bool not_at_start = false);
|
| - virtual RegExpQuantifier* AsQuantifier() V8_OVERRIDE;
|
| - virtual Interval CaptureRegisters() V8_OVERRIDE;
|
| - virtual bool IsQuantifier() V8_OVERRIDE;
|
| - virtual int min_match() V8_OVERRIDE { return min_match_; }
|
| - virtual int max_match() V8_OVERRIDE { return max_match_; }
|
| + virtual RegExpQuantifier* AsQuantifier();
|
| + virtual Interval CaptureRegisters();
|
| + virtual bool IsQuantifier();
|
| + virtual int min_match() { return min_match_; }
|
| + virtual int max_match() { return max_match_; }
|
| int min() { return min_; }
|
| int max() { return max_; }
|
| bool is_possessive() { return quantifier_type_ == POSSESSIVE; }
|
| @@ -2666,24 +2648,24 @@ class RegExpQuantifier V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpCapture V8_FINAL : public RegExpTree {
|
| +class RegExpCapture: public RegExpTree {
|
| public:
|
| explicit RegExpCapture(RegExpTree* body, int index)
|
| : body_(body), index_(index) { }
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| + RegExpNode* on_success);
|
| static RegExpNode* ToNode(RegExpTree* body,
|
| int index,
|
| RegExpCompiler* compiler,
|
| RegExpNode* on_success);
|
| - virtual RegExpCapture* AsCapture() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtStart() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtEnd() V8_OVERRIDE;
|
| - virtual Interval CaptureRegisters() V8_OVERRIDE;
|
| - virtual bool IsCapture() V8_OVERRIDE;
|
| - virtual int min_match() V8_OVERRIDE { return body_->min_match(); }
|
| - virtual int max_match() V8_OVERRIDE { return body_->max_match(); }
|
| + virtual RegExpCapture* AsCapture();
|
| + virtual bool IsAnchoredAtStart();
|
| + virtual bool IsAnchoredAtEnd();
|
| + virtual Interval CaptureRegisters();
|
| + virtual bool IsCapture();
|
| + virtual int min_match() { return body_->min_match(); }
|
| + virtual int max_match() { return body_->max_match(); }
|
| RegExpTree* body() { return body_; }
|
| int index() { return index_; }
|
| static int StartRegister(int index) { return index * 2; }
|
| @@ -2695,7 +2677,7 @@ class RegExpCapture V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpLookahead V8_FINAL : public RegExpTree {
|
| +class RegExpLookahead: public RegExpTree {
|
| public:
|
| RegExpLookahead(RegExpTree* body,
|
| bool is_positive,
|
| @@ -2706,15 +2688,15 @@ class RegExpLookahead V8_FINAL : public RegExpTree {
|
| capture_count_(capture_count),
|
| capture_from_(capture_from) { }
|
|
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpLookahead* AsLookahead() V8_OVERRIDE;
|
| - virtual Interval CaptureRegisters() V8_OVERRIDE;
|
| - virtual bool IsLookahead() V8_OVERRIDE;
|
| - virtual bool IsAnchoredAtStart() V8_OVERRIDE;
|
| - virtual int min_match() V8_OVERRIDE { return 0; }
|
| - virtual int max_match() V8_OVERRIDE { return 0; }
|
| + RegExpNode* on_success);
|
| + virtual RegExpLookahead* AsLookahead();
|
| + virtual Interval CaptureRegisters();
|
| + virtual bool IsLookahead();
|
| + virtual bool IsAnchoredAtStart();
|
| + virtual int min_match() { return 0; }
|
| + virtual int max_match() { return 0; }
|
| RegExpTree* body() { return body_; }
|
| bool is_positive() { return is_positive_; }
|
| int capture_count() { return capture_count_; }
|
| @@ -2728,17 +2710,17 @@ class RegExpLookahead V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpBackReference V8_FINAL : public RegExpTree {
|
| +class RegExpBackReference: public RegExpTree {
|
| public:
|
| explicit RegExpBackReference(RegExpCapture* capture)
|
| : capture_(capture) { }
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpBackReference* AsBackReference() V8_OVERRIDE;
|
| - virtual bool IsBackReference() V8_OVERRIDE;
|
| - virtual int min_match() V8_OVERRIDE { return 0; }
|
| - virtual int max_match() V8_OVERRIDE { return capture_->max_match(); }
|
| + RegExpNode* on_success);
|
| + virtual RegExpBackReference* AsBackReference();
|
| + virtual bool IsBackReference();
|
| + virtual int min_match() { return 0; }
|
| + virtual int max_match() { return capture_->max_match(); }
|
| int index() { return capture_->index(); }
|
| RegExpCapture* capture() { return capture_; }
|
| private:
|
| @@ -2746,16 +2728,16 @@ class RegExpBackReference V8_FINAL : public RegExpTree {
|
| };
|
|
|
|
|
| -class RegExpEmpty V8_FINAL : public RegExpTree {
|
| +class RegExpEmpty: public RegExpTree {
|
| public:
|
| RegExpEmpty() { }
|
| - virtual void* Accept(RegExpVisitor* visitor, void* data) V8_OVERRIDE;
|
| + virtual void* Accept(RegExpVisitor* visitor, void* data);
|
| virtual RegExpNode* ToNode(RegExpCompiler* compiler,
|
| - RegExpNode* on_success) V8_OVERRIDE;
|
| - virtual RegExpEmpty* AsEmpty() V8_OVERRIDE;
|
| - virtual bool IsEmpty() V8_OVERRIDE;
|
| - virtual int min_match() V8_OVERRIDE { return 0; }
|
| - virtual int max_match() V8_OVERRIDE { return 0; }
|
| + RegExpNode* on_success);
|
| + virtual RegExpEmpty* AsEmpty();
|
| + virtual bool IsEmpty();
|
| + virtual int min_match() { return 0; }
|
| + virtual int max_match() { return 0; }
|
| static RegExpEmpty* GetInstance() {
|
| static RegExpEmpty* instance = ::new RegExpEmpty();
|
| return instance;
|
| @@ -2779,7 +2761,7 @@ inline ModuleVariable::ModuleVariable(VariableProxy* proxy)
|
| class AstVisitor BASE_EMBEDDED {
|
| public:
|
| AstVisitor() {}
|
| - virtual ~AstVisitor() {}
|
| + virtual ~AstVisitor() { }
|
|
|
| // Stack overflow check and dynamic dispatch.
|
| virtual void Visit(AstNode* node) = 0;
|
| @@ -2799,7 +2781,7 @@ class AstVisitor BASE_EMBEDDED {
|
|
|
| #define DEFINE_AST_VISITOR_SUBCLASS_MEMBERS() \
|
| public: \
|
| - virtual void Visit(AstNode* node) V8_FINAL V8_OVERRIDE { \
|
| + virtual void Visit(AstNode* node) { \
|
| if (!CheckStackOverflow()) node->Accept(this); \
|
| } \
|
| \
|
| @@ -2865,7 +2847,7 @@ class AstNullVisitor BASE_EMBEDDED {
|
| // AstNode factory
|
|
|
| template<class Visitor>
|
| -class AstNodeFactory V8_FINAL BASE_EMBEDDED {
|
| +class AstNodeFactory BASE_EMBEDDED {
|
| public:
|
| AstNodeFactory(Isolate* isolate, Zone* zone)
|
| : isolate_(isolate),
|
|
|