Changeset 176822 in webkit for trunk/Source/JavaScriptCore/parser/Nodes.h
- Timestamp:
- Dec 4, 2014, 3:47:49 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/Nodes.h
r176756 r176822 1467 1467 1468 1468 protected: 1469 void setSource(const SourceCode& source) { m_source = source; }1470 1469 ParserArena m_arena; 1471 1470 … … 1486 1485 class ProgramNode : public ScopeNode { 1487 1486 public: 1488 static const bool isFunctionNode = false;1489 1487 static PassRefPtr<ProgramNode> create(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned startColumn, unsigned endColumn, SourceElements*, VarStack*, FunctionStack*, IdentifierSet&, const SourceCode&, CodeFeatures, int numConstants); 1490 1488 … … 1507 1505 class EvalNode : public ScopeNode { 1508 1506 public: 1509 static const bool isFunctionNode = false;1510 1507 static PassRefPtr<EvalNode> create(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned, unsigned endColumn, SourceElements*, VarStack*, FunctionStack*, IdentifierSet&, const SourceCode&, CodeFeatures, int numConstants); 1511 1508 … … 1542 1539 }; 1543 1540 1544 class FunctionBodyNode : public S copeNode {1545 public: 1546 static const bool isFunctionNode = true;1547 static FunctionBodyNode* create(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned startColumn, unsigned endColumn, bool isStrictMode); 1548 static PassRefPtr<FunctionBodyNode> create(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned startColumn, unsigned endColumn, SourceElements*, VarStack*, FunctionStack*, IdentifierSet&, const SourceCode&, CodeFeatures, int numConstants);1541 class FunctionBodyNode : public StatementNode, public ParserArenaDeletable { 1542 public: 1543 using ParserArenaDeletable::operator new; 1544 1545 FunctionBodyNode(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned startColumn, unsigned endColumn, bool isInStrictContext); 1549 1546 1550 1547 FunctionParameters* parameters() const { return m_parameters.get(); } 1551 size_t parameterCount() const { return m_parameters->size(); }1552 1548 1553 1549 virtual void emitBytecode(BytecodeGenerator&, RegisterID* = 0) override; 1554 1550 1555 1551 void finishParsing(const SourceCode&, ParameterNode*, const Identifier&, FunctionMode); 1556 void finishParsing(PassRefPtr<FunctionParameters>, const Identifier&, FunctionMode);1557 1552 1558 1553 void overrideName(const Identifier& ident) { m_ident = ident; } … … 1570 1565 void setEndPosition(JSTextPosition); 1571 1566 1572 static const bool scopeIsFunction = true;1573 1574 private:1575 FunctionBodyNode(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned startColumn, unsigned endColumn, bool inStrictContext);1576 FunctionBodyNode(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned startColumn, unsigned endColumn, SourceElements*, VarStack*, FunctionStack*, IdentifierSet&, const SourceCode&, CodeFeatures, int numConstants); 1577 1567 const SourceCode& source() const { return m_source; } 1568 1569 int startStartOffset() const { return m_startStartOffset; } 1570 bool isInStrictContext() const { return m_isInStrictContext; } 1571 1572 protected: 1578 1573 Identifier m_ident; 1579 1574 Identifier m_inferredName; … … 1581 1576 RefPtr<FunctionParameters> m_parameters; 1582 1577 int m_functionNameStart; 1578 unsigned m_startColumn; 1579 unsigned m_endColumn; 1580 SourceCode m_source; 1581 int m_startStartOffset; 1582 bool m_isInStrictContext; 1583 }; 1584 1585 class FunctionNode : public ScopeNode { 1586 public: 1587 static PassRefPtr<FunctionNode> create(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned startColumn, unsigned endColumn, SourceElements*, VarStack*, FunctionStack*, IdentifierSet&, const SourceCode&, CodeFeatures, int numConstants); 1588 1589 FunctionParameters* parameters() const { return m_parameters.get(); } 1590 1591 virtual void emitBytecode(BytecodeGenerator&, RegisterID* = 0) override; 1592 1593 void finishParsing(PassRefPtr<FunctionParameters>, const Identifier&, FunctionMode); 1594 1595 const Identifier& ident() { return m_ident; } 1596 1597 FunctionMode functionMode() { return m_functionMode; } 1598 1599 unsigned startColumn() const { return m_startColumn; } 1600 unsigned endColumn() const { return m_endColumn; } 1601 1602 static const bool scopeIsFunction = true; 1603 1604 private: 1605 FunctionNode(ParserArena&, const JSTokenLocation& start, const JSTokenLocation& end, unsigned startColumn, unsigned endColumn, SourceElements*, VarStack*, FunctionStack*, IdentifierSet&, const SourceCode&, CodeFeatures, int numConstants); 1606 1607 Identifier m_ident; 1608 FunctionMode m_functionMode; 1609 RefPtr<FunctionParameters> m_parameters; 1583 1610 unsigned m_startColumn; 1584 1611 unsigned m_endColumn;
Note:
See TracChangeset
for help on using the changeset viewer.