diff options
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/ScopePropagator.xtend')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/ScopePropagator.xtend | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/ScopePropagator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/ScopePropagator.xtend index 8f3a5bb0..8350c7f4 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/ScopePropagator.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/ScopePropagator.xtend | |||
@@ -114,21 +114,21 @@ class ScopePropagator { | |||
114 | } | 114 | } |
115 | } | 115 | } |
116 | 116 | ||
117 | def void propagateAdditionToRelation(Relation r) { | 117 | def isPropagationNeededAfterAdditionToRelation(Relation r) { |
118 | // Nothing to propagate. | 118 | false |
119 | } | 119 | } |
120 | 120 | ||
121 | private def removeOne(Scope scope) { | 121 | private def removeOne(Scope scope) { |
122 | if (scope.maxNewElements === 0) { | ||
123 | throw new IllegalArgumentException('''Inconsistent object creation: «scope.targetTypeInterpretation»''') | ||
124 | } else if (scope.maxNewElements > 0) { | ||
125 | scope.maxNewElements = scope.maxNewElements - 1 | ||
126 | } | ||
127 | if (scope.minNewElements > 0) { | 122 | if (scope.minNewElements > 0) { |
128 | scope.minNewElements = scope.minNewElements - 1 | 123 | scope.minNewElements = scope.minNewElements - 1 |
129 | } | 124 | } |
130 | if (scope.minNewElementsHeuristic > 0) { | 125 | if (scope.minNewElementsHeuristic > 0) { |
131 | scope.minNewElementsHeuristic = scope.minNewElementsHeuristic - 1 | 126 | scope.minNewElementsHeuristic = scope.minNewElementsHeuristic - 1 |
132 | } | 127 | } |
128 | if (scope.maxNewElements > 0) { | ||
129 | scope.maxNewElements = scope.maxNewElements - 1 | ||
130 | } else if (scope.maxNewElements === 0) { | ||
131 | setScopesInvalid() | ||
132 | } | ||
133 | } | 133 | } |
134 | } | 134 | } |