Changeset 27210 in webkit for trunk/JavaScriptCore/kjs/nodes.h
- Timestamp:
- Oct 28, 2007, 10:32:23 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.h
r27206 r27210 4 4 * Copyright (C) 2001 Peter Kelly ([email protected]) 5 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 6 * Copyright (C) 2007 Cameron Zwarich ([email protected]) 7 * Copyright (C) 2007 Maks Orlovich 6 8 * 7 9 * This library is free software; you can redistribute it and/or … … 294 296 public: 295 297 // Overwrites a ResolveNode in place. 296 LocalVarAccessNode(size_t i) 298 LocalVarAccessNode(size_t i) KJS_FAST_CALL 297 299 : ResolveNode(PlacementNewAdopt) 298 300 { … … 483 485 class FunctionCallResolveNode : public Node { 484 486 public: 485 FunctionCallResolveNode(const Identifier& i, ArgumentsNode *a) KJS_FAST_CALL : ident(i), args(a) {} 487 FunctionCallResolveNode(const Identifier& i, ArgumentsNode* a) KJS_FAST_CALL 488 : ident(i) 489 , args(a) 490 { 491 } 492 493 FunctionCallResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 494 : Node(PlacementNewAdopt) 495 , ident(PlacementNewAdopt) 496 , args(PlacementNewAdopt) 497 { 498 } 499 486 500 virtual void optimizeVariableAccess(FunctionBodyNode*, DeclarationStacks::NodeStack&) KJS_FAST_CALL; 487 501 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 488 502 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 489 503 virtual Precedence precedence() const { return PrecCall; } 490 private: 504 505 protected: 491 506 Identifier ident; 492 507 RefPtr<ArgumentsNode> args; 508 size_t index; // Used by LocalVarFunctionCallNode. 509 }; 510 511 class LocalVarFunctionCallNode : public FunctionCallResolveNode { 512 public: 513 LocalVarFunctionCallNode(size_t i) KJS_FAST_CALL 514 : FunctionCallResolveNode(PlacementNewAdopt) 515 { 516 ASSERT(i != missingSymbolMarker()); 517 index = i; 518 } 519 520 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 493 521 }; 494 522 … … 522 550 public: 523 551 PostfixResolveNode(const Identifier& i, Operator o) KJS_FAST_CALL : m_ident(i), m_oper(o) {} 552 553 PostfixResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 554 : Node(PlacementNewAdopt) 555 , m_ident(PlacementNewAdopt) 556 { 557 } 558 559 virtual void optimizeVariableAccess(FunctionBodyNode*, DeclarationStacks::NodeStack&) KJS_FAST_CALL; 524 560 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 525 561 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 526 562 virtual Precedence precedence() const { return PrecPostfix; } 527 private: 563 564 protected: 528 565 Identifier m_ident; 529 566 Operator m_oper; 567 size_t index; // Used by LocalVarPostfixNode. 568 }; 569 570 class LocalVarPostfixNode : public PostfixResolveNode { 571 public: 572 LocalVarPostfixNode(size_t i) KJS_FAST_CALL 573 : PostfixResolveNode(PlacementNewAdopt) 574 { 575 ASSERT(i != missingSymbolMarker()); 576 index = i; 577 } 578 579 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 530 580 }; 531 581 … … 570 620 public: 571 621 DeleteResolveNode(const Identifier& i) KJS_FAST_CALL : m_ident(i) {} 622 DeleteResolveNode(PlacementNewAdoptType) KJS_FAST_CALL 623 : Node(PlacementNewAdopt) 624 , m_ident(PlacementNewAdopt) 625 { 626 } 627 628 virtual void optimizeVariableAccess(FunctionBodyNode*, DeclarationStacks::NodeStack&) KJS_FAST_CALL; 572 629 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 573 630 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; … … 575 632 private: 576 633 Identifier m_ident; 634 }; 635 636 class LocalVarDeleteNode : public DeleteResolveNode { 637 public: 638 LocalVarDeleteNode() KJS_FAST_CALL 639 : DeleteResolveNode(PlacementNewAdopt) 640 { 641 } 642 643 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 577 644 }; 578 645
Note:
See TracChangeset
for help on using the changeset viewer.