/** * Set type <code>e</code> as <code>type</code> * * @param e * @param type */ void setType(ECR e, ValueType type) { ECR root = findRoot(e); root.setType(type); Collection<Pair<Size, ECR>> ccjoins = ImmutableList.copyOf(root.getCCjoins()); root.clearCCjoins(ccjoins); for (Pair<Size, ECR> cjoinPair : ccjoins) ccjoin(cjoinPair.fst(), root, cjoinPair.snd()); Collection<ECR> cjoins = ImmutableList.copyOf(root.getCjoins()); root.clearCjoins(cjoins); for (ECR joinECR : cjoins) cjoin(root, joinECR); }