@Override public boolean membersKnownToContainOnlyMTypes() { Iterator<MTType> members = myMembers.iterator(); while (members.hasNext()) { MTType member = members.next(); if (!member.membersKnownToContainOnlyMTypes()) { return false; } } return true; }
@Override public int getHashCode() { int result = BASE_HASH; for (MTType t : myMembers) { result *= 45; result += t.hashCode(); } return result; }
@Override public void accept(TypeVisitor v) { acceptOpen(v); v.beginChildren(this); for (MTType t : myMembers) { t.accept(v); } v.endChildren(this); acceptClose(v); }
@Override public String toString() { StringBuffer sb = new StringBuffer(); sb.append("("); Iterator<MTType> members = myMembers.iterator(); while (members.hasNext()) { MTType member = members.next(); if (sb.length() > 1) { sb.append(" intersect "); } sb.append(member.toString()); } sb.append(")"); return sb.toString(); }