static private Op createExtend(Op op, VarExprList exprs) { // Create, copying the var-expr list VarExprList x = new VarExprList() ; x.addAll(exprs) ; return new OpExtend(op, x) ; }
static private Op createAssign(Op op, VarExprList exprs) { // Create, copying the var-expr list VarExprList x = new VarExprList() ; x.addAll(exprs) ; return new OpAssign(op, x) ; }
static private Op createExtend(Op op, VarExprList exprs) { // Create, copying the var-expr list VarExprList x = new VarExprList() ; x.addAll(exprs) ; return new OpExtend(op, x) ; }
static private Op createAssign(Op op, VarExprList exprs) { // Create, copying the var-expr list VarExprList x = new VarExprList() ; x.addAll(exprs) ; return new OpAssign(op, x) ; }
static public Op extend(Op op, VarExprList exprs) { if ( !(op instanceof OpExtend) ) return createExtend(op, exprs) ; OpExtend opExtend = (OpExtend)op ; for (Var var : exprs.getVars()) { if ( opExtend.assignments.contains(var) ) return createExtend(op, exprs) ; } opExtend.assignments.addAll(exprs) ; return opExtend ; }
static public Op assign(Op op, VarExprList exprs) { if ( !(op instanceof OpAssign) ) return createAssign(op, exprs) ; OpAssign opAssign = (OpAssign)op ; for (Var var : exprs.getVars()) { if ( opAssign.assignments.contains(var) ) return createAssign(op, exprs) ; } opAssign.assignments.addAll(exprs) ; return opAssign ; }
static public Op assign(Op op, VarExprList exprs) { if ( ! ( op instanceof OpAssign ) ) return createAssign(op, exprs) ; OpAssign opAssign = (OpAssign)op ; for ( Var var : exprs.getVars() ) { if ( opAssign.assignments.contains(var) ) return createAssign(op, exprs) ; } opAssign.assignments.addAll(exprs) ; return opAssign ; }
static public Op extend(Op op, VarExprList exprs) { if ( ! ( op instanceof OpExtend ) ) return createExtend(op, exprs) ; OpExtend opAssign = (OpExtend)op ; for ( Var var : exprs.getVars() ) { if ( opAssign.assignments.contains(var) ) return createExtend(op, exprs) ; } opAssign.assignments.addAll(exprs) ; return opAssign ; }