protected AndedParts completeKey(EqualityPart existing, PEColumn c, ConstantExpression litex) { EqualityPart np = makeNewEqualityPart(existing, c, litex); FunctionCall andEx = new FunctionCall( FunctionName.makeAnd(), (ExpressionNode) existing.getParent(), (ExpressionNode) np.getParent()); ArrayList<Part> subp = new ArrayList<Part>(); subp.add(existing); subp.add(np); return buildAndedParts(andEx, subp); }
private Part buildPart(LanguageNode parentNode, ColumnInstance ci, ConstantExpression litex) { EqualityPart sp = parent.buildEqualityPart(parentNode, ci, litex); if (parent.isComplete(sp)) { setComplete(sp); state.put(parentNode, sp); } else { AndedParts xformed = parent.maybeMakeComplete(sp); if (xformed != null) { setComplete(xformed); LanguageNode ret = xformed.getParent(); state.put(ret, xformed); return xformed; } else { state.put(sp.getParent(), sp); } } return sp; }