Changeset 188355 in webkit for trunk/Source/JavaScriptCore/parser/Nodes.h
- Timestamp:
- Aug 12, 2015, 1:38:45 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/Nodes.h
r188219 r188355 50 50 class JSScope; 51 51 class ScopeNode; 52 class ModuleAnalyzer; 52 53 53 54 enum Operator { … … 1277 1278 1278 1279 void emitBytecode(BytecodeGenerator&, RegisterID* destination); 1280 void analyzeModule(ModuleAnalyzer&); 1279 1281 1280 1282 private: … … 1575 1577 void setClosedVariables(Vector<RefPtr<UniquedStringImpl>>&&) { } 1576 1578 1579 void analyzeModule(ModuleAnalyzer&); 1580 1577 1581 protected: 1578 1582 int m_startLineNumber; … … 1674 1678 }; 1675 1679 1676 class ImportDeclarationNode : public StatementNode { 1680 class ModuleDeclarationNode : public StatementNode { 1681 public: 1682 virtual void analyzeModule(ModuleAnalyzer&) = 0; 1683 1684 protected: 1685 ModuleDeclarationNode(const JSTokenLocation&); 1686 }; 1687 1688 class ImportDeclarationNode : public ModuleDeclarationNode { 1677 1689 public: 1678 1690 ImportDeclarationNode(const JSTokenLocation&, ImportSpecifierListNode*, ModuleSpecifierNode*); … … 1683 1695 private: 1684 1696 virtual void emitBytecode(BytecodeGenerator&, RegisterID* = 0) override; 1697 virtual void analyzeModule(ModuleAnalyzer&) override; 1685 1698 1686 1699 ImportSpecifierListNode* m_specifierList; … … 1688 1701 }; 1689 1702 1690 class ExportAllDeclarationNode : public StatementNode {1703 class ExportAllDeclarationNode : public ModuleDeclarationNode { 1691 1704 public: 1692 1705 ExportAllDeclarationNode(const JSTokenLocation&, ModuleSpecifierNode*); … … 1696 1709 private: 1697 1710 virtual void emitBytecode(BytecodeGenerator&, RegisterID* = 0) override; 1711 virtual void analyzeModule(ModuleAnalyzer&) override; 1712 1698 1713 ModuleSpecifierNode* m_moduleSpecifier; 1699 1714 }; 1700 1715 1701 class ExportDefaultDeclarationNode : public StatementNode {1702 public: 1703 ExportDefaultDeclarationNode(const JSTokenLocation&, StatementNode* );1716 class ExportDefaultDeclarationNode : public ModuleDeclarationNode { 1717 public: 1718 ExportDefaultDeclarationNode(const JSTokenLocation&, StatementNode*, const Identifier& localName); 1704 1719 1705 1720 const StatementNode& declaration() const { return *m_declaration; } 1706 1707 private: 1708 virtual void emitBytecode(BytecodeGenerator&, RegisterID* = 0) override; 1721 const Identifier& localName() const { return m_localName; } 1722 1723 private: 1724 virtual void emitBytecode(BytecodeGenerator&, RegisterID* = 0) override; 1725 virtual void analyzeModule(ModuleAnalyzer&) override; 1709 1726 StatementNode* m_declaration; 1710 }; 1711 1712 class ExportLocalDeclarationNode : public StatementNode { 1727 const Identifier& m_localName; 1728 }; 1729 1730 class ExportLocalDeclarationNode : public ModuleDeclarationNode { 1713 1731 public: 1714 1732 ExportLocalDeclarationNode(const JSTokenLocation&, StatementNode*); … … 1718 1736 private: 1719 1737 virtual void emitBytecode(BytecodeGenerator&, RegisterID* = 0) override; 1738 virtual void analyzeModule(ModuleAnalyzer&) override; 1720 1739 StatementNode* m_declaration; 1721 1740 }; … … 1747 1766 }; 1748 1767 1749 class ExportNamedDeclarationNode : public StatementNode {1768 class ExportNamedDeclarationNode : public ModuleDeclarationNode { 1750 1769 public: 1751 1770 ExportNamedDeclarationNode(const JSTokenLocation&, ExportSpecifierListNode*, ModuleSpecifierNode*); … … 1756 1775 private: 1757 1776 virtual void emitBytecode(BytecodeGenerator&, RegisterID* = 0) override; 1777 virtual void analyzeModule(ModuleAnalyzer&) override; 1758 1778 ExportSpecifierListNode* m_specifierList; 1759 1779 ModuleSpecifierNode* m_moduleSpecifier { nullptr };
Note:
See TracChangeset
for help on using the changeset viewer.