blob: 2b81d1c72857dafc7ab2052a1038058523e067ec [file] [log] [blame]
-- Prior to the Bug 401953 fix: the code takes 6 seconds to parse and each extra "0 + let a = 0 in" doubles the parse time
-- POst fix the parse time is just overhead and the extra let's cost just about nothing.
0 + let a = 0 in
0 + let a = 0 in
0 + let a = 0 in
0 + let a = 0 in
0 + let a = 0 in
0 + let a = 0 in
0 + let a = 0 in
0 + let a = 0 in
enclosingOperand.combinedFragment->notEmpty() and
let parentMyInteraction : Set(MyInteraction) = enclosingOperand.combinedFragment
->closure(enclosingOperand.combinedFragment)
->collect(enclosingMyInteraction)
.oclAsType(MyInteraction)
->asSet()
in parentMyInteraction->size() = 1
and let peerMyInteractions : Set(MyInteraction) = parentMyInteraction
->union(parentMyInteraction
->collect(_'context')
->collect(behavior)
->select(oclIsKindOf(MyInteraction))
.oclAsType(MyInteraction)
->asSet())
->asSet()
in peerMyInteractions->notEmpty()
and let MyCombinedFragments1 : Set(MyCombinedFragment) = peerMyInteractions.fragment
->select(oclIsKindOf(MyCombinedFragment))
.oclAsType(MyCombinedFragment)
->asSet()
in MyCombinedFragments1->notEmpty()
and MyCombinedFragments1
->closure(operand.fragment
->select(oclIsKindOf(MyCombinedFragment))
.oclAsType(MyCombinedFragment))
->asSet()
.operand.fragment
->select(oclIsKindOf(MyContinuation))
.oclAsType(MyContinuation)
->asSet()
->forAll(c | (c.name = self.name implies c.covered
->asSet()
->forAll(cl | self.covered
->asSet()
->select((represents = cl.represents and selector = cl.selector))
->asSet()
->size() = 1)
and self.covered
->asSet()
->forAll(cl | c.covered
->asSet()
->select((represents = cl.represents and selector = cl.selector))
->asSet()
->size() = 1)))