202 Object &globalObject()
const;
204 void initGlobalObject();
207 static void unlock();
230 bool checkSyntax(
const UString &code,
int *errLine,
UString *errMsg);
238 bool checkSyntax(
const UString &code);
263 InterpreterImp *imp();
273 Object builtinObject()
const;
278 Object builtinFunction()
const;
283 Object builtinArray()
const;
288 Object builtinBoolean()
const;
293 Object builtinString()
const;
298 Object builtinNumber()
const;
303 Object builtinDate()
const;
308 Object builtinRegExp()
const;
313 Object builtinError()
const;
318 Object builtinObjectPrototype()
const;
323 Object builtinFunctionPrototype()
const;
328 Object builtinArrayPrototype()
const;
333 Object builtinBooleanPrototype()
const;
338 Object builtinStringPrototype()
const;
343 Object builtinNumberPrototype()
const;
348 Object builtinDatePrototype()
const;
353 Object builtinRegExpPrototype()
const;
358 Object builtinErrorPrototype()
const;
363 Object builtinEvalError()
const;
364 Object builtinRangeError()
const;
365 Object builtinReferenceError()
const;
366 Object builtinSyntaxError()
const;
367 Object builtinTypeError()
const;
368 Object builtinURIError()
const;
370 Object builtinEvalErrorPrototype()
const;
371 Object builtinRangeErrorPrototype()
const;
372 Object builtinReferenceErrorPrototype()
const;
373 Object builtinSyntaxErrorPrototype()
const;
374 Object builtinTypeErrorPrototype()
const;
375 Object builtinURIErrorPrototype()
const;
377 enum CompatMode { NativeMode, IECompat, NetscapeCompat };
384 void setCompatMode(CompatMode mode);
385 CompatMode compatMode()
const;
391 static bool collect();
405 virtual int rtti() {
return 0; }
411 static void finalCheck();
430 virtual void virtual_hook(
int id,
void* data );
439 friend class InterpreterImp;
441 friend class GlobalFuncImp;
442 friend class TryNode;
443 friend class VarDeclNode;
444 friend class FuncDeclNode;
455 Interpreter *interpreter()
const {
return dynamicInterpreter(); }
463 Interpreter *lexicalInterpreter()
const;
472 void setException(
const Value &e);
473 void clearException();
474 Value exception()
const {
return _exception; }
481 static void requestTerminate() { terminate_request =
true; }
485 static bool (*confirmTerminate)();
487 ExecState(Interpreter *interp, ContextImp *con)
488 : _interpreter(interp), _context(con) { }
489 Interpreter *_interpreter;
490 ContextImp *_context;
492 static bool terminate_request;
Represents an execution context, as specified by section 10 of the ECMA spec.