private bool ImportVariable(Obj moduleName, Obj variableName, out Obj result) { ObjModule module = GetModule(moduleName); if (module == null) { result = Obj.MakeString("Could not load module"); return(false); // Should only look up loaded modules } ObjString variable = variableName as ObjString; if (variable == null) { result = Obj.MakeString("Variable name must be a string"); return(false); } int variableEntry = module.Variables.FindIndex(v => v.Name == variable.ToString()); // It's a runtime error if the imported variable does not exist. if (variableEntry == -1) { result = Obj.MakeString(string.Format("Could not find a variable named '{0}' in module '{1}'.", variableName, moduleName)); return(false); } result = module.Variables[variableEntry].Container; return(true); }
public WrenVM() { MethodNames = new List <string>(); ObjString name = new ObjString("core"); // Implicitly create a "core" module for the built in libraries. ObjModule coreModule = new ObjModule(name); _modules = new ObjMap(); _modules.Set(Obj.Null, coreModule); CoreLibrary core = new CoreLibrary(this); core.InitializeCore(); // Load in System functions Meta.LoadLibrary(this); }
public WrenVM(Action <string> write, Action <string> error) { Write = write ?? (_ => Console.WriteLine(_)); Error = error ?? (_ => Console.Error.WriteLine(_)); MethodNames = new List <string>(); ObjString name = new ObjString("core"); // Implicitly create a "core" module for the built in libraries. ObjModule coreModule = new ObjModule(name); _modules = new ObjMap(); _modules.Set(Obj.Null, coreModule); CoreLibrary core = new CoreLibrary(this); core.InitializeCore(); // Load in System functions Meta.LoadLibrary(this); }
public RepoString(IOut outObj, ObjString objString) { OutObj = outObj; ObjString = objString; }
public async Task <IActionResult> DecodeKey([FromBody] ObjString obj) { return(Ok(obj.str.SecretKeyDecode())); }