use of org.eclipse.xtext.validation.IAssignmentQuantityAllocator.IQuantities in project xtext-core by eclipse.
the class ConcreteSyntaxValidator method validateRule.
protected List<IConcreteSyntaxDiagnostic> validateRule(EObject obj, ISyntaxConstraint rule) {
List<IConcreteSyntaxDiagnostic> allDiags = new ArrayList<IConcreteSyntaxDiagnostic>();
Set<ISyntaxConstraint> expectedTypes = collectUnfulfilledSemanticElements(obj.eClass(), rule);
if (expectedTypes.size() > 0)
allDiags.add(diagnosticProvider.createUnexpectedTypeDiagnostic(rule, obj, expectedTypes));
if (!allDiags.isEmpty())
return allDiags;
IQuantities quantities = quantityProvider.getAssignmentQuantities(obj, rule, allDiags);
if (quantities == null || !allDiags.isEmpty())
return allDiags;
List<IConcreteSyntaxDiagnostic> diags = validateQuantities(quantities, rule);
if (diags.isEmpty())
return diags;
allDiags.addAll(diags);
return allDiags;
}
use of org.eclipse.xtext.validation.IAssignmentQuantityAllocator.IQuantities in project xtext-core by eclipse.
the class AssignmentAllocatorTest method getAllocation.
private String getAllocation(EObject object) {
ISyntaxConstraint c = constraints.getConstraints(object.eClass()).iterator().next();
IQuantities q = allocator.getAssignmentQuantities(object, c, Lists.<IConcreteSyntaxDiagnostic>newArrayList());
return q.toString();
}
Aggregations