aboutsummaryrefslogtreecommitdiffstats
path: root/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszka@152.66.252.189>2017-06-10 19:05:05 +0200
committerLibravatar OszkarSemerath <oszka@152.66.252.189>2017-06-10 19:05:05 +0200
commit60f01f46ba232ed6416054f0a6115cb2a9b70b4e (patch)
tree5edf8aeb07abc51f3fec63bbd15c926e1de09552 /Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend
parentInitial commit, migrating from SVN (diff)
downloadVIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.tar.gz
VIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.tar.zst
VIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.zip
Migrating Additional projects
Diffstat (limited to 'Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend')
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend33
1 files changed, 33 insertions, 0 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend
new file mode 100644
index 00000000..3073d88f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/VariableContext.xtend
@@ -0,0 +1,33 @@
1package hu.bme.mit.inf.dslreasoner.logic.model.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
4import java.util.List
5import java.util.LinkedList
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
8
9class VariableContext {
10 val extension LogiclanguageFactory language;
11 val extension LogicProblemBuilder logicProblemBuilder;
12
13 new(LogicProblemBuilder logicProblemBuilder, LogiclanguageFactory language) {
14 this.logicProblemBuilder = logicProblemBuilder
15 this.language = language
16 }
17
18 private List<Variable> variables = new LinkedList;
19 def public getVariables(){variables}
20
21
22 //def public -(TypeDescriptor type) { Variable(type) }
23 def public Variable addVar(TypeDescriptor type) {
24 return addVar(null, type);
25 }
26
27 def public Variable addVar(CharSequence variableName, TypeDescriptor type) {
28 if(variables.exists[name.equals(variableName)]) throw new IllegalArgumentException("Variable with name " + variableName +" is already defined.")
29 val variable = createVariable => [name = variableName.canonize range = type.toTypeReference]
30 variables += variable
31 return variable
32 }
33} \ No newline at end of file