public FieldSpec CreateCallSiteField (FullNamedExpression type, Location loc)
{
int index = fields == null ? 0 : fields.Count;
Field f = new HoistedField (this, type, Modifiers.PUBLIC | Modifiers.STATIC, "Site" + index.ToString ("X"), null, loc);
f.Define ();
AddField (f);
var fs = f.Spec;
if (mutator != null) {
//
// Inflate the field, no need to keep it in MemberCache as it's accessed only once
//
var inflator = new TypeParameterInflator (instance_type, spec.MemberDefinition.TypeParameters, instance_type.TypeArguments);
fs = (FieldSpec) fs.InflateMember (inflator);
}
return fs;
}