/// <summary> /// /// </summary> /// <param name="type"></param> /// <returns></returns> public static ScriptInterpreter LoadScriptInterpreter0(string type, object self, ScriptInterpreter parent) { var Interpreters = ScriptManager.Interpreters; lock (Interpreters) { var ret = UsedCSharpScriptDefinedType(self, type); if (ret != null) { return(ret); } ScriptInterpreter typed = null; foreach (ScriptInterpreter set in Interpreters) { if (set.LoadsFileType(type)) { typed = set; if (self != null) { if (typed.IsSelf(self)) { return(set); } } } } if (typed != null) { return(typed.newInterpreter(self)); } ScanPredfinedAssemblies(); InstanceNewInterpTypes(self); return(FindOrCreate(type, self, parent)); //default var dl = new DotLispInterpreter(); dl.Self = self; return(dl); } // method: LoadScriptInterpreter }