}
}
@Override
public NType resolve(Scope s) throws Exception {
setType(new NUnknownType());
NType targetType = resolveExpr(target, s);
if (targetType.isUnionType()) {
NType ret = new NUnknownType();
for (NType tp : targetType.asUnionType().getTypes()) {
resolveAttributeOnType(tp);
ret = NUnionType.union(ret, getType());
}
setType(attr.setType(ret.follow()));
} else {
resolveAttributeOnType(targetType);
}
return getType();