QVT 1.1 RTF Avatar
  1. OMG Issue

QVT11 — Page 90: Notation Section 8.2.2.4 WhileExp

  • Key: QVT11-65
  • Legacy Issue Number: 13280
  • Status: closed  
  • Source: Open Canarias, SL ( Adolfo Sanchez-Barbudo Herrera [X] (Inactive))
  • Summary:

    Problem's text: compute (x:MyClass := self.getFirstItem()) while (x<>null)

    { … }

    discussion: the compute expression's body requires the enclosing braces
    Suggestion: replace the text above by "compute (x:MyClass := self.getFirstItem()) { while (x<>null) { … }}"

    • Page 92: Semantics Section 8.2.2.4 ForExp
      Problems text:
      Collection(T)::forEach(source, iterator, condition,body) =
      do
      Unknown macro: { count }

      ;

    Collection(T)::forOne(source, iterator, condition,body) =
    forEach (i | condition)

    { body; break; }

    Discussion: It seems that ForEach and forOne expression are not correctly expressed in QVTo terms.
    Suggestion: Change the text above by:
    Collection(T)::forEach(source, iterator, condition,body) =
    do {
    count : Integer := 1;
    while (count <= source->size()) { var iterator := source->at(count); if (condition) body; count += 1; };
    };

    Collection(T)::forOne(source, iterator, condition,body) =
    forEach (iterator | condition) { body; break; }
  • Reported: QVT 1.0 — Thu, 15 Jan 2009 05:00 GMT
  • Disposition: Resolved — QVT 1.1
  • Disposition Summary:

    Yes.
    Yes.

  • Updated: Fri, 6 Mar 2015 20:58 GMT