Changeset 29059 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp
- Timestamp:
- Jan 1, 2008, 12:43:59 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.cpp
r29022 r29059 44 44 45 45 namespace KJS { 46 47 class FunctionBodyNodeWithDebuggerHooks : public FunctionBodyNode { 48 public: 49 FunctionBodyNodeWithDebuggerHooks(SourceElements*, DeclarationStacks::VarStack*, DeclarationStacks::FunctionStack*) KJS_FAST_CALL; 50 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 51 }; 46 52 47 53 #define KJS_CHECKEXCEPTION \ … … 4226 4232 } 4227 4233 4234 ProgramNode* ProgramNode::create(SourceElements* children, DeclarationStacks::VarStack* varStack, DeclarationStacks::FunctionStack* funcStack) 4235 { 4236 return new ProgramNode(children, varStack, funcStack); 4237 } 4238 4228 4239 EvalNode::EvalNode(SourceElements* children, DeclarationStacks::VarStack* varStack, DeclarationStacks::FunctionStack* funcStack) 4229 4240 : ScopeNode(children, varStack, funcStack) 4230 4241 { 4242 } 4243 4244 EvalNode* EvalNode::create(SourceElements* children, DeclarationStacks::VarStack* varStack, DeclarationStacks::FunctionStack* funcStack) 4245 { 4246 return new EvalNode(children, varStack, funcStack); 4231 4247 } 4232 4248 … … 4235 4251 , m_initialized(false) 4236 4252 { 4253 } 4254 4255 FunctionBodyNode* FunctionBodyNode::create(SourceElements* children, DeclarationStacks::VarStack* varStack, DeclarationStacks::FunctionStack* funcStack) 4256 { 4257 if (Debugger::debuggersPresent) 4258 return new FunctionBodyNodeWithDebuggerHooks(children, varStack, funcStack); 4259 return new FunctionBodyNode(children, varStack, funcStack); 4237 4260 } 4238 4261 … … 4475 4498 { 4476 4499 processDeclarations(exec); 4477 4500 return ScopeNode::execute(exec); 4501 } 4502 4503 // ------------------------------ FunctionBodyNodeWithDebuggerHooks --------------------------------- 4504 4505 FunctionBodyNodeWithDebuggerHooks::FunctionBodyNodeWithDebuggerHooks(SourceElements* children, 4506 DeclarationStacks::VarStack* varStack, DeclarationStacks::FunctionStack* funcStack) 4507 : FunctionBodyNode(children, varStack, funcStack) 4508 { 4509 } 4510 4511 JSValue* FunctionBodyNodeWithDebuggerHooks::execute(ExecState* exec) 4512 { 4478 4513 if (Debugger* dbg = exec->dynamicGlobalObject()->debugger()) { 4479 4514 if (!dbg->callEvent(exec, sourceId(), lineNo(), exec->function(), *exec->arguments())) { … … 4481 4516 return exec->setInterruptedCompletion(); 4482 4517 } 4483 } 4484 4485 JSValue* result = ScopeNode::execute(exec);4486 4518 } 4519 4520 JSValue* result = FunctionBodyNode::execute(exec); 4521 4487 4522 if (Debugger* dbg = exec->dynamicGlobalObject()->debugger()) { 4488 4523 if (exec->completionType() == Throw) … … 4494 4529 } 4495 4530 4496 4497 4531 return result; 4498 4532 }
Note:
See TracChangeset
for help on using the changeset viewer.