public GenericMethodRef GetGenericMethodRef (GenericArguments gen_args) { GenericMethodRef methref = null; if (gen_method_table == null) gen_method_table = new Hashtable (); else methref = (GenericMethodRef) gen_method_table [gen_args.ToString ()]; if (methref == null) { methref = new GenericMethodRef (this, GenericMethodSig.GetInstance (gen_args)); gen_method_table [gen_args.ToString ()] = methref; } return methref; }
public virtual PEAPI.Type ResolveInstance(CodeGen code_gen, GenericArguments gen_args) { PEAPI.GenericTypeInst gtri = null; string sig = gen_args.ToString(); if (p_genericinst_table == null) { p_genericinst_table = new Hashtable(); } else { gtri = p_genericinst_table [sig] as PEAPI.GenericTypeInst; } if (gtri == null) { if (!IsResolved) { Resolve(code_gen); } gtri = new PEAPI.GenericTypeInst(PeapiType, gen_args.Resolve(code_gen)); p_genericinst_table [sig] = gtri; } return(gtri); }
public static GenericMethodSig GetInstance (GenericArguments gen_args) { GenericMethodSig sig = null; if (sig_table == null) sig_table = new Hashtable (); else sig = (GenericMethodSig) sig_table [gen_args.ToString ()]; if (sig == null) { sig = new GenericMethodSig (gen_args); sig_table [gen_args.ToString ()] = sig; } return sig; }
public static GenericMethodSig GetInstance(GenericArguments gen_args) { GenericMethodSig sig = null; if (sig_table == null) { sig_table = new Hashtable(); } else { sig = (GenericMethodSig)sig_table [gen_args.ToString()]; } if (sig == null) { sig = new GenericMethodSig(gen_args); sig_table [gen_args.ToString()] = sig; } return(sig); }
public GenericMethodRef GetGenericMethodRef(GenericArguments gen_args) { GenericMethodRef methref = null; if (gen_method_table == null) { gen_method_table = new Hashtable(); } else { methref = (GenericMethodRef)gen_method_table [gen_args.ToString()]; } if (methref == null) { methref = new GenericMethodRef(this, GenericMethodSig.GetInstance(gen_args)); gen_method_table [gen_args.ToString()] = methref; } return(methref); }
public GenericTypeInst (BaseClassRef class_ref, GenericArguments gen_args, bool is_valuetypeinst, string sig_mod, ArrayList conv_list) : base ("", is_valuetypeinst, conv_list, sig_mod) { if (class_ref is GenericTypeInst) throw new InternalErrorException ("Cannot create nested GenericInst, '" + class_ref.FullName + "' '" + gen_args.ToString () + "'"); this.class_ref = class_ref; this.gen_args = gen_args; is_added = false; }
public GenericTypeInst(BaseClassRef class_ref, GenericArguments gen_args, bool is_valuetypeinst, string sig_mod, ArrayList conv_list) : base("", is_valuetypeinst, conv_list, sig_mod) { if (class_ref is GenericTypeInst) { throw new InternalErrorException("Cannot create nested GenericInst, '" + class_ref.FullName + "' '" + gen_args.ToString() + "'"); } this.class_ref = class_ref; this.gen_args = gen_args; is_added = false; }
public virtual PEAPI.Type ResolveInstance (CodeGen code_gen, GenericArguments gen_args) { PEAPI.GenericTypeInst gtri = null; string sig = gen_args.ToString (); if (p_genericinst_table == null) p_genericinst_table = new Hashtable (); else gtri = p_genericinst_table [sig] as PEAPI.GenericTypeInst; if (gtri == null) { if (!IsResolved) Resolve (code_gen); gtri = new PEAPI.GenericTypeInst (PeapiType, gen_args.Resolve (code_gen)); p_genericinst_table [sig] = gtri; } return gtri; }
public override PEAPI.Type ResolveInstance(CodeGen code_gen, GenericArguments gen_args) { Report.Error("Invalid attempt to create '" + FullName + "''" + gen_args.ToString() + "'"); return(null); }
public override GenericTypeInst GetGenericTypeInst(GenericArguments gen_args) { Report.Error("Invalid attempt to create '" + FullName + "''" + gen_args.ToString() + "'"); return(null); }
public override PEAPI.Type ResolveInstance (CodeGen code_gen, GenericArguments gen_args) { Report.Error ("Invalid attempt to create '" + FullName + "''" + gen_args.ToString () + "'"); return null; }
public override GenericTypeInst GetGenericTypeInst (GenericArguments gen_args) { Report.Error ("Invalid attempt to create '" + FullName + "''" + gen_args.ToString () + "'"); return null; }