diff options
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend index 16438a5a..23ea118b 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend | |||
@@ -413,9 +413,6 @@ class RefinementRuleProvider { | |||
413 | newElement.name = '''new «interpretation.newElements.size»''' | 413 | newElement.name = '''new «interpretation.newElements.size»''' |
414 | } | 414 | } |
415 | 415 | ||
416 | // Existence | ||
417 | interpretation.newElements+=newElement | ||
418 | |||
419 | // Types | 416 | // Types |
420 | typeInterpretation.elements += newElement | 417 | typeInterpretation.elements += newElement |
421 | if(typeInterpretation instanceof PartialComplexTypeInterpretation) { | 418 | if(typeInterpretation instanceof PartialComplexTypeInterpretation) { |
@@ -431,6 +428,9 @@ class RefinementRuleProvider { | |||
431 | // Scope propagation | 428 | // Scope propagation |
432 | scopePropagator.propagateAdditionToType(typeInterpretation) | 429 | scopePropagator.propagateAdditionToType(typeInterpretation) |
433 | 430 | ||
431 | // Existence | ||
432 | interpretation.newElements+=newElement | ||
433 | |||
434 | // Do recursive object creation | 434 | // Do recursive object creation |
435 | for(newConstructor : recursiceObjectCreations) { | 435 | for(newConstructor : recursiceObjectCreations) { |
436 | createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) | 436 | createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) |
@@ -454,9 +454,6 @@ class RefinementRuleProvider { | |||
454 | newElement.name = '''new «interpretation.newElements.size»''' | 454 | newElement.name = '''new «interpretation.newElements.size»''' |
455 | } | 455 | } |
456 | 456 | ||
457 | // Existence | ||
458 | interpretation.newElements+=newElement | ||
459 | |||
460 | // Types | 457 | // Types |
461 | typeInterpretation.elements += newElement | 458 | typeInterpretation.elements += newElement |
462 | if(typeInterpretation instanceof PartialComplexTypeInterpretation) { | 459 | if(typeInterpretation instanceof PartialComplexTypeInterpretation) { |
@@ -469,6 +466,9 @@ class RefinementRuleProvider { | |||
469 | // Scope propagation | 466 | // Scope propagation |
470 | scopePropagator.propagateAdditionToType(typeInterpretation) | 467 | scopePropagator.propagateAdditionToType(typeInterpretation) |
471 | 468 | ||
469 | // Existence | ||
470 | interpretation.newElements+=newElement | ||
471 | |||
472 | // Do recursive object creation | 472 | // Do recursive object creation |
473 | for(newConstructor : recursiceObjectCreations) { | 473 | for(newConstructor : recursiceObjectCreations) { |
474 | createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) | 474 | createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) |
@@ -490,9 +490,6 @@ class RefinementRuleProvider { | |||
490 | newElement.name = '''new «interpretation.newElements.size»''' | 490 | newElement.name = '''new «interpretation.newElements.size»''' |
491 | } | 491 | } |
492 | 492 | ||
493 | // Existence | ||
494 | interpretation.newElements+=newElement | ||
495 | |||
496 | // Types | 493 | // Types |
497 | typeInterpretation.elements += newElement | 494 | typeInterpretation.elements += newElement |
498 | if(typeInterpretation instanceof PartialComplexTypeInterpretation) { | 495 | if(typeInterpretation instanceof PartialComplexTypeInterpretation) { |
@@ -502,6 +499,9 @@ class RefinementRuleProvider { | |||
502 | // Scope propagation | 499 | // Scope propagation |
503 | scopePropagator.propagateAdditionToType(typeInterpretation) | 500 | scopePropagator.propagateAdditionToType(typeInterpretation) |
504 | 501 | ||
502 | // Existence | ||
503 | interpretation.newElements+=newElement | ||
504 | |||
505 | // Do recursive object creation | 505 | // Do recursive object creation |
506 | for(newConstructor : recursiceObjectCreations) { | 506 | for(newConstructor : recursiceObjectCreations) { |
507 | createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) | 507 | createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) |