diff options
author | OszkarSemerath <oszka@SEMERATH-LAPTOP> | 2017-08-16 17:13:22 +0200 |
---|---|---|
committer | OszkarSemerath <oszka@SEMERATH-LAPTOP> | 2017-08-16 17:13:22 +0200 |
commit | d1b2d628bf515f0a1772eaff7366f9c29c1b02ce (patch) | |
tree | 7bf46a1f850b3980b1d38c71a4cb3f791e81084d /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexer.xtend | |
parent | Added separate symbolic objects to all primitive objects (diff) | |
download | VIATRA-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.xtend | 24 |
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 | |||
6 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality | 6 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality |
7 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation | 7 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation |
8 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult | 8 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult |
9 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference | ||
10 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference | ||
11 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference | ||
12 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference | ||
13 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.StringTypeReference | ||
9 | 14 | ||
10 | interface TypeIndexer { | 15 | abstract 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 |