public IRuntimeContextInstance NewObject(LoadedModule module, ExternalContextData externalContext = null) { var scriptContext = CreateUninitializedSDO(module, externalContext); InitializeSDO(scriptContext); return(scriptContext); }
private ScriptDrivenObject CreateUninitializedSDO(LoadedModule module, ExternalContextData externalContext = null) { var scriptContext = new Machine.Contexts.UserScriptContextInstance(module); scriptContext.AddProperty("ЭтотОбъект", "ThisObject", scriptContext); if (externalContext != null) { foreach (var item in externalContext) { scriptContext.AddProperty(item.Key, item.Value); } } scriptContext.InitOwnData(); return(scriptContext); }
internal IRuntimeContextInstance NewObject(LoadedModule module, ExternalContextData externalContext = null) { var scriptContext = new Machine.Contexts.UserScriptContextInstance(module, "Сценарий"); scriptContext.AddProperty("ЭтотОбъект", "ThisObject", scriptContext); if (externalContext != null) { foreach (var item in externalContext) { scriptContext.AddProperty(item.Key, item.Value); } } scriptContext.InitOwnData(); InitializeSDO(scriptContext); return(scriptContext); }
public IRuntimeContextInstance LoadScript(string path, StructureImpl externalContext = null) { var compiler = EngineInstance.GetCompilerService(); if (externalContext == null) { return(EngineInstance.AttachedScriptsFactory.LoadFromPath(compiler, path)); } else { ExternalContextData extData = new ExternalContextData(); foreach (var item in externalContext) { extData.Add(item.Key.AsString(), item.Value); } return(EngineInstance.AttachedScriptsFactory.LoadFromPath(compiler, path, extData)); } }
internal IRuntimeContextInstance NewObject(LoadedModule module, ExternalContextData externalContext = null) { var scriptContext = new Machine.Contexts.UserScriptContextInstance(module, "Сценарий"); scriptContext.AddProperty("ЭтотОбъект", scriptContext); if (externalContext != null) { foreach (var item in externalContext) { scriptContext.AddProperty(item.Key, item.Value); } } scriptContext.InitOwnData(); InitializeSDO(scriptContext); return scriptContext; }
public IRuntimeContextInstance NewObject(LoadedModuleHandle module, ExternalContextData externalContext) { return NewObject(module.Module, externalContext); }
public IRuntimeContextInstance LoadFromPath(CompilerService compiler, string path, ExternalContextData externalContext) { var code = _engine.Loader.FromFile(path); return(LoadAndCreate(compiler, code, externalContext)); }
public ScriptModuleHandle CreateModuleFromSource(CompilerService compiler, Environment.ICodeSource code, ExternalContextData externalContext) { compiler.DefineVariable("ЭтотОбъект", SymbolType.ContextProperty); if (externalContext != null) { foreach (var item in externalContext) { compiler.DefineVariable(item.Key, SymbolType.ContextProperty); } } return(compiler.CreateModule(code)); }
private IRuntimeContextInstance LoadAndCreate(CompilerService compiler, Environment.ICodeSource code, ExternalContextData externalContext) { var moduleHandle = CreateModuleFromSource(compiler, code, externalContext); var loadedHandle = _engine.LoadModuleImage(moduleHandle); return(_engine.NewObject(loadedHandle.Module, externalContext)); }
public IRuntimeContextInstance LoadFromPath(CompilerService compiler, string path, ExternalContextData externalContext) { var code = _engine.Loader.FromFile(path); return LoadAndCreate(compiler, code, externalContext); }
public ModuleImage CompileModuleFromSource(CompilerService compiler, Environment.ICodeSource code, ExternalContextData externalContext) { compiler.DefineVariable("ЭтотОбъект", "ThisObject", SymbolType.ContextProperty); foreach (var methodInfo in UserScriptContextInstance.GetOwnMethodsDefinition()) { compiler.DefineMethod(methodInfo); } if (externalContext != null) { foreach (var item in externalContext) { compiler.DefineVariable(item.Key, null, SymbolType.ContextProperty); } } return(compiler.Compile(code)); }
public ModuleImage CompileModuleFromSource(CompilerService compiler, Environment.ICodeSource code, ExternalContextData externalContext) { compiler.DefineVariable("ЭтотОбъект", "ThisObject", SymbolType.ContextProperty); if (externalContext != null) { foreach (var item in externalContext) { compiler.DefineVariable(item.Key, null, SymbolType.ContextProperty); } } return(compiler.Compile(code)); }
public ScriptModuleHandle CreateModuleFromSource(CompilerService compiler, Environment.ICodeSource code, ExternalContextData externalContext) { return(new ScriptModuleHandle() { Module = CompileModuleFromSource(compiler, code, externalContext) }); }
public IRuntimeContextInstance LoadScript(string path, StructureImpl externalContext = null) { var compiler = EngineInstance.GetCompilerService(); if(externalContext == null) return EngineInstance.AttachedScriptsFactory.LoadFromPath(compiler, path); else { ExternalContextData extData = new ExternalContextData(); foreach (var item in externalContext) { var kv = item as KeyAndValueImpl; extData.Add(kv.Key.AsString(), kv.Value); } return EngineInstance.AttachedScriptsFactory.LoadFromPath(compiler, path, extData); } }
public IRuntimeContextInstance NewObject(LoadedModuleHandle module, ExternalContextData externalContext) { return(NewObject(module.Module, externalContext)); }
public IRuntimeContextInstance LoadFromString(CompilerService compiler, string text, ExternalContextData externalContext = null) { var code = _engine.Loader.FromString(text); return(LoadAndCreate(compiler, code, externalContext)); }
private IRuntimeContextInstance LoadAndCreate(CompilerService compiler, Environment.ICodeSource code, ExternalContextData externalContext) { compiler.DefineVariable("ЭтотОбъект", SymbolType.ContextProperty); if(externalContext != null) { foreach (var item in externalContext) { compiler.DefineVariable(item.Key, SymbolType.ContextProperty); } } var moduleHandle = compiler.CreateModule(code); var loadedHandle = _engine.LoadModuleImage(moduleHandle); return _engine.NewObject(loadedHandle.Module, externalContext); }