else if (rootfield==null || rootfield.expr.mult()==ExprUnary.Op.EXACTLYOF)
{ x=ExprUnary.Op.NOOP.make(pos, f, null, 1); } // penalty of 1
if (x!=null) { ch.add(x); re.add("field "+f.sig.label+" <: "+f.label); }
} else if (rootfield==null || rootsig.isSameOrDescendentOf(f.sig)) {
Expr x0 = ExprUnary.Op.NOOP.make(pos, f, null, 0);
if (resolution==2 && THIS!=null && fullname.charAt(0)!='@' && f.type().firstColumnOverlaps(THIS.type())) {
ch.add(THIS.join(x0));
re.add("field "+f.sig.label+" <: this."+f.label);
if (rootsig!=null) continue;
}
ch.add(x0);