Reviewed by Eric.
[WebKit-https.git] / JavaScriptGlue / JSRun.h
1 #ifndef JSRun_h
2 #define JSRun_h
3
4 /*
5     JSRun.h
6 */
7
8 #include "JSBase.h"
9 #include "JSUtils.h"
10
11 class JSInterpreter : public Interpreter {
12     public:
13         JSInterpreter(ObjectImp *global, JSFlags flags) : Interpreter(global), fJSFlags(flags) { }
14         JSInterpreter(ObjectImp *global) : Interpreter(global), fJSFlags(kJSFlagNone) { }
15         JSInterpreter() : Interpreter(), fJSFlags(kJSFlagNone) { }
16         JSInterpreter::~JSInterpreter() { }
17         JSFlags Flags() const { return fJSFlags; }
18     private:
19         JSFlags fJSFlags;
20 };
21
22 class JSRun : public JSBase {
23     public:
24         JSRun(CFStringRef source, JSFlags inFlags);
25         virtual ~JSRun();
26
27         UString GetSource() const;
28         ObjectImp *GlobalObject() const;
29         JSInterpreter* GetInterpreter();
30         Completion Evaluate();
31         bool CheckSyntax();
32         JSFlags Flags() const;
33     private:
34         UString fSource;
35         ProtectedPtr<ObjectImp> fGlobalObject;
36         JSInterpreter fInterpreter;
37         JSFlags fFlags;
38 };
39
40 #endif