use of org.eclipse.xtext.validation.IConcreteSyntaxConstraintProvider.ISyntaxConstraint in project xtext-core by eclipse.
the class ConcreteSyntaxValidator method validateObject.
@Override
public boolean validateObject(EObject obj, IDiagnosticAcceptor acceptor, Map<Object, Object> context) {
if (isEObjectTransient(obj))
return true;
List<IConcreteSyntaxDiagnostic> allDiags = new ArrayList<IConcreteSyntaxDiagnostic>();
Collection<ISyntaxConstraint> rules = constraintProvider.getConstraints(obj.eClass());
if (rules.isEmpty())
// no validation if there are no rules for this EClass
return true;
for (ISyntaxConstraint rule : rules) {
// System.out.println(rule);
List<IConcreteSyntaxDiagnostic> diags = validateRule(obj, rule);
if (diags.size() == 0)
// validation succeeded
return true;
allDiags.addAll(diags);
}
for (IConcreteSyntaxDiagnostic d : allDiags) acceptor.accept(d);
return false;
}
Aggregations