aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszka@SEMERATH-LAPTOP>2017-08-16 17:13:22 +0200
committerLibravatar OszkarSemerath <oszka@SEMERATH-LAPTOP>2017-08-16 17:13:22 +0200
commitd1b2d628bf515f0a1772eaff7366f9c29c1b02ce (patch)
tree7bf46a1f850b3980b1d38c71a4cb3f791e81084d /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend
parentAdded separate symbolic objects to all primitive objects (diff)
downloadVIATRA-Generator-d1b2d628bf515f0a1772eaff7366f9c29c1b02ce.tar.gz
VIATRA-Generator-d1b2d628bf515f0a1772eaff7366f9c29c1b02ce.tar.zst
VIATRA-Generator-d1b2d628bf515f0a1772eaff7366f9c29c1b02ce.zip
Mapping of primitive types in patterns
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend24
1 files changed, 23 insertions, 1 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend
index 6c450664..9afec0de 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend
@@ -6,11 +6,33 @@ import org.eclipse.emf.ecore.EClass
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality 6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult 8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.StringTypeReference
9 14
10interface TypeIndexer { 15abstract class TypeIndexer {
11 public def CharSequence getRequiredQueries() 16 public def CharSequence getRequiredQueries()
12 public def boolean requiresTypeAnalysis() 17 public def boolean requiresTypeAnalysis()
13 public def CharSequence generateInstanceOfQueries(LogicProblem problem,PartialInterpretation emptySolution,TypeAnalysisResult typeAnalysisResult) 18 public def CharSequence generateInstanceOfQueries(LogicProblem problem,PartialInterpretation emptySolution,TypeAnalysisResult typeAnalysisResult)
14 public def CharSequence referInstanceOf(Type type, Modality modality, String variableName) 19 public def CharSequence referInstanceOf(Type type, Modality modality, String variableName)
15 public def CharSequence referInstanceOf(EClass type, Modality modality, String variableName) 20 public def CharSequence referInstanceOf(EClass type, Modality modality, String variableName)
21
22 public def dispatch CharSequence referInstanceOfByReference(ComplexTypeReference reference, Modality modality, String variableName) {
23 reference.referred.referInstanceOf(modality,variableName)
24 }
25 public def dispatch CharSequence referInstanceOfByReference(BoolTypeReference reference, Modality modality, String variableName) {
26 '''find instaneofBoolean(problem, interpretation, «variableName»);'''
27 }
28 public def dispatch CharSequence referInstanceOfByReference(IntTypeReference reference, Modality modality, String variableName) {
29 '''find pattern instaneofInteger(problem, interpretation, «variableName»);'''
30 }
31 public def dispatch CharSequence referInstanceOfByReference(RealTypeReference reference, Modality modality, String variableName) {
32 '''find pattern instaneofReal(problem, interpretation, «variableName»);'''
33 }
34 public def dispatch CharSequence referInstanceOfByReference(StringTypeReference reference, Modality modality, String variableName) {
35 '''find pattern instaneofString(problem, interpretation, «variableName»);'''
36 }
37
16} \ No newline at end of file 38} \ No newline at end of file