private void visitSingleFieldConstraint(SingleFieldConstraintEBLeftSide sfexp) {
String genericType = sfexp.getExpressionLeftSide().getGenericType();
String factType = sfexp.getExpressionLeftSide().getPreviousClassType();
if (factType == null) {
factType = sfexp.getExpressionLeftSide().getClassType();
}
InterpolationVariable var = new InterpolationVariable(sfexp.getValue(),
genericType,
factType,
sfexp.getFieldName());
if (BaseSingleFieldConstraint.TYPE_TEMPLATE == sfexp.getConstraintValueType() && !vars.containsKey(var)) {
vars.put(var,
vars.size());
}
if (sfexp.getConnectives() != null) {
for (int i = 0; i < sfexp.getConnectives().length; i++) {
final ConnectiveConstraint cc = sfexp.getConnectives()[i];
InterpolationVariable ccVar = new InterpolationVariable(cc.getValue(),
genericType,
factType,
cc.getFieldName());
if (BaseSingleFieldConstraint.TYPE_TEMPLATE == cc.getConstraintValueType() && !vars.containsKey(ccVar)) {
vars.put(ccVar,
vars.size());
}
}
}
}