public static ScriptModuleHandle CompileModule(CompilerService compiler, ICodeSource src) { for (int i = 0; i < _ownProperties.Count; i++) { var currentProp = _ownProperties.GetProperty(i); compiler.DefineVariable(currentProp.Name, currentProp.Alias, SymbolType.ContextProperty); } for (int i = 0; i < _ownMethods.Count; i++) { compiler.DefineMethod(_ownMethods.GetMethodInfo(i)); } return(compiler.CreateModule(src)); }
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)); }