Search in sources :

Example 1 with IQuantities

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;
}
Also used : ISyntaxConstraint(org.eclipse.xtext.validation.IConcreteSyntaxConstraintProvider.ISyntaxConstraint) ArrayList(java.util.ArrayList) IQuantities(org.eclipse.xtext.validation.IAssignmentQuantityAllocator.IQuantities) IConcreteSyntaxDiagnostic(org.eclipse.xtext.validation.IConcreteSyntaxDiagnosticProvider.IConcreteSyntaxDiagnostic)

Example 2 with IQuantities

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();
}
Also used : ISyntaxConstraint(org.eclipse.xtext.validation.IConcreteSyntaxConstraintProvider.ISyntaxConstraint) IQuantities(org.eclipse.xtext.validation.IAssignmentQuantityAllocator.IQuantities)

Aggregations

IQuantities (org.eclipse.xtext.validation.IAssignmentQuantityAllocator.IQuantities)2 ISyntaxConstraint (org.eclipse.xtext.validation.IConcreteSyntaxConstraintProvider.ISyntaxConstraint)2 ArrayList (java.util.ArrayList)1 IConcreteSyntaxDiagnostic (org.eclipse.xtext.validation.IConcreteSyntaxDiagnosticProvider.IConcreteSyntaxDiagnostic)1