blob: 6d6f76c429c41544ad0e06bac856a4224d576938 [file] [log] [blame]
#ifndef __JSRun_h
#define __JSRun_h
/*
JSRun.h
*/
#include "JSBase.h"
#include "JSUtils.h"
class JSInterpreter : public Interpreter {
public:
JSInterpreter(const Object &global, JSFlags flags) : Interpreter(global), fJSFlags(flags) { }
JSInterpreter(const Object &global) : Interpreter(global), fJSFlags(kJSFlagNone) { }
JSInterpreter() : Interpreter(), fJSFlags(kJSFlagNone) { }
JSInterpreter::~JSInterpreter() { }
JSFlags Flags() const { return fJSFlags; }
private:
JSFlags fJSFlags;
};
class JSRun : public JSBase {
public:
JSRun(CFStringRef source, JSFlags inFlags);
virtual ~JSRun();
UString GetSource() const;
Object GlobalObject() const;
JSInterpreter* GetInterpreter();
Completion Evaluate();
bool CheckSyntax();
JSFlags Flags() const;
private:
UString fSource;
ProtectedObject fGlobalObject;
JSInterpreter fInterpreter;
JSFlags fFlags;
};
#endif