Example #1
0
  /**
   * 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);
  }