From 6bd475a3eced9d9a912f76e24f91d2ad8da13d54 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Mon, 25 Jun 2018 00:16:48 +0200 Subject: Fixing multiple true/false + bug preventing generation without PS --- .../viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend index 2dae95be..dce04a7f 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/GenericTypeIndexer.xtend @@ -80,6 +80,11 @@ class GenericTypeIndexer extends TypeIndexer { Type.isAbstract(dynamic,false); } + + private pattern isPrimitive(element: PrimitiveElement) { + PrimitiveElement(element); + } + private pattern possibleDynamicType(problem: LogicProblem, interpretation:PartialInterpretation, dynamic:Type, element:DefinedElement) // case 1: element is defined at least once { @@ -94,6 +99,8 @@ class GenericTypeIndexer extends TypeIndexer { neg find dynamicTypeIsSubtypeOfANonDefinition(problem,interpretation,element,dynamic); // 4: T is not abstract Type.isAbstract(dynamic,false); + // 5. element is not primitive datatype + neg find isPrimitive(element); } or // case 2: element is not defined anywhere { -- cgit v1.2.3-54-g00ecf