Changeset 30871 in webkit for trunk/JavaScriptCore/kjs/nodes.h
- Timestamp:
- Mar 7, 2008, 11:46:33 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.h
r30109 r30871 43 43 namespace KJS { 44 44 45 class ArgumentsNode; 45 46 class ConstDeclNode; 46 47 class FuncDeclNode; … … 206 207 // Used to optimize those nodes that do extra work when returning a result, even if the result has no semantic relevance 207 208 virtual void optimizeForUnnecessaryResult() { } 209 210 protected: 211 typedef enum { EvalOperator, FunctionCall } CallerType; 212 template <CallerType> inline JSValue* resolveAndCall(ExecState*, const Identifier&, ArgumentsNode*); 208 213 }; 209 214 … … 681 686 }; 682 687 688 class EvalFunctionCallNode : public ExpressionNode { 689 public: 690 EvalFunctionCallNode(ArgumentsNode* args) KJS_FAST_CALL 691 : m_args(args) 692 { 693 } 694 695 virtual void optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 696 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 697 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 698 virtual Precedence precedence() const { return PrecCall; } 699 700 private: 701 RefPtr<ArgumentsNode> m_args; 702 }; 703 683 704 class FunctionCallValueNode : public ExpressionNode { 684 705 public:
Note:
See TracChangeset
for help on using the changeset viewer.