Changeset 27394 in webkit for trunk/JavaScriptCore/kjs/nodes.h
- Timestamp:
- Nov 3, 2007, 3:09:45 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.h
r27389 r27394 1465 1465 VarDeclNode(const Identifier &id, AssignExprNode *in, Type t) KJS_FAST_CALL; 1466 1466 virtual void optimizeVariableAccess(FunctionBodyNode*, DeclarationStacks::NodeStack&) KJS_FAST_CALL; 1467 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1467 virtual KJS::JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1468 void evaluateSingle(ExecState*) KJS_FAST_CALL; 1468 1469 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1469 1470 virtual void getDeclarations(DeclarationStacks&) KJS_FAST_CALL; 1470 1471 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 1472 PassRefPtr<VarDeclNode> releaseNext() KJS_FAST_CALL { return next.release(); } 1473 1471 1474 Type varType; 1472 1475 Identifier ident; 1473 private: 1474 JSValue* handleSlowCase(ExecState*, const ScopeChain&, JSValue*) KJS_FAST_CALL KJS_NO_INLINE; 1476 ListRefPtr<VarDeclNode> next; 1477 private: 1478 void handleSlowCase(ExecState*, const ScopeChain&, JSValue*) KJS_FAST_CALL KJS_NO_INLINE; 1475 1479 RefPtr<AssignExprNode> init; 1476 1480 }; 1477 1481 1478 class VarDeclListNode : public Node { 1479 public: 1480 VarDeclListNode(VarDeclNode* v) KJS_FAST_CALL : var(v) { m_mayHaveDeclarations = true; } 1481 VarDeclListNode(VarDeclListNode* l, VarDeclNode* v) KJS_FAST_CALL 1482 : var(v) { l->next = this; m_mayHaveDeclarations = true; } 1483 virtual void optimizeVariableAccess(FunctionBodyNode*, DeclarationStacks::NodeStack&) KJS_FAST_CALL; 1484 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1485 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1486 PassRefPtr<VarDeclListNode> releaseNext() KJS_FAST_CALL { return next.release(); } 1482 class VarStatementNode : public StatementNode { 1483 public: 1484 VarStatementNode(VarDeclNode* l) KJS_FAST_CALL : next(l) { m_mayHaveDeclarations = true; } 1485 virtual void optimizeVariableAccess(FunctionBodyNode*, DeclarationStacks::NodeStack&) KJS_FAST_CALL; 1486 virtual Completion execute(ExecState*) KJS_FAST_CALL; 1487 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1487 1488 virtual void getDeclarations(DeclarationStacks&) KJS_FAST_CALL; 1488 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 1489 private: 1490 friend class ForNode; 1491 friend class VarStatementNode; 1492 ListRefPtr<VarDeclListNode> next; 1493 RefPtr<VarDeclNode> var; 1494 }; 1495 1496 class VarStatementNode : public StatementNode { 1497 public: 1498 VarStatementNode(VarDeclListNode* l) KJS_FAST_CALL : next(l) { m_mayHaveDeclarations = true; } 1499 virtual void optimizeVariableAccess(FunctionBodyNode*, DeclarationStacks::NodeStack&) KJS_FAST_CALL; 1500 virtual Completion execute(ExecState*) KJS_FAST_CALL; 1501 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1502 virtual void getDeclarations(DeclarationStacks&) KJS_FAST_CALL; 1503 private: 1504 RefPtr<VarDeclListNode> next; 1489 private: 1490 RefPtr<VarDeclNode> next; 1505 1491 }; 1506 1492 … … 1859 1845 1860 1846 struct VarDeclList { 1861 VarDecl ListNode* head;1862 VarDecl ListNode* tail;1847 VarDeclNode* head; 1848 VarDeclNode* tail; 1863 1849 }; 1864 1850
Note:
See TracChangeset
for help on using the changeset viewer.