1 package org.simantics.scl.compiler.internal.elaboration.subsumption;
\r
3 import java.util.ArrayList;
\r
6 public class VUnion {
\r
11 public VUnion(int con, ArrayList<Var> vars) {
\r
16 public void removeVar(Var var) {
\r
17 if(vars.remove(var)) {
\r
18 var.complexLowerBounds.remove(this);
\r
23 public void addVar(Var var) {
\r
24 if(!vars.contains(var)) {
\r
26 var.complexLowerBounds.add(this);
\r
31 public void makeLowerBound(int low) {
\r
33 if(vars.size() == 1)
\r
34 vars.get(0).addLowerBound(~con);
\r
37 v.complexLowerBounds.add(this);
\r
40 public int getUpperApprox() {
\r
43 cur |= v.upperApprox;
\r
48 public String toString() {
\r
49 StringBuilder b = new StringBuilder();
\r
50 boolean first = true;
\r
62 return b.toString();
\r