/// <summary>
/// Parameterize the specified field (reuse if generic
/// parameterization isn't necessary).
/// </summary>
internal Field parameterize(Field f)
{
// if not generic, short circuit and reuse original
Type of = f.type();
if (!of.isGenericParameter())
{
return(f);
}
// create new parameterized version
of = parameterize(of);
Field pf = new Field(this, f.m_name, f.m_flags, f.m_facets, f.m_lineNum, of);
pf.m_reflect = f.m_reflect;
return(pf);
}