void AddExternDef(string name, libtysila.Assembler.TypeToCompile ret, List <libtysila.Assembler.TypeToCompile> p, string cc) { libtysila.Signature.Method msig = new libtysila.Signature.Method { CallingConvention = libtysila.Signature.Method.CallConv.Default, ExplicitThis = false, HasThis = false, RetType = ret.tsig, GenParamCount = 0, ParamCount = p.Count, Params = new List <libtysila.Signature.Param>() }; foreach (libtysila.Assembler.TypeToCompile i in p) { msig.Params.Add(i.tsig); } libtysila.Assembler.MethodToCompile mtc = new libtysila.Assembler.MethodToCompile { _ass = ass, meth = null, msig = msig }; callconvs[name] = cc; msigs[name] = msig; }
public libtysila.Assembler.TypeToCompile? GetNextJITType() { if (req_tis.Count > 0) { libtysila.Assembler.TypeToCompile ret = req_tis[0]; req_tis.RemoveAt(0); compiled_objects.Add(ret.ToString()); return(ret); } return(null); }
public override void RequestTypeInfo(libtysila.Assembler.TypeToCompile ttc) { string mangled_name = ttc.ToString(); if (compiled_objects.Contains(mangled_name)) { return; } if (Program.IsCompiled(mangled_name)) { return; } if (req_tis.Contains(ttc)) { return; } base.RequestTypeInfo(ttc); req_tis.Add(ttc); }
libtysila.Assembler.TypeToCompile InterpretType(string module, string nspace, string name, List <libtysila.Assembler.TypeToCompile> gen_args) { libtysila.Assembler.TypeToCompile gtd_ttc = libtysila.Metadata.GetTTC(module, nspace, name, ass); return(gtd_ttc); }
public override void ExcludeTypeInfo(libtysila.Assembler.TypeToCompile ttc) { throw new NotImplementedException(); }
public override void RequestStaticFields(libtysila.Assembler.TypeToCompile ttc) { throw new NotImplementedException(); //base.RequestStaticFields(ttc); }