diff options
Diffstat (limited to 'Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill')
37 files changed, 5184 insertions, 110 deletions
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.xtend index 86c9092a..1559ee3f 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.xtend +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.xtend | |||
@@ -4,11 +4,11 @@ import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver | |||
4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration | 4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration |
5 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory | 5 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory |
6 | import functionalarchitecture.Function | 6 | import functionalarchitecture.Function |
7 | import functionalarchitecture.FunctionalInterface | ||
8 | import functionalarchitecture.FunctionalOutput | ||
7 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic | 9 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic |
8 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration | 10 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration |
9 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace | ||
10 | import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor | 11 | import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor |
11 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel | ||
12 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner | 12 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner |
13 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type | 13 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type |
14 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult | 14 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult |
@@ -30,8 +30,7 @@ import org.eclipse.emf.ecore.EReference | |||
30 | import org.eclipse.emf.ecore.resource.Resource | 30 | import org.eclipse.emf.ecore.resource.Resource |
31 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl | 31 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl |
32 | import org.eclipse.viatra.query.runtime.api.IQueryGroup | 32 | import org.eclipse.viatra.query.runtime.api.IQueryGroup |
33 | import org.eclipse.emf.ecore.EClassifier | 33 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel |
34 | import functionalarchitecture.FunctionalOutput | ||
35 | 34 | ||
36 | class GeneralTest { | 35 | class GeneralTest { |
37 | def static String createAndSolveProblem(EcoreMetamodelDescriptor metamodel, List<EObject> partialModel, | 36 | def static String createAndSolveProblem(EcoreMetamodelDescriptor metamodel, List<EObject> partialModel, |
@@ -67,7 +66,7 @@ class GeneralTest { | |||
67 | list2MapMin.get(Function.simpleName) | 66 | list2MapMin.get(Function.simpleName) |
68 | ), 1) | 67 | ), 1) |
69 | typeMapMin.put(ecore2Logic.TypeofEClass(modelGenerationProblem.trace, | 68 | typeMapMin.put(ecore2Logic.TypeofEClass(modelGenerationProblem.trace, |
70 | list2MapMin.get(functionalarchitecture.FunctionalInterface.simpleName) | 69 | list2MapMin.get(FunctionalInterface.simpleName) |
71 | ), 2) | 70 | ), 2) |
72 | typeMapMin.put(ecore2Logic.TypeofEClass(modelGenerationProblem.trace, | 71 | typeMapMin.put(ecore2Logic.TypeofEClass(modelGenerationProblem.trace, |
73 | list2MapMin.get(FunctionalOutput.simpleName) | 72 | list2MapMin.get(FunctionalOutput.simpleName) |
@@ -80,7 +79,7 @@ class GeneralTest { | |||
80 | ), 5) | 79 | ), 5) |
81 | typeMapMax.put(ecore2Logic.TypeofEClass( | 80 | typeMapMax.put(ecore2Logic.TypeofEClass( |
82 | modelGenerationProblem.trace, | 81 | modelGenerationProblem.trace, |
83 | list2MapMax.get(functionalarchitecture.FunctionalInterface.simpleName) | 82 | list2MapMax.get(FunctionalInterface.simpleName) |
84 | ), 2) | 83 | ), 2) |
85 | typeMapMax.put(ecore2Logic.TypeofEClass( | 84 | typeMapMax.put(ecore2Logic.TypeofEClass( |
86 | modelGenerationProblem.trace, | 85 | modelGenerationProblem.trace, |
@@ -92,7 +91,7 @@ class GeneralTest { | |||
92 | // add configuration things, in config file first | 91 | // add configuration things, in config file first |
93 | it.documentationLevel = DocumentationLevel::FULL | 92 | it.documentationLevel = DocumentationLevel::FULL |
94 | it.typeScopes.minNewElements = 6 | 93 | it.typeScopes.minNewElements = 6 |
95 | it.typeScopes.maxNewElements = 8 | 94 | it.typeScopes.maxNewElements = 40 |
96 | it.typeScopes.minNewElementsByType = typeMapMin | 95 | it.typeScopes.minNewElementsByType = typeMapMin |
97 | it.typeScopes.maxNewElementsByType = typeMapMax | 96 | it.typeScopes.maxNewElementsByType = typeMapMax |
98 | ] | 97 | ] |
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTestAlloy.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTestAlloy.xtend new file mode 100644 index 00000000..b0af3f64 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTestAlloy.xtend | |||
@@ -0,0 +1,190 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.icse | ||
2 | |||
3 | import ca.mcgill.ecse.dslreasoner.vampire.queries.Patterns | ||
4 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage | ||
5 | import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolver | ||
6 | import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration | ||
7 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic | ||
8 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration | ||
9 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel | ||
10 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry | ||
11 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult | ||
12 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry | ||
13 | import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore | ||
14 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic | ||
15 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2LogicConfiguration | ||
16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic | ||
17 | import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace | ||
18 | import java.io.PrintWriter | ||
19 | import java.text.SimpleDateFormat | ||
20 | import java.util.Date | ||
21 | import org.eclipse.emf.ecore.resource.Resource | ||
22 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl | ||
23 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ModelResultImpl | ||
24 | |||
25 | class YakinduTestAlloy { | ||
26 | def static void main(String[] args) { | ||
27 | val Ecore2Logic ecore2Logic = new Ecore2Logic | ||
28 | val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic) | ||
29 | val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic) | ||
30 | val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic | ||
31 | |||
32 | // Workspace setup | ||
33 | val Date date = new Date(System.currentTimeMillis) | ||
34 | val SimpleDateFormat format = new SimpleDateFormat("dd-HHmm"); | ||
35 | val formattedDate = format.format(date) | ||
36 | |||
37 | val inputs = new FileSystemWorkspace('''initialModels/''', "") | ||
38 | val dataWorkspace = new FileSystemWorkspace('''output/YakinduTest/''', "") | ||
39 | val workspace = new FileSystemWorkspace('''output/YakinduTest/''' + formattedDate + '''/''', "") | ||
40 | workspace.initAndClear | ||
41 | |||
42 | // Logicproblem writing setup | ||
43 | val reg = Resource.Factory.Registry.INSTANCE | ||
44 | val map = reg.extensionToFactoryMap | ||
45 | map.put("logicproblem", new XMIResourceFactoryImpl) | ||
46 | |||
47 | println("Input and output workspaces are created") | ||
48 | |||
49 | val metamodel = GeneralTest.loadMetamodel(YakindummPackage.eINSTANCE) | ||
50 | val partialModel = GeneralTest.loadPartialModel(inputs, "yakindu/Yakindu.xmi") | ||
51 | val queries = GeneralTest.loadQueries(metamodel, Patterns.instance) | ||
52 | // val metamodel = GeneralTest.loadMetamodel(FunctionalarchitecturePackage.eINSTANCE) | ||
53 | // val partialModel = GeneralTest.loadPartialModel(inputs, "FAM/FaModel.xmi") | ||
54 | // val queries = GeneralTest.loadQueries(metamodel, FamPatterns.instance) | ||
55 | // val queries = null | ||
56 | println("DSL loaded") | ||
57 | |||
58 | var SZ_TOP = 100 | ||
59 | var SZ_BOT = 100 | ||
60 | var INC = 20 | ||
61 | var REPS = 25 | ||
62 | |||
63 | val RUNTIME = 300 | ||
64 | |||
65 | var solverTimes = newArrayList | ||
66 | var transformationTimes = newArrayList | ||
67 | var LogicResult solution = null | ||
68 | var solver = "Alloy" | ||
69 | |||
70 | for (var k = 0; k < 1; k++) { | ||
71 | |||
72 | for (var i = SZ_BOT; i <= SZ_TOP; i += INC) { | ||
73 | var writer = new PrintWriter( | ||
74 | dataWorkspace.workspaceURI + "//_alloy" + i + "x" + REPS + "-" + formattedDate + ".csv") | ||
75 | writer.append("solver,size,TransformatonTime,sat?,kodkodTime,model?,modelTime\n") | ||
76 | |||
77 | val num = (i - SZ_BOT) / INC | ||
78 | println() | ||
79 | println("SOLVER: " + solver + ", SIZE=" + i) | ||
80 | println() | ||
81 | |||
82 | solverTimes.clear | ||
83 | transformationTimes.clear | ||
84 | for (var j = 0; j < REPS; j++) { | ||
85 | val Date date2 = new Date(System.currentTimeMillis) | ||
86 | val formattedDate2 = format.format(date2) | ||
87 | println(formattedDate2) | ||
88 | println("<<Run number " + j + ">> :") | ||
89 | |||
90 | val modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel, | ||
91 | new Ecore2LogicConfiguration()) | ||
92 | var modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem, partialModel) | ||
93 | var validModelExtensionProblem = viatra2Logic.transformQueries(queries, modelExtensionProblem, | ||
94 | new Viatra2LogicConfiguration) | ||
95 | |||
96 | var problem = modelGenerationProblem.output | ||
97 | // workspace.writeModel(problem, "Yakindu.logicproblem") | ||
98 | // println("Problem created") | ||
99 | // Start Time | ||
100 | var startTime = System.currentTimeMillis | ||
101 | |||
102 | var AlloySolver reasoner | ||
103 | // * | ||
104 | reasoner = new AlloySolver | ||
105 | |||
106 | // ///////////////////////////////////////////////////// | ||
107 | // Define Config File | ||
108 | val size = i | ||
109 | val inc = INC | ||
110 | val iter = j | ||
111 | val solverConfig = new AlloySolverConfiguration => [ | ||
112 | // add configuration things, in config file first | ||
113 | it.documentationLevel = DocumentationLevel::FULL | ||
114 | // it.iteration = iter | ||
115 | it.runtimeLimit = RUNTIME | ||
116 | // it.typeScopes.maxNewElements = size | ||
117 | it.typeScopes.minNewElements = size | ||
118 | it.typeScopes.maxNewElements = size | ||
119 | ] | ||
120 | solution = reasoner.solve(problem, solverConfig, workspace) | ||
121 | // print((solution as ModelResult).representation.get(0)) | ||
122 | // val soln = ((solution as ModelResult).representation.get(0) as VampireModel) | ||
123 | // println(soln.confirmations) | ||
124 | // println((solution as ModelResult).representation) | ||
125 | // modelFound = !soln.confirmations.filter [ | ||
126 | // class == VLSFiniteModelImpl | ||
127 | // ].isEmpty | ||
128 | // ADD TO CSV | ||
129 | writer.append(solver + ",") | ||
130 | writer.append(size + ",") | ||
131 | writer.append(solution.statistics.transformationTime / 1000.0 + ",") | ||
132 | |||
133 | // val satOut = (solution.statistics.entries.filter[name == "satOut"].get(0) as StringStatisticEntry). | ||
134 | // value | ||
135 | val kodKodTime = (solution.statistics.entries.filter[name == "Alloy2KodKodTransformationTime"]. | ||
136 | get(0) as IntStatisticEntry).value | ||
137 | // print(solution.class) | ||
138 | val modOut = if(solution.class == ModelResultImpl) "FiniteModel" else "no" | ||
139 | val mod = solution.statistics.entries.filter[name == "Answer0Time"] | ||
140 | var modTime = 0.0 | ||
141 | if (!mod.isEmpty) { | ||
142 | modTime = (mod.get(0) as IntStatisticEntry).value / 1000.0 | ||
143 | |||
144 | } | ||
145 | writer.append("-,") | ||
146 | writer.append(kodKodTime.toString + ",") | ||
147 | writer.append(modOut + ",") | ||
148 | writer.append(modTime.toString + "") | ||
149 | writer.append("\n") | ||
150 | |||
151 | println("->" + modOut + " ... " + modTime) | ||
152 | |||
153 | // Run Garbage Collector | ||
154 | val Runtime r = Runtime.getRuntime(); | ||
155 | r.gc(); | ||
156 | r.gc(); | ||
157 | r.gc(); | ||
158 | Thread.sleep(3000) | ||
159 | |||
160 | // print("(" + tTime + "/" + sTime + "s)..") | ||
161 | // solverTimes.add(sTime) | ||
162 | // transformationTimes.add(tTime) | ||
163 | // } else { | ||
164 | // writer.append("MNF" + ",") | ||
165 | //// print("MNF") | ||
166 | // } | ||
167 | // println("Problem solved") | ||
168 | // visualisation, see | ||
169 | // var interpretations = reasoner.getInterpretations(solution as ModelResult) | ||
170 | // for (interpretation : interpretations) { | ||
171 | // val model = logic2Ecore.transformInterpretation(interpretation, modelGenerationProblem.trace) | ||
172 | // workspace.writeModel(model, "model.xmi") | ||
173 | // } | ||
174 | // var totalTimeMin = (System.currentTimeMillis - startTime) / 60000 | ||
175 | // var totalTimeSec = ((System.currentTimeMillis - startTime) / 1000) % 60 | ||
176 | // println("Problem solved") | ||
177 | // println("Time was: " + totalTimeMin + ":" + totalTimeSec) | ||
178 | } | ||
179 | // println() | ||
180 | // var solverMed = solverTimes.sort.get(REPS / 2) | ||
181 | // var transformationMed = transformationTimes.sort.get(REPS / 2) | ||
182 | // writer.append(solverMed.toString + "," + transformationMed.toString) | ||
183 | writer.close | ||
184 | } | ||
185 | |||
186 | } | ||
187 | |||
188 | } | ||
189 | |||
190 | } | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTestViatra.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTestViatra.xtend new file mode 100644 index 00000000..dbc90e97 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTestViatra.xtend | |||
@@ -0,0 +1,182 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.icse | ||
2 | |||
3 | import ca.mcgill.ecse.dslreasoner.vampire.queries.Patterns | ||
4 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage | ||
5 | import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolver | ||
6 | import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration | ||
7 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic | ||
8 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration | ||
9 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel | ||
10 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.IntStatisticEntry | ||
11 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult | ||
12 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry | ||
13 | import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore | ||
14 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic | ||
15 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2LogicConfiguration | ||
16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic | ||
17 | import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace | ||
18 | import java.io.PrintWriter | ||
19 | import java.text.SimpleDateFormat | ||
20 | import java.util.Date | ||
21 | import org.eclipse.emf.ecore.resource.Resource | ||
22 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl | ||
23 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.impl.ModelResultImpl | ||
24 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner | ||
25 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration | ||
26 | |||
27 | class YakinduTestViatra { | ||
28 | def static void main(String[] args) { | ||
29 | val Ecore2Logic ecore2Logic = new Ecore2Logic | ||
30 | val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic) | ||
31 | val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic) | ||
32 | val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic | ||
33 | |||
34 | // Workspace setup | ||
35 | val Date date = new Date(System.currentTimeMillis) | ||
36 | val SimpleDateFormat format = new SimpleDateFormat("dd-HHmm"); | ||
37 | val formattedDate = format.format(date) | ||
38 | |||
39 | val inputs = new FileSystemWorkspace('''initialModels/''', "") | ||
40 | val dataWorkspace = new FileSystemWorkspace('''output/YakinduTest/''', "") | ||
41 | val workspace = new FileSystemWorkspace('''output/YakinduTest/''' + formattedDate + '''/''', "") | ||
42 | workspace.initAndClear | ||
43 | |||
44 | // Logicproblem writing setup | ||
45 | val reg = Resource.Factory.Registry.INSTANCE | ||
46 | val map = reg.extensionToFactoryMap | ||
47 | map.put("logicproblem", new XMIResourceFactoryImpl) | ||
48 | |||
49 | println("Input and output workspaces are created") | ||
50 | |||
51 | val metamodel = GeneralTest.loadMetamodel(YakindummPackage.eINSTANCE) | ||
52 | val partialModel = GeneralTest.loadPartialModel(inputs, "yakindu/Yakindu.xmi") | ||
53 | val queries = GeneralTest.loadQueries(metamodel, Patterns.instance) | ||
54 | // val metamodel = GeneralTest.loadMetamodel(FunctionalarchitecturePackage.eINSTANCE) | ||
55 | // val partialModel = GeneralTest.loadPartialModel(inputs, "FAM/FaModel.xmi") | ||
56 | // val queries = GeneralTest.loadQueries(metamodel, FamPatterns.instance) | ||
57 | // val queries = null | ||
58 | println("DSL loaded") | ||
59 | |||
60 | var SZ_TOP = 20 | ||
61 | var SZ_BOT = 20 | ||
62 | var INC = 20 | ||
63 | var REPS = 5 | ||
64 | |||
65 | val RUNTIME = 300 | ||
66 | |||
67 | var solverTimes = newArrayList | ||
68 | var transformationTimes = newArrayList | ||
69 | var LogicResult solution = null | ||
70 | var solver = "Viatra" | ||
71 | var index = 2 | ||
72 | |||
73 | for (var i = SZ_BOT; i <= SZ_TOP; i += INC*index) { | ||
74 | index*=2 | ||
75 | var writer = new PrintWriter( | ||
76 | dataWorkspace.workspaceURI + "//_viatra" + i + "x" + REPS + "-" + formattedDate + ".csv") | ||
77 | writer.append("solver,size,TransformatonTime,sat?,kodkodTime,model?,modelTime\n") | ||
78 | |||
79 | val num = (i - SZ_BOT) / INC | ||
80 | println() | ||
81 | println("SOLVER: " + solver + ", SIZE=" + i) | ||
82 | println() | ||
83 | |||
84 | solverTimes.clear | ||
85 | transformationTimes.clear | ||
86 | for (var j = 0; j < REPS; j++) { | ||
87 | |||
88 | println("<<Run number " + j + ">> :") | ||
89 | |||
90 | val modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel, new Ecore2LogicConfiguration()) | ||
91 | var modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem, partialModel) | ||
92 | var validModelExtensionProblem = viatra2Logic.transformQueries(queries, modelExtensionProblem, | ||
93 | new Viatra2LogicConfiguration) | ||
94 | |||
95 | var problem = modelGenerationProblem.output | ||
96 | workspace.writeModel(problem, "Yakindu.logicproblem") | ||
97 | // println("Problem created") | ||
98 | // Start Time | ||
99 | var startTime = System.currentTimeMillis | ||
100 | |||
101 | var ViatraReasoner reasoner | ||
102 | // * | ||
103 | reasoner = new ViatraReasoner | ||
104 | |||
105 | // ///////////////////////////////////////////////////// | ||
106 | // Define Config File | ||
107 | val size = i | ||
108 | val inc = INC | ||
109 | val iter = j | ||
110 | val solverConfig = new ViatraReasonerConfiguration => [ | ||
111 | // add configuration things, in config file first | ||
112 | // it.documentationLevel = DocumentationLevel::FULL | ||
113 | // it.iteration = iter | ||
114 | it.runtimeLimit = RUNTIME | ||
115 | it.typeScopes.maxNewElements = size | ||
116 | it.typeScopes.minNewElements = size | ||
117 | ] | ||
118 | |||
119 | solution = reasoner.solve(problem, solverConfig, workspace) | ||
120 | // print((solution as ModelResult).representation.get(0)) | ||
121 | // val soln = ((solution as ModelResult).representation.get(0) as VampireModel) | ||
122 | // println(soln.confirmations) | ||
123 | // println((solution as ModelResult).representation) | ||
124 | // modelFound = !soln.confirmations.filter [ | ||
125 | // class == VLSFiniteModelImpl | ||
126 | // ].isEmpty | ||
127 | // ADD TO CSV | ||
128 | writer.append(solver + ",") | ||
129 | writer.append(size + ",") | ||
130 | writer.append(solution.statistics.transformationTime / 1000.0 + ",") | ||
131 | |||
132 | // val satOut = (solution.statistics.entries.filter[name == "satOut"].get(0) as StringStatisticEntry). | ||
133 | // value | ||
134 | val modOut = if(solution.class == ModelResultImpl) "FiniteModel" else "no" | ||
135 | // val modTime = (solution.statistics.entries.filter[name.contains("Answer")]. | ||
136 | // get(0) as StringStatisticEntry).value | ||
137 | val modTime = solution.statistics.solverTime / 1000.0 | ||
138 | |||
139 | writer.append("-,") | ||
140 | writer.append("-,") | ||
141 | writer.append(modOut + ",") | ||
142 | writer.append(modTime.toString + "") | ||
143 | writer.append("\n") | ||
144 | |||
145 | println("->" + modOut + " ... " + modTime) | ||
146 | |||
147 | // Run Garbage Collector | ||
148 | val Runtime r = Runtime.getRuntime(); | ||
149 | r.gc(); | ||
150 | r.gc(); | ||
151 | r.gc(); | ||
152 | Thread.sleep(3000) | ||
153 | |||
154 | // print("(" + tTime + "/" + sTime + "s)..") | ||
155 | // solverTimes.add(sTime) | ||
156 | // transformationTimes.add(tTime) | ||
157 | // } else { | ||
158 | // writer.append("MNF" + ",") | ||
159 | //// print("MNF") | ||
160 | // } | ||
161 | // println("Problem solved") | ||
162 | // visualisation, see | ||
163 | // var interpretations = reasoner.getInterpretations(solution as ModelResult) | ||
164 | // for (interpretation : interpretations) { | ||
165 | // val model = logic2Ecore.transformInterpretation(interpretation, modelGenerationProblem.trace) | ||
166 | // workspace.writeModel(model, "model.xmi") | ||
167 | // } | ||
168 | // var totalTimeMin = (System.currentTimeMillis - startTime) / 60000 | ||
169 | // var totalTimeSec = ((System.currentTimeMillis - startTime) / 1000) % 60 | ||
170 | // println("Problem solved") | ||
171 | // println("Time was: " + totalTimeMin + ":" + totalTimeSec) | ||
172 | } | ||
173 | // println() | ||
174 | // var solverMed = solverTimes.sort.get(REPS / 2) | ||
175 | // var transformationMed = transformationTimes.sort.get(REPS / 2) | ||
176 | // writer.append(solverMed.toString + "," + transformationMed.toString) | ||
177 | writer.close | ||
178 | } | ||
179 | |||
180 | } | ||
181 | |||
182 | } | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/tester.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/tester.xtend new file mode 100644 index 00000000..2bf0c4cc --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/tester.xtend | |||
@@ -0,0 +1,35 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.icse | ||
2 | |||
3 | import java.io.BufferedReader | ||
4 | import java.io.FileInputStream | ||
5 | import java.io.InputStream | ||
6 | import java.io.InputStreamReader | ||
7 | |||
8 | class tester { | ||
9 | def static void main(String[] args) { | ||
10 | val InputStream is = new FileInputStream("C://Users//Aren Babikian//git//VIATRA-Generator//Tests//ca.mcgill.ecse.dslreasoner.vampire.test//src//ca//mcgill//ecse//dslreasoner//vampire//icse//90-110Z3.txt"); | ||
11 | val BufferedReader buf = new BufferedReader(new InputStreamReader(is)); | ||
12 | var String line = buf.readLine(); | ||
13 | val StringBuilder sb = new StringBuilder(); | ||
14 | while (line != null) { | ||
15 | sb.append(line); | ||
16 | line = buf.readLine(); | ||
17 | } | ||
18 | val String str = sb.toString(); | ||
19 | |||
20 | val satArray = str.split("Model") | ||
21 | |||
22 | val satTimes = newArrayList | ||
23 | |||
24 | for(sat : satArray.subList(1, satArray.length)) { | ||
25 | satTimes.add(sat.substring(2, 8)) | ||
26 | } | ||
27 | |||
28 | for(t : satTimes) { | ||
29 | println(t) | ||
30 | } | ||
31 | |||
32 | |||
33 | |||
34 | } | ||
35 | } | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icseTests/FAMTest.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icseTests/FAMTest.xtend deleted file mode 100644 index a8b4dcfb..00000000 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icseTests/FAMTest.xtend +++ /dev/null | |||
@@ -1,103 +0,0 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.test | ||
2 | |||
3 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver | ||
4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration | ||
5 | import functionalarchitecture.FunctionalarchitecturePackage | ||
6 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic | ||
7 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration | ||
8 | import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor | ||
9 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner | ||
10 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult | ||
11 | import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore | ||
12 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic | ||
13 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic | ||
14 | import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace | ||
15 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace | ||
16 | import java.util.List | ||
17 | import org.eclipse.emf.ecore.EAttribute | ||
18 | import org.eclipse.emf.ecore.EClass | ||
19 | import org.eclipse.emf.ecore.EEnum | ||
20 | import org.eclipse.emf.ecore.EEnumLiteral | ||
21 | import org.eclipse.emf.ecore.EObject | ||
22 | import org.eclipse.emf.ecore.EReference | ||
23 | import org.eclipse.emf.ecore.resource.Resource | ||
24 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl | ||
25 | |||
26 | class DslTest { | ||
27 | def static void main(String[] args) { | ||
28 | val inputs = new FileSystemWorkspace('''initialModels/''', "") | ||
29 | val workspace = new FileSystemWorkspace('''outputDslModels/''', "") | ||
30 | workspace.initAndClear | ||
31 | |||
32 | println("Input and output workspaces are created") | ||
33 | |||
34 | val metamodel = loadMetamodel() | ||
35 | val partialModel = loadPartialModel(inputs) | ||
36 | // val queries = loadQueries(metamodel) | ||
37 | |||
38 | println("DSL loaded") | ||
39 | |||
40 | val Ecore2Logic ecore2Logic = new Ecore2Logic | ||
41 | val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic) | ||
42 | val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic) | ||
43 | val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic | ||
44 | |||
45 | val modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel,new Ecore2LogicConfiguration()) | ||
46 | // val modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem,partialModel) | ||
47 | // val validModelExtensionProblem = viatra2Logic.transformQueries(queries,modelGenerationProblem,new Viatra2LogicConfiguration) | ||
48 | |||
49 | val logicProblem = modelGenerationProblem.output | ||
50 | // val logicProblem = modelExtensionProblem.output | ||
51 | // val logicProblem = validModelExtensionProblem.output | ||
52 | |||
53 | |||
54 | println("Problem created") | ||
55 | |||
56 | var LogicResult solution | ||
57 | var LogicReasoner reasoner | ||
58 | //* | ||
59 | reasoner = new VampireSolver | ||
60 | val vampireConfig = new VampireSolverConfiguration => [ | ||
61 | //add configuration things, in config file first | ||
62 | it.writeToFile = false | ||
63 | ] | ||
64 | |||
65 | solution = reasoner.solve(logicProblem, vampireConfig, workspace) | ||
66 | |||
67 | println("Problem solved") | ||
68 | |||
69 | |||
70 | } | ||
71 | |||
72 | def private static loadMetamodel() { | ||
73 | //FAM | ||
74 | val pckg = FunctionalarchitecturePackage.eINSTANCE | ||
75 | val List<EClass> classes = pckg.EClassifiers.filter(EClass).toList | ||
76 | val List<EEnum> enums = pckg.EClassifiers.filter(EEnum).toList | ||
77 | val List<EEnumLiteral> literals = enums.map[getELiterals].flatten.toList | ||
78 | val List<EReference> references = classes.map[getEReferences].flatten.toList | ||
79 | val List<EAttribute> attributes = classes.map[getEAttributes].flatten.toList | ||
80 | return new EcoreMetamodelDescriptor(classes,#{},false,enums,literals,references,attributes) | ||
81 | } | ||
82 | |||
83 | def private static loadPartialModel(ReasonerWorkspace inputs) { | ||
84 | Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl()); | ||
85 | inputs.readModel(EObject,"FunctionalArchitectureModel.xmi").eResource.allContents.toList | ||
86 | // inputs.readModel(EObject,"FAM.xmi").eResource.allContents.toList | ||
87 | } | ||
88 | |||
89 | // def private static loadQueries(EcoreMetamodelDescriptor metamodel) { | ||
90 | // val i = hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern.instance | ||
91 | // val patterns = i.specifications.toList | ||
92 | // val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet | ||
93 | // val derivedFeatures = new LinkedHashMap | ||
94 | // derivedFeatures.put(i.type,metamodel.attributes.filter[it.name == "type"].head) | ||
95 | // derivedFeatures.put(i.model,metamodel.references.filter[it.name == "model"].head) | ||
96 | // val res = new ViatraQuerySetDescriptor( | ||
97 | // patterns, | ||
98 | // wfPatterns, | ||
99 | // derivedFeatures | ||
100 | // ) | ||
101 | // return res | ||
102 | // } | ||
103 | } | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/queries/YakinduPatterns.txt b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/queries/YakinduPatterns.txt new file mode 100644 index 00000000..8c2b9033 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/queries/YakinduPatterns.txt | |||
@@ -0,0 +1,227 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.queries | ||
2 | |||
3 | import epackage | ||
4 | |||
5 | ///////// | ||
6 | // Entry | ||
7 | ///////// | ||
8 | |||
9 | pattern entryInRegion(r1 : Region, e1 : Entry) { | ||
10 | Region.vertices(r1, e1); | ||
11 | } | ||
12 | |||
13 | @Constraint(severity="error", message="error", key = {r1}) | ||
14 | pattern noEntryInRegion(r1 : Region) { | ||
15 | neg find entryInRegion(r1, _); | ||
16 | } | ||
17 | |||
18 | @Constraint(severity="error", message="error", key = {r}) | ||
19 | pattern multipleEntryInRegion(r : Region) { | ||
20 | find entryInRegion(r, e1); | ||
21 | find entryInRegion(r, e2); | ||
22 | e1 != e2; | ||
23 | } | ||
24 | |||
25 | pattern transition(t : Transition, src : Vertex, trg : Vertex) { | ||
26 | Transition.source(t, src); | ||
27 | Transition.target(t, trg); | ||
28 | } | ||
29 | |||
30 | @Constraint(severity="error", message="error", key = {e}) | ||
31 | pattern incomingToEntry(t : Transition, e : Entry) { | ||
32 | find transition(t, _, e); | ||
33 | } | ||
34 | |||
35 | @Constraint(severity="error", message="error", key = {e}) | ||
36 | pattern noOutgoingTransitionFromEntry(e : Entry) { | ||
37 | neg find transition(_, e, _); | ||
38 | } | ||
39 | |||
40 | @Constraint(severity="error", message="error", key = {e}) | ||
41 | pattern multipleTransitionFromEntry(e : Entry, t1 : Transition, t2: Transition) { | ||
42 | Entry.outgoingTransitions(e,t1); | ||
43 | Entry.outgoingTransitions(e,t2); | ||
44 | t1!=t2; | ||
45 | } | ||
46 | |||
47 | ///////// | ||
48 | // Exit | ||
49 | ///////// | ||
50 | |||
51 | @Constraint(severity="error", message="error", key = {e}) | ||
52 | pattern outgoingFromExit(t : Transition, e : Exit) { | ||
53 | Exit.outgoingTransitions(e,t); | ||
54 | } | ||
55 | |||
56 | ///////// | ||
57 | // Final | ||
58 | ///////// | ||
59 | |||
60 | @Constraint(severity="error", message="error", key = {f}) | ||
61 | pattern outgoingFromFinal(t : Transition, f : FinalState) { | ||
62 | FinalState.outgoingTransitions(f,t); | ||
63 | } | ||
64 | |||
65 | ///////// | ||
66 | // State vs Region | ||
67 | ///////// | ||
68 | |||
69 | @Constraint(severity="error", message="error", key = {region}) | ||
70 | pattern noStateInRegion(region: Region) { | ||
71 | neg find StateInRegion(region,_); | ||
72 | } | ||
73 | pattern StateInRegion(region: Region, state: State) { | ||
74 | Region.vertices(region,state); | ||
75 | } | ||
76 | |||
77 | ///////// | ||
78 | // Choice | ||
79 | ///////// | ||
80 | |||
81 | @Constraint(severity="error", message="error", key = {c}) | ||
82 | pattern choiceHasNoOutgoing(c : Choice) { | ||
83 | neg find transition(_, c, _); | ||
84 | } | ||
85 | |||
86 | @Constraint(severity="error", message="error", key = {c}) | ||
87 | pattern choiceHasNoIncoming(c: Choice) { | ||
88 | neg find transition(_, _, c); | ||
89 | } | ||
90 | |||
91 | /////////// | ||
92 | //// Synchronization | ||
93 | /////////// | ||
94 | // | ||
95 | //@Constraint(severity="error", message="error", key = {s}) | ||
96 | //pattern synchHasNoOutgoing(s : Synchronization) { | ||
97 | // neg find transition(_, s, _); | ||
98 | //} | ||
99 | // | ||
100 | //@Constraint(severity="error", message="error", key = {s}) | ||
101 | //pattern synchHasNoIncoming(s : Synchronization) { | ||
102 | // neg find transition(_, _, s); | ||
103 | //} | ||
104 | // | ||
105 | //@Constraint(severity="error", message="error", key = {s}) | ||
106 | //pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Vertex) { | ||
107 | // find transition(t1, v1, s); | ||
108 | // find transition(t2, v2, s); | ||
109 | // t1!=t2; | ||
110 | // Region.vertices(r, v1); | ||
111 | // Region.vertices(r, v2); | ||
112 | //} or { | ||
113 | // find transition(t1, s, v1); | ||
114 | // find transition(t2, s, v2); | ||
115 | // t1!=t2; | ||
116 | // Region.vertices(r, v1); | ||
117 | // Region.vertices(r, v2); | ||
118 | //} | ||
119 | // | ||
120 | //@Constraint(severity="error", message="error", key = {s}) | ||
121 | //pattern notSynchronizingStates(s : Synchronization) { | ||
122 | // neg find hasMultipleOutgoingTrainsition(s); | ||
123 | // neg find hasMultipleIncomingTrainsition(s); | ||
124 | //} | ||
125 | // | ||
126 | //pattern hasMultipleOutgoingTrainsition(v : Synchronization) { | ||
127 | // find transition(_, v, trg1); | ||
128 | // find transition(_, v, trg2); | ||
129 | // trg1 != trg2; | ||
130 | //} | ||
131 | // | ||
132 | //pattern hasMultipleIncomingTrainsition(v : Synchronization) { | ||
133 | // find transition(_, src1, v); | ||
134 | // find transition(_, src2, v); | ||
135 | // src1 != src2; | ||
136 | //} | ||
137 | // | ||
138 | //@Constraint(severity="error", message="error", key = {s}) | ||
139 | //pattern SynchronizedRegionsAreNotSiblings(s : Synchronization, v1 : Vertex, v2 : Vertex) { | ||
140 | // find transition(_, v1, s); | ||
141 | // find transition(_, v2, s); | ||
142 | // CompositeElement.regions.vertices(r1, v1); | ||
143 | // CompositeElement.regions.vertices(r2, v2); | ||
144 | // r1 != r2; | ||
145 | //} or { | ||
146 | // find transition(_, s, v1); | ||
147 | // find transition(_, s, v2); | ||
148 | // CompositeElement.regions.vertices(r1, v1); | ||
149 | // CompositeElement.regions.vertices(r2, v2); | ||
150 | // r1 != r2; | ||
151 | //} | ||
152 | |||
153 | /////////////////////////////// | ||
154 | // Extra | ||
155 | // | ||
156 | //@Constraint(severity="error", message="error", key = {s}) | ||
157 | //pattern SynchronizedRegionDoesNotHaveParent(s : Synchronization, v : Vertex) { | ||
158 | // find transition(_, v, s); | ||
159 | // neg find child(_,v); | ||
160 | //} or { | ||
161 | // find transition(_, s, v); | ||
162 | // neg find child(_,v); | ||
163 | //} | ||
164 | |||
165 | pattern child(parent: CompositeElement, child: Vertex) { | ||
166 | CompositeElement.regions.vertices(parent, child); | ||
167 | } | ||
168 | |||
169 | @Constraint(severity="error", message="error", key = {s}) | ||
170 | pattern SynchronizedRegionDoesNotHaveMultipleRegions(s : Synchronization, v : Vertex) { | ||
171 | find transition(_, v, s); | ||
172 | find child(c,v); | ||
173 | neg find hasMultipleRegions(c); | ||
174 | } or { | ||
175 | find transition(_, s, v); | ||
176 | find child(c,v); | ||
177 | neg find hasMultipleRegions(c); | ||
178 | } | ||
179 | |||
180 | |||
181 | pattern hasMultipleRegions(composite: CompositeElement) { | ||
182 | CompositeElement.regions(composite,region1); | ||
183 | CompositeElement.regions(composite,region2); | ||
184 | region1 != region2; | ||
185 | } | ||
186 | |||
187 | /** | ||
188 | * Simplifying model generation | ||
189 | */ | ||
190 | @Constraint(severity="error", message="error", key = {s}) | ||
191 | pattern synchThree(s: Synchronization) { | ||
192 | Transition.target(t1,s); | ||
193 | Transition.target(t2,s); | ||
194 | Transition.target(t3,s); | ||
195 | t1!=t2; | ||
196 | t2!=t3; | ||
197 | t1!=t3; | ||
198 | } or { | ||
199 | Transition.source(t1,s); | ||
200 | Transition.source(t2,s); | ||
201 | Transition.source(t3,s); | ||
202 | t1!=t2; | ||
203 | t2!=t3; | ||
204 | t1!=t3; | ||
205 | } | ||
206 | |||
207 | /** | ||
208 | * Simplifying model generation | ||
209 | */ | ||
210 | @Constraint(severity="error", message="error", key = {s1,s2}) | ||
211 | pattern twoSynch(s1 : Synchronization, s2 : Synchronization) { | ||
212 | Synchronization(s1); | ||
213 | Synchronization(s2); | ||
214 | s1 != s2; | ||
215 | } | ||
216 | |||
217 | /** | ||
218 | * Model generation task: at least one synch | ||
219 | */ | ||
220 | //@Constraint(severity="error", message="error", key = {s}) | ||
221 | //pattern noSynch(s:Statechart) { | ||
222 | // Statechart(s); | ||
223 | // neg find synch(_); | ||
224 | //} | ||
225 | //pattern synch(s:Synchronization) { | ||
226 | // Synchronization(s); | ||
227 | //} \ No newline at end of file | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Choice.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Choice.java new file mode 100644 index 00000000..8cd339c5 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Choice.java | |||
@@ -0,0 +1,17 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Choice</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * | ||
12 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getChoice() | ||
13 | * @model | ||
14 | * @generated | ||
15 | */ | ||
16 | public interface Choice extends Pseudostate { | ||
17 | } // Choice | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/CompositeElement.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/CompositeElement.java new file mode 100644 index 00000000..cf2949d8 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/CompositeElement.java | |||
@@ -0,0 +1,42 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | import org.eclipse.emf.common.util.EList; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | |||
9 | /** | ||
10 | * <!-- begin-user-doc --> | ||
11 | * A representation of the model object '<em><b>Composite Element</b></em>'. | ||
12 | * <!-- end-user-doc --> | ||
13 | * | ||
14 | * <p> | ||
15 | * The following features are supported: | ||
16 | * </p> | ||
17 | * <ul> | ||
18 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement#getRegions <em>Regions</em>}</li> | ||
19 | * </ul> | ||
20 | * | ||
21 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getCompositeElement() | ||
22 | * @model abstract="true" | ||
23 | * @generated | ||
24 | */ | ||
25 | public interface CompositeElement extends EObject { | ||
26 | /** | ||
27 | * Returns the value of the '<em><b>Regions</b></em>' containment reference list. | ||
28 | * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region}. | ||
29 | * <!-- begin-user-doc --> | ||
30 | * <p> | ||
31 | * If the meaning of the '<em>Regions</em>' containment reference list isn't clear, | ||
32 | * there really should be more of a description here... | ||
33 | * </p> | ||
34 | * <!-- end-user-doc --> | ||
35 | * @return the value of the '<em>Regions</em>' containment reference list. | ||
36 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getCompositeElement_Regions() | ||
37 | * @model containment="true" | ||
38 | * @generated | ||
39 | */ | ||
40 | EList<Region> getRegions(); | ||
41 | |||
42 | } // CompositeElement | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Entry.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Entry.java new file mode 100644 index 00000000..57ecb460 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Entry.java | |||
@@ -0,0 +1,52 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Entry</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * <p> | ||
12 | * The following features are supported: | ||
13 | * </p> | ||
14 | * <ul> | ||
15 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry#getType <em>Type</em>}</li> | ||
16 | * </ul> | ||
17 | * | ||
18 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getEntry() | ||
19 | * @model | ||
20 | * @generated | ||
21 | */ | ||
22 | public interface Entry extends Pseudostate { | ||
23 | /** | ||
24 | * Returns the value of the '<em><b>Type</b></em>' attribute. | ||
25 | * The literals are from the enumeration {@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType}. | ||
26 | * <!-- begin-user-doc --> | ||
27 | * <p> | ||
28 | * If the meaning of the '<em>Type</em>' attribute isn't clear, | ||
29 | * there really should be more of a description here... | ||
30 | * </p> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @return the value of the '<em>Type</em>' attribute. | ||
33 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType | ||
34 | * @see #setType(EntryType) | ||
35 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getEntry_Type() | ||
36 | * @model required="true" | ||
37 | * @generated | ||
38 | */ | ||
39 | EntryType getType(); | ||
40 | |||
41 | /** | ||
42 | * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry#getType <em>Type</em>}' attribute. | ||
43 | * <!-- begin-user-doc --> | ||
44 | * <!-- end-user-doc --> | ||
45 | * @param value the new value of the '<em>Type</em>' attribute. | ||
46 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType | ||
47 | * @see #getType() | ||
48 | * @generated | ||
49 | */ | ||
50 | void setType(EntryType value); | ||
51 | |||
52 | } // Entry | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/EntryType.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/EntryType.java new file mode 100644 index 00000000..40072da6 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/EntryType.java | |||
@@ -0,0 +1,239 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | import java.util.Arrays; | ||
6 | import java.util.Collections; | ||
7 | import java.util.List; | ||
8 | |||
9 | import org.eclipse.emf.common.util.Enumerator; | ||
10 | |||
11 | /** | ||
12 | * <!-- begin-user-doc --> | ||
13 | * A representation of the literals of the enumeration '<em><b>Entry Type</b></em>', | ||
14 | * and utility methods for working with them. | ||
15 | * <!-- end-user-doc --> | ||
16 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getEntryType() | ||
17 | * @model | ||
18 | * @generated | ||
19 | */ | ||
20 | public enum EntryType implements Enumerator { | ||
21 | /** | ||
22 | * The '<em><b>Normal</b></em>' literal object. | ||
23 | * <!-- begin-user-doc --> | ||
24 | * <!-- end-user-doc --> | ||
25 | * @see #NORMAL_VALUE | ||
26 | * @generated | ||
27 | * @ordered | ||
28 | */ | ||
29 | NORMAL(0, "Normal", "Normal"), | ||
30 | |||
31 | /** | ||
32 | * The '<em><b>History</b></em>' literal object. | ||
33 | * <!-- begin-user-doc --> | ||
34 | * <!-- end-user-doc --> | ||
35 | * @see #HISTORY_VALUE | ||
36 | * @generated | ||
37 | * @ordered | ||
38 | */ | ||
39 | HISTORY(0, "History", "History"), | ||
40 | |||
41 | /** | ||
42 | * The '<em><b>Deep History</b></em>' literal object. | ||
43 | * <!-- begin-user-doc --> | ||
44 | * <!-- end-user-doc --> | ||
45 | * @see #DEEP_HISTORY_VALUE | ||
46 | * @generated | ||
47 | * @ordered | ||
48 | */ | ||
49 | DEEP_HISTORY(0, "DeepHistory", "DeepHistory"); | ||
50 | |||
51 | /** | ||
52 | * The '<em><b>Normal</b></em>' literal value. | ||
53 | * <!-- begin-user-doc --> | ||
54 | * <p> | ||
55 | * If the meaning of '<em><b>Normal</b></em>' literal object isn't clear, | ||
56 | * there really should be more of a description here... | ||
57 | * </p> | ||
58 | * <!-- end-user-doc --> | ||
59 | * @see #NORMAL | ||
60 | * @model name="Normal" | ||
61 | * @generated | ||
62 | * @ordered | ||
63 | */ | ||
64 | public static final int NORMAL_VALUE = 0; | ||
65 | |||
66 | /** | ||
67 | * The '<em><b>History</b></em>' literal value. | ||
68 | * <!-- begin-user-doc --> | ||
69 | * <p> | ||
70 | * If the meaning of '<em><b>History</b></em>' literal object isn't clear, | ||
71 | * there really should be more of a description here... | ||
72 | * </p> | ||
73 | * <!-- end-user-doc --> | ||
74 | * @see #HISTORY | ||
75 | * @model name="History" | ||
76 | * @generated | ||
77 | * @ordered | ||
78 | */ | ||
79 | public static final int HISTORY_VALUE = 0; | ||
80 | |||
81 | /** | ||
82 | * The '<em><b>Deep History</b></em>' literal value. | ||
83 | * <!-- begin-user-doc --> | ||
84 | * <p> | ||
85 | * If the meaning of '<em><b>Deep History</b></em>' literal object isn't clear, | ||
86 | * there really should be more of a description here... | ||
87 | * </p> | ||
88 | * <!-- end-user-doc --> | ||
89 | * @see #DEEP_HISTORY | ||
90 | * @model name="DeepHistory" | ||
91 | * @generated | ||
92 | * @ordered | ||
93 | */ | ||
94 | public static final int DEEP_HISTORY_VALUE = 0; | ||
95 | |||
96 | /** | ||
97 | * An array of all the '<em><b>Entry Type</b></em>' enumerators. | ||
98 | * <!-- begin-user-doc --> | ||
99 | * <!-- end-user-doc --> | ||
100 | * @generated | ||
101 | */ | ||
102 | private static final EntryType[] VALUES_ARRAY = | ||
103 | new EntryType[] { | ||
104 | NORMAL, | ||
105 | HISTORY, | ||
106 | DEEP_HISTORY, | ||
107 | }; | ||
108 | |||
109 | /** | ||
110 | * A public read-only list of all the '<em><b>Entry Type</b></em>' enumerators. | ||
111 | * <!-- begin-user-doc --> | ||
112 | * <!-- end-user-doc --> | ||
113 | * @generated | ||
114 | */ | ||
115 | public static final List<EntryType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); | ||
116 | |||
117 | /** | ||
118 | * Returns the '<em><b>Entry Type</b></em>' literal with the specified literal value. | ||
119 | * <!-- begin-user-doc --> | ||
120 | * <!-- end-user-doc --> | ||
121 | * @param literal the literal. | ||
122 | * @return the matching enumerator or <code>null</code>. | ||
123 | * @generated | ||
124 | */ | ||
125 | public static EntryType get(String literal) { | ||
126 | for (int i = 0; i < VALUES_ARRAY.length; ++i) { | ||
127 | EntryType result = VALUES_ARRAY[i]; | ||
128 | if (result.toString().equals(literal)) { | ||
129 | return result; | ||
130 | } | ||
131 | } | ||
132 | return null; | ||
133 | } | ||
134 | |||
135 | /** | ||
136 | * Returns the '<em><b>Entry Type</b></em>' literal with the specified name. | ||
137 | * <!-- begin-user-doc --> | ||
138 | * <!-- end-user-doc --> | ||
139 | * @param name the name. | ||
140 | * @return the matching enumerator or <code>null</code>. | ||
141 | * @generated | ||
142 | */ | ||
143 | public static EntryType getByName(String name) { | ||
144 | for (int i = 0; i < VALUES_ARRAY.length; ++i) { | ||
145 | EntryType result = VALUES_ARRAY[i]; | ||
146 | if (result.getName().equals(name)) { | ||
147 | return result; | ||
148 | } | ||
149 | } | ||
150 | return null; | ||
151 | } | ||
152 | |||
153 | /** | ||
154 | * Returns the '<em><b>Entry Type</b></em>' literal with the specified integer value. | ||
155 | * <!-- begin-user-doc --> | ||
156 | * <!-- end-user-doc --> | ||
157 | * @param value the integer value. | ||
158 | * @return the matching enumerator or <code>null</code>. | ||
159 | * @generated | ||
160 | */ | ||
161 | public static EntryType get(int value) { | ||
162 | switch (value) { | ||
163 | case NORMAL_VALUE: return NORMAL; | ||
164 | } | ||
165 | return null; | ||
166 | } | ||
167 | |||
168 | /** | ||
169 | * <!-- begin-user-doc --> | ||
170 | * <!-- end-user-doc --> | ||
171 | * @generated | ||
172 | */ | ||
173 | private final int value; | ||
174 | |||
175 | /** | ||
176 | * <!-- begin-user-doc --> | ||
177 | * <!-- end-user-doc --> | ||
178 | * @generated | ||
179 | */ | ||
180 | private final String name; | ||
181 | |||
182 | /** | ||
183 | * <!-- begin-user-doc --> | ||
184 | * <!-- end-user-doc --> | ||
185 | * @generated | ||
186 | */ | ||
187 | private final String literal; | ||
188 | |||
189 | /** | ||
190 | * Only this class can construct instances. | ||
191 | * <!-- begin-user-doc --> | ||
192 | * <!-- end-user-doc --> | ||
193 | * @generated | ||
194 | */ | ||
195 | private EntryType(int value, String name, String literal) { | ||
196 | this.value = value; | ||
197 | this.name = name; | ||
198 | this.literal = literal; | ||
199 | } | ||
200 | |||
201 | /** | ||
202 | * <!-- begin-user-doc --> | ||
203 | * <!-- end-user-doc --> | ||
204 | * @generated | ||
205 | */ | ||
206 | public int getValue() { | ||
207 | return value; | ||
208 | } | ||
209 | |||
210 | /** | ||
211 | * <!-- begin-user-doc --> | ||
212 | * <!-- end-user-doc --> | ||
213 | * @generated | ||
214 | */ | ||
215 | public String getName() { | ||
216 | return name; | ||
217 | } | ||
218 | |||
219 | /** | ||
220 | * <!-- begin-user-doc --> | ||
221 | * <!-- end-user-doc --> | ||
222 | * @generated | ||
223 | */ | ||
224 | public String getLiteral() { | ||
225 | return literal; | ||
226 | } | ||
227 | |||
228 | /** | ||
229 | * Returns the literal value of the enumerator, which is its string representation. | ||
230 | * <!-- begin-user-doc --> | ||
231 | * <!-- end-user-doc --> | ||
232 | * @generated | ||
233 | */ | ||
234 | @Override | ||
235 | public String toString() { | ||
236 | return literal; | ||
237 | } | ||
238 | |||
239 | } //EntryType | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Exit.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Exit.java new file mode 100644 index 00000000..961a2aec --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Exit.java | |||
@@ -0,0 +1,17 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Exit</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * | ||
12 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getExit() | ||
13 | * @model | ||
14 | * @generated | ||
15 | */ | ||
16 | public interface Exit extends Pseudostate { | ||
17 | } // Exit | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/FinalState.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/FinalState.java new file mode 100644 index 00000000..bcc20dfd --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/FinalState.java | |||
@@ -0,0 +1,17 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Final State</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * | ||
12 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getFinalState() | ||
13 | * @model | ||
14 | * @generated | ||
15 | */ | ||
16 | public interface FinalState extends RegularState { | ||
17 | } // FinalState | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Pseudostate.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Pseudostate.java new file mode 100644 index 00000000..f938d5b3 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Pseudostate.java | |||
@@ -0,0 +1,17 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Pseudostate</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * | ||
12 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getPseudostate() | ||
13 | * @model abstract="true" | ||
14 | * @generated | ||
15 | */ | ||
16 | public interface Pseudostate extends Vertex { | ||
17 | } // Pseudostate | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Region.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Region.java new file mode 100644 index 00000000..ce361dce --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Region.java | |||
@@ -0,0 +1,42 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | import org.eclipse.emf.common.util.EList; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | |||
9 | /** | ||
10 | * <!-- begin-user-doc --> | ||
11 | * A representation of the model object '<em><b>Region</b></em>'. | ||
12 | * <!-- end-user-doc --> | ||
13 | * | ||
14 | * <p> | ||
15 | * The following features are supported: | ||
16 | * </p> | ||
17 | * <ul> | ||
18 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region#getVertices <em>Vertices</em>}</li> | ||
19 | * </ul> | ||
20 | * | ||
21 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getRegion() | ||
22 | * @model | ||
23 | * @generated | ||
24 | */ | ||
25 | public interface Region extends EObject { | ||
26 | /** | ||
27 | * Returns the value of the '<em><b>Vertices</b></em>' containment reference list. | ||
28 | * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex}. | ||
29 | * <!-- begin-user-doc --> | ||
30 | * <p> | ||
31 | * If the meaning of the '<em>Vertices</em>' containment reference list isn't clear, | ||
32 | * there really should be more of a description here... | ||
33 | * </p> | ||
34 | * <!-- end-user-doc --> | ||
35 | * @return the value of the '<em>Vertices</em>' containment reference list. | ||
36 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getRegion_Vertices() | ||
37 | * @model containment="true" ordered="false" | ||
38 | * @generated | ||
39 | */ | ||
40 | EList<Vertex> getVertices(); | ||
41 | |||
42 | } // Region | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/RegularState.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/RegularState.java new file mode 100644 index 00000000..e5b552cd --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/RegularState.java | |||
@@ -0,0 +1,17 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Regular State</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * | ||
12 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getRegularState() | ||
13 | * @model abstract="true" | ||
14 | * @generated | ||
15 | */ | ||
16 | public interface RegularState extends Vertex { | ||
17 | } // RegularState | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/State.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/State.java new file mode 100644 index 00000000..2cee971c --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/State.java | |||
@@ -0,0 +1,17 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>State</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * | ||
12 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getState() | ||
13 | * @model | ||
14 | * @generated | ||
15 | */ | ||
16 | public interface State extends RegularState, CompositeElement { | ||
17 | } // State | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Statechart.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Statechart.java new file mode 100644 index 00000000..4d32fd53 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Statechart.java | |||
@@ -0,0 +1,17 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Statechart</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * | ||
12 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getStatechart() | ||
13 | * @model | ||
14 | * @generated | ||
15 | */ | ||
16 | public interface Statechart extends CompositeElement { | ||
17 | } // Statechart | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Transition.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Transition.java new file mode 100644 index 00000000..0518bfdb --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Transition.java | |||
@@ -0,0 +1,81 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | import org.eclipse.emf.ecore.EObject; | ||
6 | |||
7 | /** | ||
8 | * <!-- begin-user-doc --> | ||
9 | * A representation of the model object '<em><b>Transition</b></em>'. | ||
10 | * <!-- end-user-doc --> | ||
11 | * | ||
12 | * <p> | ||
13 | * The following features are supported: | ||
14 | * </p> | ||
15 | * <ul> | ||
16 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getTarget <em>Target</em>}</li> | ||
17 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getSource <em>Source</em>}</li> | ||
18 | * </ul> | ||
19 | * | ||
20 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getTransition() | ||
21 | * @model | ||
22 | * @generated | ||
23 | */ | ||
24 | public interface Transition extends EObject { | ||
25 | /** | ||
26 | * Returns the value of the '<em><b>Target</b></em>' reference. | ||
27 | * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}'. | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <p> | ||
30 | * If the meaning of the '<em>Target</em>' reference isn't clear, | ||
31 | * there really should be more of a description here... | ||
32 | * </p> | ||
33 | * <!-- end-user-doc --> | ||
34 | * @return the value of the '<em>Target</em>' reference. | ||
35 | * @see #setTarget(Vertex) | ||
36 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getTransition_Target() | ||
37 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getIncomingTransitions | ||
38 | * @model opposite="incomingTransitions" required="true" ordered="false" | ||
39 | * @generated | ||
40 | */ | ||
41 | Vertex getTarget(); | ||
42 | |||
43 | /** | ||
44 | * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getTarget <em>Target</em>}' reference. | ||
45 | * <!-- begin-user-doc --> | ||
46 | * <!-- end-user-doc --> | ||
47 | * @param value the new value of the '<em>Target</em>' reference. | ||
48 | * @see #getTarget() | ||
49 | * @generated | ||
50 | */ | ||
51 | void setTarget(Vertex value); | ||
52 | |||
53 | /** | ||
54 | * Returns the value of the '<em><b>Source</b></em>' container reference. | ||
55 | * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}'. | ||
56 | * <!-- begin-user-doc --> | ||
57 | * <p> | ||
58 | * If the meaning of the '<em>Source</em>' container reference isn't clear, | ||
59 | * there really should be more of a description here... | ||
60 | * </p> | ||
61 | * <!-- end-user-doc --> | ||
62 | * @return the value of the '<em>Source</em>' container reference. | ||
63 | * @see #setSource(Vertex) | ||
64 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getTransition_Source() | ||
65 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getOutgoingTransitions | ||
66 | * @model opposite="outgoingTransitions" transient="false" ordered="false" | ||
67 | * @generated | ||
68 | */ | ||
69 | Vertex getSource(); | ||
70 | |||
71 | /** | ||
72 | * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getSource <em>Source</em>}' container reference. | ||
73 | * <!-- begin-user-doc --> | ||
74 | * <!-- end-user-doc --> | ||
75 | * @param value the new value of the '<em>Source</em>' container reference. | ||
76 | * @see #getSource() | ||
77 | * @generated | ||
78 | */ | ||
79 | void setSource(Vertex value); | ||
80 | |||
81 | } // Transition | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Vertex.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Vertex.java new file mode 100644 index 00000000..43db469b --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/Vertex.java | |||
@@ -0,0 +1,63 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | import org.eclipse.emf.common.util.EList; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | |||
9 | /** | ||
10 | * <!-- begin-user-doc --> | ||
11 | * A representation of the model object '<em><b>Vertex</b></em>'. | ||
12 | * <!-- end-user-doc --> | ||
13 | * | ||
14 | * <p> | ||
15 | * The following features are supported: | ||
16 | * </p> | ||
17 | * <ul> | ||
18 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}</li> | ||
19 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}</li> | ||
20 | * </ul> | ||
21 | * | ||
22 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getVertex() | ||
23 | * @model abstract="true" | ||
24 | * @generated | ||
25 | */ | ||
26 | public interface Vertex extends EObject { | ||
27 | /** | ||
28 | * Returns the value of the '<em><b>Incoming Transitions</b></em>' reference list. | ||
29 | * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition}. | ||
30 | * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getTarget <em>Target</em>}'. | ||
31 | * <!-- begin-user-doc --> | ||
32 | * <p> | ||
33 | * If the meaning of the '<em>Incoming Transitions</em>' reference list isn't clear, | ||
34 | * there really should be more of a description here... | ||
35 | * </p> | ||
36 | * <!-- end-user-doc --> | ||
37 | * @return the value of the '<em>Incoming Transitions</em>' reference list. | ||
38 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getVertex_IncomingTransitions() | ||
39 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getTarget | ||
40 | * @model opposite="target" ordered="false" | ||
41 | * @generated | ||
42 | */ | ||
43 | EList<Transition> getIncomingTransitions(); | ||
44 | |||
45 | /** | ||
46 | * Returns the value of the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
47 | * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition}. | ||
48 | * It is bidirectional and its opposite is '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getSource <em>Source</em>}'. | ||
49 | * <!-- begin-user-doc --> | ||
50 | * <p> | ||
51 | * If the meaning of the '<em>Outgoing Transitions</em>' containment reference list isn't clear, | ||
52 | * there really should be more of a description here... | ||
53 | * </p> | ||
54 | * <!-- end-user-doc --> | ||
55 | * @return the value of the '<em>Outgoing Transitions</em>' containment reference list. | ||
56 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#getVertex_OutgoingTransitions() | ||
57 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getSource | ||
58 | * @model opposite="source" containment="true" ordered="false" | ||
59 | * @generated | ||
60 | */ | ||
61 | EList<Transition> getOutgoingTransitions(); | ||
62 | |||
63 | } // Vertex | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/YakindummFactory.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/YakindummFactory.java new file mode 100644 index 00000000..a530e71f --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/YakindummFactory.java | |||
@@ -0,0 +1,105 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | import org.eclipse.emf.ecore.EFactory; | ||
6 | |||
7 | /** | ||
8 | * <!-- begin-user-doc --> | ||
9 | * The <b>Factory</b> for the model. | ||
10 | * It provides a create method for each non-abstract class of the model. | ||
11 | * <!-- end-user-doc --> | ||
12 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage | ||
13 | * @generated | ||
14 | */ | ||
15 | public interface YakindummFactory extends EFactory { | ||
16 | /** | ||
17 | * The singleton instance of the factory. | ||
18 | * <!-- begin-user-doc --> | ||
19 | * <!-- end-user-doc --> | ||
20 | * @generated | ||
21 | */ | ||
22 | YakindummFactory eINSTANCE = ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummFactoryImpl.init(); | ||
23 | |||
24 | /** | ||
25 | * Returns a new object of class '<em>Region</em>'. | ||
26 | * <!-- begin-user-doc --> | ||
27 | * <!-- end-user-doc --> | ||
28 | * @return a new object of class '<em>Region</em>'. | ||
29 | * @generated | ||
30 | */ | ||
31 | Region createRegion(); | ||
32 | |||
33 | /** | ||
34 | * Returns a new object of class '<em>Transition</em>'. | ||
35 | * <!-- begin-user-doc --> | ||
36 | * <!-- end-user-doc --> | ||
37 | * @return a new object of class '<em>Transition</em>'. | ||
38 | * @generated | ||
39 | */ | ||
40 | Transition createTransition(); | ||
41 | |||
42 | /** | ||
43 | * Returns a new object of class '<em>Statechart</em>'. | ||
44 | * <!-- begin-user-doc --> | ||
45 | * <!-- end-user-doc --> | ||
46 | * @return a new object of class '<em>Statechart</em>'. | ||
47 | * @generated | ||
48 | */ | ||
49 | Statechart createStatechart(); | ||
50 | |||
51 | /** | ||
52 | * Returns a new object of class '<em>Entry</em>'. | ||
53 | * <!-- begin-user-doc --> | ||
54 | * <!-- end-user-doc --> | ||
55 | * @return a new object of class '<em>Entry</em>'. | ||
56 | * @generated | ||
57 | */ | ||
58 | Entry createEntry(); | ||
59 | |||
60 | /** | ||
61 | * Returns a new object of class '<em>State</em>'. | ||
62 | * <!-- begin-user-doc --> | ||
63 | * <!-- end-user-doc --> | ||
64 | * @return a new object of class '<em>State</em>'. | ||
65 | * @generated | ||
66 | */ | ||
67 | State createState(); | ||
68 | |||
69 | /** | ||
70 | * Returns a new object of class '<em>Choice</em>'. | ||
71 | * <!-- begin-user-doc --> | ||
72 | * <!-- end-user-doc --> | ||
73 | * @return a new object of class '<em>Choice</em>'. | ||
74 | * @generated | ||
75 | */ | ||
76 | Choice createChoice(); | ||
77 | |||
78 | /** | ||
79 | * Returns a new object of class '<em>Exit</em>'. | ||
80 | * <!-- begin-user-doc --> | ||
81 | * <!-- end-user-doc --> | ||
82 | * @return a new object of class '<em>Exit</em>'. | ||
83 | * @generated | ||
84 | */ | ||
85 | Exit createExit(); | ||
86 | |||
87 | /** | ||
88 | * Returns a new object of class '<em>Final State</em>'. | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @return a new object of class '<em>Final State</em>'. | ||
92 | * @generated | ||
93 | */ | ||
94 | FinalState createFinalState(); | ||
95 | |||
96 | /** | ||
97 | * Returns the package supported by this factory. | ||
98 | * <!-- begin-user-doc --> | ||
99 | * <!-- end-user-doc --> | ||
100 | * @return the package supported by this factory. | ||
101 | * @generated | ||
102 | */ | ||
103 | YakindummPackage getYakindummPackage(); | ||
104 | |||
105 | } //YakindummFactory | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/YakindummPackage.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/YakindummPackage.java new file mode 100644 index 00000000..f70e851a --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/YakindummPackage.java | |||
@@ -0,0 +1,1032 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm; | ||
4 | |||
5 | import org.eclipse.emf.ecore.EAttribute; | ||
6 | import org.eclipse.emf.ecore.EClass; | ||
7 | import org.eclipse.emf.ecore.EEnum; | ||
8 | import org.eclipse.emf.ecore.EPackage; | ||
9 | import org.eclipse.emf.ecore.EReference; | ||
10 | |||
11 | /** | ||
12 | * <!-- begin-user-doc --> | ||
13 | * The <b>Package</b> for the model. | ||
14 | * It contains accessors for the meta objects to represent | ||
15 | * <ul> | ||
16 | * <li>each class,</li> | ||
17 | * <li>each feature of each class,</li> | ||
18 | * <li>each operation of each class,</li> | ||
19 | * <li>each enum,</li> | ||
20 | * <li>and each data type</li> | ||
21 | * </ul> | ||
22 | * <!-- end-user-doc --> | ||
23 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummFactory | ||
24 | * @model kind="package" | ||
25 | * @generated | ||
26 | */ | ||
27 | public interface YakindummPackage extends EPackage { | ||
28 | /** | ||
29 | * The package name. | ||
30 | * <!-- begin-user-doc --> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @generated | ||
33 | */ | ||
34 | String eNAME = "yakindumm"; | ||
35 | |||
36 | /** | ||
37 | * The package namespace URI. | ||
38 | * <!-- begin-user-doc --> | ||
39 | * <!-- end-user-doc --> | ||
40 | * @generated | ||
41 | */ | ||
42 | String eNS_URI = "hu.bme.mit.inf.yakindumm"; | ||
43 | |||
44 | /** | ||
45 | * The package namespace name. | ||
46 | * <!-- begin-user-doc --> | ||
47 | * <!-- end-user-doc --> | ||
48 | * @generated | ||
49 | */ | ||
50 | String eNS_PREFIX = "ca.mcgill.ecse.yakindumm"; | ||
51 | |||
52 | /** | ||
53 | * The singleton instance of the package. | ||
54 | * <!-- begin-user-doc --> | ||
55 | * <!-- end-user-doc --> | ||
56 | * @generated | ||
57 | */ | ||
58 | YakindummPackage eINSTANCE = ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl.init(); | ||
59 | |||
60 | /** | ||
61 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.VertexImpl <em>Vertex</em>}' class. | ||
62 | * <!-- begin-user-doc --> | ||
63 | * <!-- end-user-doc --> | ||
64 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.VertexImpl | ||
65 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getVertex() | ||
66 | * @generated | ||
67 | */ | ||
68 | int VERTEX = 1; | ||
69 | |||
70 | /** | ||
71 | * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list. | ||
72 | * <!-- begin-user-doc --> | ||
73 | * <!-- end-user-doc --> | ||
74 | * @generated | ||
75 | * @ordered | ||
76 | */ | ||
77 | int VERTEX__INCOMING_TRANSITIONS = 0; | ||
78 | |||
79 | /** | ||
80 | * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
81 | * <!-- begin-user-doc --> | ||
82 | * <!-- end-user-doc --> | ||
83 | * @generated | ||
84 | * @ordered | ||
85 | */ | ||
86 | int VERTEX__OUTGOING_TRANSITIONS = 1; | ||
87 | |||
88 | /** | ||
89 | * The number of structural features of the '<em>Vertex</em>' class. | ||
90 | * <!-- begin-user-doc --> | ||
91 | * <!-- end-user-doc --> | ||
92 | * @generated | ||
93 | * @ordered | ||
94 | */ | ||
95 | int VERTEX_FEATURE_COUNT = 2; | ||
96 | |||
97 | /** | ||
98 | * The number of operations of the '<em>Vertex</em>' class. | ||
99 | * <!-- begin-user-doc --> | ||
100 | * <!-- end-user-doc --> | ||
101 | * @generated | ||
102 | * @ordered | ||
103 | */ | ||
104 | int VERTEX_OPERATION_COUNT = 0; | ||
105 | |||
106 | /** | ||
107 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.PseudostateImpl <em>Pseudostate</em>}' class. | ||
108 | * <!-- begin-user-doc --> | ||
109 | * <!-- end-user-doc --> | ||
110 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.PseudostateImpl | ||
111 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getPseudostate() | ||
112 | * @generated | ||
113 | */ | ||
114 | int PSEUDOSTATE = 0; | ||
115 | |||
116 | /** | ||
117 | * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list. | ||
118 | * <!-- begin-user-doc --> | ||
119 | * <!-- end-user-doc --> | ||
120 | * @generated | ||
121 | * @ordered | ||
122 | */ | ||
123 | int PSEUDOSTATE__INCOMING_TRANSITIONS = VERTEX__INCOMING_TRANSITIONS; | ||
124 | |||
125 | /** | ||
126 | * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
127 | * <!-- begin-user-doc --> | ||
128 | * <!-- end-user-doc --> | ||
129 | * @generated | ||
130 | * @ordered | ||
131 | */ | ||
132 | int PSEUDOSTATE__OUTGOING_TRANSITIONS = VERTEX__OUTGOING_TRANSITIONS; | ||
133 | |||
134 | /** | ||
135 | * The number of structural features of the '<em>Pseudostate</em>' class. | ||
136 | * <!-- begin-user-doc --> | ||
137 | * <!-- end-user-doc --> | ||
138 | * @generated | ||
139 | * @ordered | ||
140 | */ | ||
141 | int PSEUDOSTATE_FEATURE_COUNT = VERTEX_FEATURE_COUNT + 0; | ||
142 | |||
143 | /** | ||
144 | * The number of operations of the '<em>Pseudostate</em>' class. | ||
145 | * <!-- begin-user-doc --> | ||
146 | * <!-- end-user-doc --> | ||
147 | * @generated | ||
148 | * @ordered | ||
149 | */ | ||
150 | int PSEUDOSTATE_OPERATION_COUNT = VERTEX_OPERATION_COUNT + 0; | ||
151 | |||
152 | /** | ||
153 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegionImpl <em>Region</em>}' class. | ||
154 | * <!-- begin-user-doc --> | ||
155 | * <!-- end-user-doc --> | ||
156 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegionImpl | ||
157 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getRegion() | ||
158 | * @generated | ||
159 | */ | ||
160 | int REGION = 2; | ||
161 | |||
162 | /** | ||
163 | * The feature id for the '<em><b>Vertices</b></em>' containment reference list. | ||
164 | * <!-- begin-user-doc --> | ||
165 | * <!-- end-user-doc --> | ||
166 | * @generated | ||
167 | * @ordered | ||
168 | */ | ||
169 | int REGION__VERTICES = 0; | ||
170 | |||
171 | /** | ||
172 | * The number of structural features of the '<em>Region</em>' class. | ||
173 | * <!-- begin-user-doc --> | ||
174 | * <!-- end-user-doc --> | ||
175 | * @generated | ||
176 | * @ordered | ||
177 | */ | ||
178 | int REGION_FEATURE_COUNT = 1; | ||
179 | |||
180 | /** | ||
181 | * The number of operations of the '<em>Region</em>' class. | ||
182 | * <!-- begin-user-doc --> | ||
183 | * <!-- end-user-doc --> | ||
184 | * @generated | ||
185 | * @ordered | ||
186 | */ | ||
187 | int REGION_OPERATION_COUNT = 0; | ||
188 | |||
189 | /** | ||
190 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.TransitionImpl <em>Transition</em>}' class. | ||
191 | * <!-- begin-user-doc --> | ||
192 | * <!-- end-user-doc --> | ||
193 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.TransitionImpl | ||
194 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getTransition() | ||
195 | * @generated | ||
196 | */ | ||
197 | int TRANSITION = 3; | ||
198 | |||
199 | /** | ||
200 | * The feature id for the '<em><b>Target</b></em>' reference. | ||
201 | * <!-- begin-user-doc --> | ||
202 | * <!-- end-user-doc --> | ||
203 | * @generated | ||
204 | * @ordered | ||
205 | */ | ||
206 | int TRANSITION__TARGET = 0; | ||
207 | |||
208 | /** | ||
209 | * The feature id for the '<em><b>Source</b></em>' container reference. | ||
210 | * <!-- begin-user-doc --> | ||
211 | * <!-- end-user-doc --> | ||
212 | * @generated | ||
213 | * @ordered | ||
214 | */ | ||
215 | int TRANSITION__SOURCE = 1; | ||
216 | |||
217 | /** | ||
218 | * The number of structural features of the '<em>Transition</em>' class. | ||
219 | * <!-- begin-user-doc --> | ||
220 | * <!-- end-user-doc --> | ||
221 | * @generated | ||
222 | * @ordered | ||
223 | */ | ||
224 | int TRANSITION_FEATURE_COUNT = 2; | ||
225 | |||
226 | /** | ||
227 | * The number of operations of the '<em>Transition</em>' class. | ||
228 | * <!-- begin-user-doc --> | ||
229 | * <!-- end-user-doc --> | ||
230 | * @generated | ||
231 | * @ordered | ||
232 | */ | ||
233 | int TRANSITION_OPERATION_COUNT = 0; | ||
234 | |||
235 | /** | ||
236 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.CompositeElementImpl <em>Composite Element</em>}' class. | ||
237 | * <!-- begin-user-doc --> | ||
238 | * <!-- end-user-doc --> | ||
239 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.CompositeElementImpl | ||
240 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getCompositeElement() | ||
241 | * @generated | ||
242 | */ | ||
243 | int COMPOSITE_ELEMENT = 8; | ||
244 | |||
245 | /** | ||
246 | * The feature id for the '<em><b>Regions</b></em>' containment reference list. | ||
247 | * <!-- begin-user-doc --> | ||
248 | * <!-- end-user-doc --> | ||
249 | * @generated | ||
250 | * @ordered | ||
251 | */ | ||
252 | int COMPOSITE_ELEMENT__REGIONS = 0; | ||
253 | |||
254 | /** | ||
255 | * The number of structural features of the '<em>Composite Element</em>' class. | ||
256 | * <!-- begin-user-doc --> | ||
257 | * <!-- end-user-doc --> | ||
258 | * @generated | ||
259 | * @ordered | ||
260 | */ | ||
261 | int COMPOSITE_ELEMENT_FEATURE_COUNT = 1; | ||
262 | |||
263 | /** | ||
264 | * The number of operations of the '<em>Composite Element</em>' class. | ||
265 | * <!-- begin-user-doc --> | ||
266 | * <!-- end-user-doc --> | ||
267 | * @generated | ||
268 | * @ordered | ||
269 | */ | ||
270 | int COMPOSITE_ELEMENT_OPERATION_COUNT = 0; | ||
271 | |||
272 | /** | ||
273 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StatechartImpl <em>Statechart</em>}' class. | ||
274 | * <!-- begin-user-doc --> | ||
275 | * <!-- end-user-doc --> | ||
276 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StatechartImpl | ||
277 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getStatechart() | ||
278 | * @generated | ||
279 | */ | ||
280 | int STATECHART = 4; | ||
281 | |||
282 | /** | ||
283 | * The feature id for the '<em><b>Regions</b></em>' containment reference list. | ||
284 | * <!-- begin-user-doc --> | ||
285 | * <!-- end-user-doc --> | ||
286 | * @generated | ||
287 | * @ordered | ||
288 | */ | ||
289 | int STATECHART__REGIONS = COMPOSITE_ELEMENT__REGIONS; | ||
290 | |||
291 | /** | ||
292 | * The number of structural features of the '<em>Statechart</em>' class. | ||
293 | * <!-- begin-user-doc --> | ||
294 | * <!-- end-user-doc --> | ||
295 | * @generated | ||
296 | * @ordered | ||
297 | */ | ||
298 | int STATECHART_FEATURE_COUNT = COMPOSITE_ELEMENT_FEATURE_COUNT + 0; | ||
299 | |||
300 | /** | ||
301 | * The number of operations of the '<em>Statechart</em>' class. | ||
302 | * <!-- begin-user-doc --> | ||
303 | * <!-- end-user-doc --> | ||
304 | * @generated | ||
305 | * @ordered | ||
306 | */ | ||
307 | int STATECHART_OPERATION_COUNT = COMPOSITE_ELEMENT_OPERATION_COUNT + 0; | ||
308 | |||
309 | /** | ||
310 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.EntryImpl <em>Entry</em>}' class. | ||
311 | * <!-- begin-user-doc --> | ||
312 | * <!-- end-user-doc --> | ||
313 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.EntryImpl | ||
314 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getEntry() | ||
315 | * @generated | ||
316 | */ | ||
317 | int ENTRY = 5; | ||
318 | |||
319 | /** | ||
320 | * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list. | ||
321 | * <!-- begin-user-doc --> | ||
322 | * <!-- end-user-doc --> | ||
323 | * @generated | ||
324 | * @ordered | ||
325 | */ | ||
326 | int ENTRY__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS; | ||
327 | |||
328 | /** | ||
329 | * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
330 | * <!-- begin-user-doc --> | ||
331 | * <!-- end-user-doc --> | ||
332 | * @generated | ||
333 | * @ordered | ||
334 | */ | ||
335 | int ENTRY__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS; | ||
336 | |||
337 | /** | ||
338 | * The feature id for the '<em><b>Type</b></em>' attribute. | ||
339 | * <!-- begin-user-doc --> | ||
340 | * <!-- end-user-doc --> | ||
341 | * @generated | ||
342 | * @ordered | ||
343 | */ | ||
344 | int ENTRY__TYPE = PSEUDOSTATE_FEATURE_COUNT + 0; | ||
345 | |||
346 | /** | ||
347 | * The number of structural features of the '<em>Entry</em>' class. | ||
348 | * <!-- begin-user-doc --> | ||
349 | * <!-- end-user-doc --> | ||
350 | * @generated | ||
351 | * @ordered | ||
352 | */ | ||
353 | int ENTRY_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 1; | ||
354 | |||
355 | /** | ||
356 | * The number of operations of the '<em>Entry</em>' class. | ||
357 | * <!-- begin-user-doc --> | ||
358 | * <!-- end-user-doc --> | ||
359 | * @generated | ||
360 | * @ordered | ||
361 | */ | ||
362 | int ENTRY_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0; | ||
363 | |||
364 | /** | ||
365 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegularStateImpl <em>Regular State</em>}' class. | ||
366 | * <!-- begin-user-doc --> | ||
367 | * <!-- end-user-doc --> | ||
368 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegularStateImpl | ||
369 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getRegularState() | ||
370 | * @generated | ||
371 | */ | ||
372 | int REGULAR_STATE = 7; | ||
373 | |||
374 | /** | ||
375 | * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list. | ||
376 | * <!-- begin-user-doc --> | ||
377 | * <!-- end-user-doc --> | ||
378 | * @generated | ||
379 | * @ordered | ||
380 | */ | ||
381 | int REGULAR_STATE__INCOMING_TRANSITIONS = VERTEX__INCOMING_TRANSITIONS; | ||
382 | |||
383 | /** | ||
384 | * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
385 | * <!-- begin-user-doc --> | ||
386 | * <!-- end-user-doc --> | ||
387 | * @generated | ||
388 | * @ordered | ||
389 | */ | ||
390 | int REGULAR_STATE__OUTGOING_TRANSITIONS = VERTEX__OUTGOING_TRANSITIONS; | ||
391 | |||
392 | /** | ||
393 | * The number of structural features of the '<em>Regular State</em>' class. | ||
394 | * <!-- begin-user-doc --> | ||
395 | * <!-- end-user-doc --> | ||
396 | * @generated | ||
397 | * @ordered | ||
398 | */ | ||
399 | int REGULAR_STATE_FEATURE_COUNT = VERTEX_FEATURE_COUNT + 0; | ||
400 | |||
401 | /** | ||
402 | * The number of operations of the '<em>Regular State</em>' class. | ||
403 | * <!-- begin-user-doc --> | ||
404 | * <!-- end-user-doc --> | ||
405 | * @generated | ||
406 | * @ordered | ||
407 | */ | ||
408 | int REGULAR_STATE_OPERATION_COUNT = VERTEX_OPERATION_COUNT + 0; | ||
409 | |||
410 | /** | ||
411 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StateImpl <em>State</em>}' class. | ||
412 | * <!-- begin-user-doc --> | ||
413 | * <!-- end-user-doc --> | ||
414 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StateImpl | ||
415 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getState() | ||
416 | * @generated | ||
417 | */ | ||
418 | int STATE = 6; | ||
419 | |||
420 | /** | ||
421 | * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list. | ||
422 | * <!-- begin-user-doc --> | ||
423 | * <!-- end-user-doc --> | ||
424 | * @generated | ||
425 | * @ordered | ||
426 | */ | ||
427 | int STATE__INCOMING_TRANSITIONS = REGULAR_STATE__INCOMING_TRANSITIONS; | ||
428 | |||
429 | /** | ||
430 | * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
431 | * <!-- begin-user-doc --> | ||
432 | * <!-- end-user-doc --> | ||
433 | * @generated | ||
434 | * @ordered | ||
435 | */ | ||
436 | int STATE__OUTGOING_TRANSITIONS = REGULAR_STATE__OUTGOING_TRANSITIONS; | ||
437 | |||
438 | /** | ||
439 | * The feature id for the '<em><b>Regions</b></em>' containment reference list. | ||
440 | * <!-- begin-user-doc --> | ||
441 | * <!-- end-user-doc --> | ||
442 | * @generated | ||
443 | * @ordered | ||
444 | */ | ||
445 | int STATE__REGIONS = REGULAR_STATE_FEATURE_COUNT + 0; | ||
446 | |||
447 | /** | ||
448 | * The number of structural features of the '<em>State</em>' class. | ||
449 | * <!-- begin-user-doc --> | ||
450 | * <!-- end-user-doc --> | ||
451 | * @generated | ||
452 | * @ordered | ||
453 | */ | ||
454 | int STATE_FEATURE_COUNT = REGULAR_STATE_FEATURE_COUNT + 1; | ||
455 | |||
456 | /** | ||
457 | * The number of operations of the '<em>State</em>' class. | ||
458 | * <!-- begin-user-doc --> | ||
459 | * <!-- end-user-doc --> | ||
460 | * @generated | ||
461 | * @ordered | ||
462 | */ | ||
463 | int STATE_OPERATION_COUNT = REGULAR_STATE_OPERATION_COUNT + 0; | ||
464 | |||
465 | /** | ||
466 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.ChoiceImpl <em>Choice</em>}' class. | ||
467 | * <!-- begin-user-doc --> | ||
468 | * <!-- end-user-doc --> | ||
469 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.ChoiceImpl | ||
470 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getChoice() | ||
471 | * @generated | ||
472 | */ | ||
473 | int CHOICE = 9; | ||
474 | |||
475 | /** | ||
476 | * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list. | ||
477 | * <!-- begin-user-doc --> | ||
478 | * <!-- end-user-doc --> | ||
479 | * @generated | ||
480 | * @ordered | ||
481 | */ | ||
482 | int CHOICE__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS; | ||
483 | |||
484 | /** | ||
485 | * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
486 | * <!-- begin-user-doc --> | ||
487 | * <!-- end-user-doc --> | ||
488 | * @generated | ||
489 | * @ordered | ||
490 | */ | ||
491 | int CHOICE__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS; | ||
492 | |||
493 | /** | ||
494 | * The number of structural features of the '<em>Choice</em>' class. | ||
495 | * <!-- begin-user-doc --> | ||
496 | * <!-- end-user-doc --> | ||
497 | * @generated | ||
498 | * @ordered | ||
499 | */ | ||
500 | int CHOICE_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0; | ||
501 | |||
502 | /** | ||
503 | * The number of operations of the '<em>Choice</em>' class. | ||
504 | * <!-- begin-user-doc --> | ||
505 | * <!-- end-user-doc --> | ||
506 | * @generated | ||
507 | * @ordered | ||
508 | */ | ||
509 | int CHOICE_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0; | ||
510 | |||
511 | /** | ||
512 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.ExitImpl <em>Exit</em>}' class. | ||
513 | * <!-- begin-user-doc --> | ||
514 | * <!-- end-user-doc --> | ||
515 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.ExitImpl | ||
516 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getExit() | ||
517 | * @generated | ||
518 | */ | ||
519 | int EXIT = 10; | ||
520 | |||
521 | /** | ||
522 | * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list. | ||
523 | * <!-- begin-user-doc --> | ||
524 | * <!-- end-user-doc --> | ||
525 | * @generated | ||
526 | * @ordered | ||
527 | */ | ||
528 | int EXIT__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS; | ||
529 | |||
530 | /** | ||
531 | * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
532 | * <!-- begin-user-doc --> | ||
533 | * <!-- end-user-doc --> | ||
534 | * @generated | ||
535 | * @ordered | ||
536 | */ | ||
537 | int EXIT__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS; | ||
538 | |||
539 | /** | ||
540 | * The number of structural features of the '<em>Exit</em>' class. | ||
541 | * <!-- begin-user-doc --> | ||
542 | * <!-- end-user-doc --> | ||
543 | * @generated | ||
544 | * @ordered | ||
545 | */ | ||
546 | int EXIT_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0; | ||
547 | |||
548 | /** | ||
549 | * The number of operations of the '<em>Exit</em>' class. | ||
550 | * <!-- begin-user-doc --> | ||
551 | * <!-- end-user-doc --> | ||
552 | * @generated | ||
553 | * @ordered | ||
554 | */ | ||
555 | int EXIT_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0; | ||
556 | |||
557 | /** | ||
558 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.FinalStateImpl <em>Final State</em>}' class. | ||
559 | * <!-- begin-user-doc --> | ||
560 | * <!-- end-user-doc --> | ||
561 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.FinalStateImpl | ||
562 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getFinalState() | ||
563 | * @generated | ||
564 | */ | ||
565 | int FINAL_STATE = 11; | ||
566 | |||
567 | /** | ||
568 | * The feature id for the '<em><b>Incoming Transitions</b></em>' reference list. | ||
569 | * <!-- begin-user-doc --> | ||
570 | * <!-- end-user-doc --> | ||
571 | * @generated | ||
572 | * @ordered | ||
573 | */ | ||
574 | int FINAL_STATE__INCOMING_TRANSITIONS = REGULAR_STATE__INCOMING_TRANSITIONS; | ||
575 | |||
576 | /** | ||
577 | * The feature id for the '<em><b>Outgoing Transitions</b></em>' containment reference list. | ||
578 | * <!-- begin-user-doc --> | ||
579 | * <!-- end-user-doc --> | ||
580 | * @generated | ||
581 | * @ordered | ||
582 | */ | ||
583 | int FINAL_STATE__OUTGOING_TRANSITIONS = REGULAR_STATE__OUTGOING_TRANSITIONS; | ||
584 | |||
585 | /** | ||
586 | * The number of structural features of the '<em>Final State</em>' class. | ||
587 | * <!-- begin-user-doc --> | ||
588 | * <!-- end-user-doc --> | ||
589 | * @generated | ||
590 | * @ordered | ||
591 | */ | ||
592 | int FINAL_STATE_FEATURE_COUNT = REGULAR_STATE_FEATURE_COUNT + 0; | ||
593 | |||
594 | /** | ||
595 | * The number of operations of the '<em>Final State</em>' class. | ||
596 | * <!-- begin-user-doc --> | ||
597 | * <!-- end-user-doc --> | ||
598 | * @generated | ||
599 | * @ordered | ||
600 | */ | ||
601 | int FINAL_STATE_OPERATION_COUNT = REGULAR_STATE_OPERATION_COUNT + 0; | ||
602 | |||
603 | /** | ||
604 | * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType <em>Entry Type</em>}' enum. | ||
605 | * <!-- begin-user-doc --> | ||
606 | * <!-- end-user-doc --> | ||
607 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType | ||
608 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getEntryType() | ||
609 | * @generated | ||
610 | */ | ||
611 | int ENTRY_TYPE = 12; | ||
612 | |||
613 | |||
614 | /** | ||
615 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Pseudostate <em>Pseudostate</em>}'. | ||
616 | * <!-- begin-user-doc --> | ||
617 | * <!-- end-user-doc --> | ||
618 | * @return the meta object for class '<em>Pseudostate</em>'. | ||
619 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Pseudostate | ||
620 | * @generated | ||
621 | */ | ||
622 | EClass getPseudostate(); | ||
623 | |||
624 | /** | ||
625 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex <em>Vertex</em>}'. | ||
626 | * <!-- begin-user-doc --> | ||
627 | * <!-- end-user-doc --> | ||
628 | * @return the meta object for class '<em>Vertex</em>'. | ||
629 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex | ||
630 | * @generated | ||
631 | */ | ||
632 | EClass getVertex(); | ||
633 | |||
634 | /** | ||
635 | * Returns the meta object for the reference list '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getIncomingTransitions <em>Incoming Transitions</em>}'. | ||
636 | * <!-- begin-user-doc --> | ||
637 | * <!-- end-user-doc --> | ||
638 | * @return the meta object for the reference list '<em>Incoming Transitions</em>'. | ||
639 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getIncomingTransitions() | ||
640 | * @see #getVertex() | ||
641 | * @generated | ||
642 | */ | ||
643 | EReference getVertex_IncomingTransitions(); | ||
644 | |||
645 | /** | ||
646 | * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getOutgoingTransitions <em>Outgoing Transitions</em>}'. | ||
647 | * <!-- begin-user-doc --> | ||
648 | * <!-- end-user-doc --> | ||
649 | * @return the meta object for the containment reference list '<em>Outgoing Transitions</em>'. | ||
650 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex#getOutgoingTransitions() | ||
651 | * @see #getVertex() | ||
652 | * @generated | ||
653 | */ | ||
654 | EReference getVertex_OutgoingTransitions(); | ||
655 | |||
656 | /** | ||
657 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region <em>Region</em>}'. | ||
658 | * <!-- begin-user-doc --> | ||
659 | * <!-- end-user-doc --> | ||
660 | * @return the meta object for class '<em>Region</em>'. | ||
661 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region | ||
662 | * @generated | ||
663 | */ | ||
664 | EClass getRegion(); | ||
665 | |||
666 | /** | ||
667 | * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region#getVertices <em>Vertices</em>}'. | ||
668 | * <!-- begin-user-doc --> | ||
669 | * <!-- end-user-doc --> | ||
670 | * @return the meta object for the containment reference list '<em>Vertices</em>'. | ||
671 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region#getVertices() | ||
672 | * @see #getRegion() | ||
673 | * @generated | ||
674 | */ | ||
675 | EReference getRegion_Vertices(); | ||
676 | |||
677 | /** | ||
678 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition <em>Transition</em>}'. | ||
679 | * <!-- begin-user-doc --> | ||
680 | * <!-- end-user-doc --> | ||
681 | * @return the meta object for class '<em>Transition</em>'. | ||
682 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition | ||
683 | * @generated | ||
684 | */ | ||
685 | EClass getTransition(); | ||
686 | |||
687 | /** | ||
688 | * Returns the meta object for the reference '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getTarget <em>Target</em>}'. | ||
689 | * <!-- begin-user-doc --> | ||
690 | * <!-- end-user-doc --> | ||
691 | * @return the meta object for the reference '<em>Target</em>'. | ||
692 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getTarget() | ||
693 | * @see #getTransition() | ||
694 | * @generated | ||
695 | */ | ||
696 | EReference getTransition_Target(); | ||
697 | |||
698 | /** | ||
699 | * Returns the meta object for the container reference '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getSource <em>Source</em>}'. | ||
700 | * <!-- begin-user-doc --> | ||
701 | * <!-- end-user-doc --> | ||
702 | * @return the meta object for the container reference '<em>Source</em>'. | ||
703 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition#getSource() | ||
704 | * @see #getTransition() | ||
705 | * @generated | ||
706 | */ | ||
707 | EReference getTransition_Source(); | ||
708 | |||
709 | /** | ||
710 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Statechart <em>Statechart</em>}'. | ||
711 | * <!-- begin-user-doc --> | ||
712 | * <!-- end-user-doc --> | ||
713 | * @return the meta object for class '<em>Statechart</em>'. | ||
714 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Statechart | ||
715 | * @generated | ||
716 | */ | ||
717 | EClass getStatechart(); | ||
718 | |||
719 | /** | ||
720 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry <em>Entry</em>}'. | ||
721 | * <!-- begin-user-doc --> | ||
722 | * <!-- end-user-doc --> | ||
723 | * @return the meta object for class '<em>Entry</em>'. | ||
724 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry | ||
725 | * @generated | ||
726 | */ | ||
727 | EClass getEntry(); | ||
728 | |||
729 | /** | ||
730 | * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry#getType <em>Type</em>}'. | ||
731 | * <!-- begin-user-doc --> | ||
732 | * <!-- end-user-doc --> | ||
733 | * @return the meta object for the attribute '<em>Type</em>'. | ||
734 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry#getType() | ||
735 | * @see #getEntry() | ||
736 | * @generated | ||
737 | */ | ||
738 | EAttribute getEntry_Type(); | ||
739 | |||
740 | /** | ||
741 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.State <em>State</em>}'. | ||
742 | * <!-- begin-user-doc --> | ||
743 | * <!-- end-user-doc --> | ||
744 | * @return the meta object for class '<em>State</em>'. | ||
745 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.State | ||
746 | * @generated | ||
747 | */ | ||
748 | EClass getState(); | ||
749 | |||
750 | /** | ||
751 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.RegularState <em>Regular State</em>}'. | ||
752 | * <!-- begin-user-doc --> | ||
753 | * <!-- end-user-doc --> | ||
754 | * @return the meta object for class '<em>Regular State</em>'. | ||
755 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.RegularState | ||
756 | * @generated | ||
757 | */ | ||
758 | EClass getRegularState(); | ||
759 | |||
760 | /** | ||
761 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement <em>Composite Element</em>}'. | ||
762 | * <!-- begin-user-doc --> | ||
763 | * <!-- end-user-doc --> | ||
764 | * @return the meta object for class '<em>Composite Element</em>'. | ||
765 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement | ||
766 | * @generated | ||
767 | */ | ||
768 | EClass getCompositeElement(); | ||
769 | |||
770 | /** | ||
771 | * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement#getRegions <em>Regions</em>}'. | ||
772 | * <!-- begin-user-doc --> | ||
773 | * <!-- end-user-doc --> | ||
774 | * @return the meta object for the containment reference list '<em>Regions</em>'. | ||
775 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement#getRegions() | ||
776 | * @see #getCompositeElement() | ||
777 | * @generated | ||
778 | */ | ||
779 | EReference getCompositeElement_Regions(); | ||
780 | |||
781 | /** | ||
782 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Choice <em>Choice</em>}'. | ||
783 | * <!-- begin-user-doc --> | ||
784 | * <!-- end-user-doc --> | ||
785 | * @return the meta object for class '<em>Choice</em>'. | ||
786 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Choice | ||
787 | * @generated | ||
788 | */ | ||
789 | EClass getChoice(); | ||
790 | |||
791 | /** | ||
792 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Exit <em>Exit</em>}'. | ||
793 | * <!-- begin-user-doc --> | ||
794 | * <!-- end-user-doc --> | ||
795 | * @return the meta object for class '<em>Exit</em>'. | ||
796 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Exit | ||
797 | * @generated | ||
798 | */ | ||
799 | EClass getExit(); | ||
800 | |||
801 | /** | ||
802 | * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.FinalState <em>Final State</em>}'. | ||
803 | * <!-- begin-user-doc --> | ||
804 | * <!-- end-user-doc --> | ||
805 | * @return the meta object for class '<em>Final State</em>'. | ||
806 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.FinalState | ||
807 | * @generated | ||
808 | */ | ||
809 | EClass getFinalState(); | ||
810 | |||
811 | /** | ||
812 | * Returns the meta object for enum '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType <em>Entry Type</em>}'. | ||
813 | * <!-- begin-user-doc --> | ||
814 | * <!-- end-user-doc --> | ||
815 | * @return the meta object for enum '<em>Entry Type</em>'. | ||
816 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType | ||
817 | * @generated | ||
818 | */ | ||
819 | EEnum getEntryType(); | ||
820 | |||
821 | /** | ||
822 | * Returns the factory that creates the instances of the model. | ||
823 | * <!-- begin-user-doc --> | ||
824 | * <!-- end-user-doc --> | ||
825 | * @return the factory that creates the instances of the model. | ||
826 | * @generated | ||
827 | */ | ||
828 | YakindummFactory getYakindummFactory(); | ||
829 | |||
830 | /** | ||
831 | * <!-- begin-user-doc --> | ||
832 | * Defines literals for the meta objects that represent | ||
833 | * <ul> | ||
834 | * <li>each class,</li> | ||
835 | * <li>each feature of each class,</li> | ||
836 | * <li>each operation of each class,</li> | ||
837 | * <li>each enum,</li> | ||
838 | * <li>and each data type</li> | ||
839 | * </ul> | ||
840 | * <!-- end-user-doc --> | ||
841 | * @generated | ||
842 | */ | ||
843 | interface Literals { | ||
844 | /** | ||
845 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.PseudostateImpl <em>Pseudostate</em>}' class. | ||
846 | * <!-- begin-user-doc --> | ||
847 | * <!-- end-user-doc --> | ||
848 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.PseudostateImpl | ||
849 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getPseudostate() | ||
850 | * @generated | ||
851 | */ | ||
852 | EClass PSEUDOSTATE = eINSTANCE.getPseudostate(); | ||
853 | |||
854 | /** | ||
855 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.VertexImpl <em>Vertex</em>}' class. | ||
856 | * <!-- begin-user-doc --> | ||
857 | * <!-- end-user-doc --> | ||
858 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.VertexImpl | ||
859 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getVertex() | ||
860 | * @generated | ||
861 | */ | ||
862 | EClass VERTEX = eINSTANCE.getVertex(); | ||
863 | |||
864 | /** | ||
865 | * The meta object literal for the '<em><b>Incoming Transitions</b></em>' reference list feature. | ||
866 | * <!-- begin-user-doc --> | ||
867 | * <!-- end-user-doc --> | ||
868 | * @generated | ||
869 | */ | ||
870 | EReference VERTEX__INCOMING_TRANSITIONS = eINSTANCE.getVertex_IncomingTransitions(); | ||
871 | |||
872 | /** | ||
873 | * The meta object literal for the '<em><b>Outgoing Transitions</b></em>' containment reference list feature. | ||
874 | * <!-- begin-user-doc --> | ||
875 | * <!-- end-user-doc --> | ||
876 | * @generated | ||
877 | */ | ||
878 | EReference VERTEX__OUTGOING_TRANSITIONS = eINSTANCE.getVertex_OutgoingTransitions(); | ||
879 | |||
880 | /** | ||
881 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegionImpl <em>Region</em>}' class. | ||
882 | * <!-- begin-user-doc --> | ||
883 | * <!-- end-user-doc --> | ||
884 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegionImpl | ||
885 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getRegion() | ||
886 | * @generated | ||
887 | */ | ||
888 | EClass REGION = eINSTANCE.getRegion(); | ||
889 | |||
890 | /** | ||
891 | * The meta object literal for the '<em><b>Vertices</b></em>' containment reference list feature. | ||
892 | * <!-- begin-user-doc --> | ||
893 | * <!-- end-user-doc --> | ||
894 | * @generated | ||
895 | */ | ||
896 | EReference REGION__VERTICES = eINSTANCE.getRegion_Vertices(); | ||
897 | |||
898 | /** | ||
899 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.TransitionImpl <em>Transition</em>}' class. | ||
900 | * <!-- begin-user-doc --> | ||
901 | * <!-- end-user-doc --> | ||
902 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.TransitionImpl | ||
903 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getTransition() | ||
904 | * @generated | ||
905 | */ | ||
906 | EClass TRANSITION = eINSTANCE.getTransition(); | ||
907 | |||
908 | /** | ||
909 | * The meta object literal for the '<em><b>Target</b></em>' reference feature. | ||
910 | * <!-- begin-user-doc --> | ||
911 | * <!-- end-user-doc --> | ||
912 | * @generated | ||
913 | */ | ||
914 | EReference TRANSITION__TARGET = eINSTANCE.getTransition_Target(); | ||
915 | |||
916 | /** | ||
917 | * The meta object literal for the '<em><b>Source</b></em>' container reference feature. | ||
918 | * <!-- begin-user-doc --> | ||
919 | * <!-- end-user-doc --> | ||
920 | * @generated | ||
921 | */ | ||
922 | EReference TRANSITION__SOURCE = eINSTANCE.getTransition_Source(); | ||
923 | |||
924 | /** | ||
925 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StatechartImpl <em>Statechart</em>}' class. | ||
926 | * <!-- begin-user-doc --> | ||
927 | * <!-- end-user-doc --> | ||
928 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StatechartImpl | ||
929 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getStatechart() | ||
930 | * @generated | ||
931 | */ | ||
932 | EClass STATECHART = eINSTANCE.getStatechart(); | ||
933 | |||
934 | /** | ||
935 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.EntryImpl <em>Entry</em>}' class. | ||
936 | * <!-- begin-user-doc --> | ||
937 | * <!-- end-user-doc --> | ||
938 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.EntryImpl | ||
939 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getEntry() | ||
940 | * @generated | ||
941 | */ | ||
942 | EClass ENTRY = eINSTANCE.getEntry(); | ||
943 | |||
944 | /** | ||
945 | * The meta object literal for the '<em><b>Type</b></em>' attribute feature. | ||
946 | * <!-- begin-user-doc --> | ||
947 | * <!-- end-user-doc --> | ||
948 | * @generated | ||
949 | */ | ||
950 | EAttribute ENTRY__TYPE = eINSTANCE.getEntry_Type(); | ||
951 | |||
952 | /** | ||
953 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StateImpl <em>State</em>}' class. | ||
954 | * <!-- begin-user-doc --> | ||
955 | * <!-- end-user-doc --> | ||
956 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StateImpl | ||
957 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getState() | ||
958 | * @generated | ||
959 | */ | ||
960 | EClass STATE = eINSTANCE.getState(); | ||
961 | |||
962 | /** | ||
963 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegularStateImpl <em>Regular State</em>}' class. | ||
964 | * <!-- begin-user-doc --> | ||
965 | * <!-- end-user-doc --> | ||
966 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegularStateImpl | ||
967 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getRegularState() | ||
968 | * @generated | ||
969 | */ | ||
970 | EClass REGULAR_STATE = eINSTANCE.getRegularState(); | ||
971 | |||
972 | /** | ||
973 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.CompositeElementImpl <em>Composite Element</em>}' class. | ||
974 | * <!-- begin-user-doc --> | ||
975 | * <!-- end-user-doc --> | ||
976 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.CompositeElementImpl | ||
977 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getCompositeElement() | ||
978 | * @generated | ||
979 | */ | ||
980 | EClass COMPOSITE_ELEMENT = eINSTANCE.getCompositeElement(); | ||
981 | |||
982 | /** | ||
983 | * The meta object literal for the '<em><b>Regions</b></em>' containment reference list feature. | ||
984 | * <!-- begin-user-doc --> | ||
985 | * <!-- end-user-doc --> | ||
986 | * @generated | ||
987 | */ | ||
988 | EReference COMPOSITE_ELEMENT__REGIONS = eINSTANCE.getCompositeElement_Regions(); | ||
989 | |||
990 | /** | ||
991 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.ChoiceImpl <em>Choice</em>}' class. | ||
992 | * <!-- begin-user-doc --> | ||
993 | * <!-- end-user-doc --> | ||
994 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.ChoiceImpl | ||
995 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getChoice() | ||
996 | * @generated | ||
997 | */ | ||
998 | EClass CHOICE = eINSTANCE.getChoice(); | ||
999 | |||
1000 | /** | ||
1001 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.ExitImpl <em>Exit</em>}' class. | ||
1002 | * <!-- begin-user-doc --> | ||
1003 | * <!-- end-user-doc --> | ||
1004 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.ExitImpl | ||
1005 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getExit() | ||
1006 | * @generated | ||
1007 | */ | ||
1008 | EClass EXIT = eINSTANCE.getExit(); | ||
1009 | |||
1010 | /** | ||
1011 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.FinalStateImpl <em>Final State</em>}' class. | ||
1012 | * <!-- begin-user-doc --> | ||
1013 | * <!-- end-user-doc --> | ||
1014 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.FinalStateImpl | ||
1015 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getFinalState() | ||
1016 | * @generated | ||
1017 | */ | ||
1018 | EClass FINAL_STATE = eINSTANCE.getFinalState(); | ||
1019 | |||
1020 | /** | ||
1021 | * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType <em>Entry Type</em>}' enum. | ||
1022 | * <!-- begin-user-doc --> | ||
1023 | * <!-- end-user-doc --> | ||
1024 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType | ||
1025 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.YakindummPackageImpl#getEntryType() | ||
1026 | * @generated | ||
1027 | */ | ||
1028 | EEnum ENTRY_TYPE = eINSTANCE.getEntryType(); | ||
1029 | |||
1030 | } | ||
1031 | |||
1032 | } //YakindummPackage | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/ChoiceImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/ChoiceImpl.java new file mode 100644 index 00000000..379d4a29 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/ChoiceImpl.java | |||
@@ -0,0 +1,37 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Choice; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
7 | |||
8 | import org.eclipse.emf.ecore.EClass; | ||
9 | |||
10 | /** | ||
11 | * <!-- begin-user-doc --> | ||
12 | * An implementation of the model object '<em><b>Choice</b></em>'. | ||
13 | * <!-- end-user-doc --> | ||
14 | * | ||
15 | * @generated | ||
16 | */ | ||
17 | public class ChoiceImpl extends PseudostateImpl implements Choice { | ||
18 | /** | ||
19 | * <!-- begin-user-doc --> | ||
20 | * <!-- end-user-doc --> | ||
21 | * @generated | ||
22 | */ | ||
23 | protected ChoiceImpl() { | ||
24 | super(); | ||
25 | } | ||
26 | |||
27 | /** | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | @Override | ||
33 | protected EClass eStaticClass() { | ||
34 | return YakindummPackage.Literals.CHOICE; | ||
35 | } | ||
36 | |||
37 | } //ChoiceImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/CompositeElementImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/CompositeElementImpl.java new file mode 100644 index 00000000..067a5ee3 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/CompositeElementImpl.java | |||
@@ -0,0 +1,152 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region; | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
8 | |||
9 | import java.util.Collection; | ||
10 | |||
11 | import org.eclipse.emf.common.notify.NotificationChain; | ||
12 | |||
13 | import org.eclipse.emf.common.util.EList; | ||
14 | |||
15 | import org.eclipse.emf.ecore.EClass; | ||
16 | import org.eclipse.emf.ecore.InternalEObject; | ||
17 | |||
18 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | ||
19 | |||
20 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; | ||
21 | import org.eclipse.emf.ecore.util.InternalEList; | ||
22 | |||
23 | /** | ||
24 | * <!-- begin-user-doc --> | ||
25 | * An implementation of the model object '<em><b>Composite Element</b></em>'. | ||
26 | * <!-- end-user-doc --> | ||
27 | * <p> | ||
28 | * The following features are implemented: | ||
29 | * </p> | ||
30 | * <ul> | ||
31 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.CompositeElementImpl#getRegions <em>Regions</em>}</li> | ||
32 | * </ul> | ||
33 | * | ||
34 | * @generated | ||
35 | */ | ||
36 | public abstract class CompositeElementImpl extends MinimalEObjectImpl.Container implements CompositeElement { | ||
37 | /** | ||
38 | * The cached value of the '{@link #getRegions() <em>Regions</em>}' containment reference list. | ||
39 | * <!-- begin-user-doc --> | ||
40 | * <!-- end-user-doc --> | ||
41 | * @see #getRegions() | ||
42 | * @generated | ||
43 | * @ordered | ||
44 | */ | ||
45 | protected EList<Region> regions; | ||
46 | |||
47 | /** | ||
48 | * <!-- begin-user-doc --> | ||
49 | * <!-- end-user-doc --> | ||
50 | * @generated | ||
51 | */ | ||
52 | protected CompositeElementImpl() { | ||
53 | super(); | ||
54 | } | ||
55 | |||
56 | /** | ||
57 | * <!-- begin-user-doc --> | ||
58 | * <!-- end-user-doc --> | ||
59 | * @generated | ||
60 | */ | ||
61 | @Override | ||
62 | protected EClass eStaticClass() { | ||
63 | return YakindummPackage.Literals.COMPOSITE_ELEMENT; | ||
64 | } | ||
65 | |||
66 | /** | ||
67 | * <!-- begin-user-doc --> | ||
68 | * <!-- end-user-doc --> | ||
69 | * @generated | ||
70 | */ | ||
71 | public EList<Region> getRegions() { | ||
72 | if (regions == null) { | ||
73 | regions = new EObjectContainmentEList<Region>(Region.class, this, YakindummPackage.COMPOSITE_ELEMENT__REGIONS); | ||
74 | } | ||
75 | return regions; | ||
76 | } | ||
77 | |||
78 | /** | ||
79 | * <!-- begin-user-doc --> | ||
80 | * <!-- end-user-doc --> | ||
81 | * @generated | ||
82 | */ | ||
83 | @Override | ||
84 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
85 | switch (featureID) { | ||
86 | case YakindummPackage.COMPOSITE_ELEMENT__REGIONS: | ||
87 | return ((InternalEList<?>)getRegions()).basicRemove(otherEnd, msgs); | ||
88 | } | ||
89 | return super.eInverseRemove(otherEnd, featureID, msgs); | ||
90 | } | ||
91 | |||
92 | /** | ||
93 | * <!-- begin-user-doc --> | ||
94 | * <!-- end-user-doc --> | ||
95 | * @generated | ||
96 | */ | ||
97 | @Override | ||
98 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
99 | switch (featureID) { | ||
100 | case YakindummPackage.COMPOSITE_ELEMENT__REGIONS: | ||
101 | return getRegions(); | ||
102 | } | ||
103 | return super.eGet(featureID, resolve, coreType); | ||
104 | } | ||
105 | |||
106 | /** | ||
107 | * <!-- begin-user-doc --> | ||
108 | * <!-- end-user-doc --> | ||
109 | * @generated | ||
110 | */ | ||
111 | @SuppressWarnings("unchecked") | ||
112 | @Override | ||
113 | public void eSet(int featureID, Object newValue) { | ||
114 | switch (featureID) { | ||
115 | case YakindummPackage.COMPOSITE_ELEMENT__REGIONS: | ||
116 | getRegions().clear(); | ||
117 | getRegions().addAll((Collection<? extends Region>)newValue); | ||
118 | return; | ||
119 | } | ||
120 | super.eSet(featureID, newValue); | ||
121 | } | ||
122 | |||
123 | /** | ||
124 | * <!-- begin-user-doc --> | ||
125 | * <!-- end-user-doc --> | ||
126 | * @generated | ||
127 | */ | ||
128 | @Override | ||
129 | public void eUnset(int featureID) { | ||
130 | switch (featureID) { | ||
131 | case YakindummPackage.COMPOSITE_ELEMENT__REGIONS: | ||
132 | getRegions().clear(); | ||
133 | return; | ||
134 | } | ||
135 | super.eUnset(featureID); | ||
136 | } | ||
137 | |||
138 | /** | ||
139 | * <!-- begin-user-doc --> | ||
140 | * <!-- end-user-doc --> | ||
141 | * @generated | ||
142 | */ | ||
143 | @Override | ||
144 | public boolean eIsSet(int featureID) { | ||
145 | switch (featureID) { | ||
146 | case YakindummPackage.COMPOSITE_ELEMENT__REGIONS: | ||
147 | return regions != null && !regions.isEmpty(); | ||
148 | } | ||
149 | return super.eIsSet(featureID); | ||
150 | } | ||
151 | |||
152 | } //CompositeElementImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/EntryImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/EntryImpl.java new file mode 100644 index 00000000..0ad87100 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/EntryImpl.java | |||
@@ -0,0 +1,163 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType; | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
8 | |||
9 | import org.eclipse.emf.common.notify.Notification; | ||
10 | |||
11 | import org.eclipse.emf.ecore.EClass; | ||
12 | |||
13 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
14 | |||
15 | /** | ||
16 | * <!-- begin-user-doc --> | ||
17 | * An implementation of the model object '<em><b>Entry</b></em>'. | ||
18 | * <!-- end-user-doc --> | ||
19 | * <p> | ||
20 | * The following features are implemented: | ||
21 | * </p> | ||
22 | * <ul> | ||
23 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.EntryImpl#getType <em>Type</em>}</li> | ||
24 | * </ul> | ||
25 | * | ||
26 | * @generated | ||
27 | */ | ||
28 | public class EntryImpl extends PseudostateImpl implements Entry { | ||
29 | /** | ||
30 | * The default value of the '{@link #getType() <em>Type</em>}' attribute. | ||
31 | * <!-- begin-user-doc --> | ||
32 | * <!-- end-user-doc --> | ||
33 | * @see #getType() | ||
34 | * @generated | ||
35 | * @ordered | ||
36 | */ | ||
37 | protected static final EntryType TYPE_EDEFAULT = EntryType.NORMAL; | ||
38 | |||
39 | /** | ||
40 | * The cached value of the '{@link #getType() <em>Type</em>}' attribute. | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @see #getType() | ||
44 | * @generated | ||
45 | * @ordered | ||
46 | */ | ||
47 | protected EntryType type = TYPE_EDEFAULT; | ||
48 | |||
49 | /** | ||
50 | * <!-- begin-user-doc --> | ||
51 | * <!-- end-user-doc --> | ||
52 | * @generated | ||
53 | */ | ||
54 | protected EntryImpl() { | ||
55 | super(); | ||
56 | } | ||
57 | |||
58 | /** | ||
59 | * <!-- begin-user-doc --> | ||
60 | * <!-- end-user-doc --> | ||
61 | * @generated | ||
62 | */ | ||
63 | @Override | ||
64 | protected EClass eStaticClass() { | ||
65 | return YakindummPackage.Literals.ENTRY; | ||
66 | } | ||
67 | |||
68 | /** | ||
69 | * <!-- begin-user-doc --> | ||
70 | * <!-- end-user-doc --> | ||
71 | * @generated | ||
72 | */ | ||
73 | public EntryType getType() { | ||
74 | return type; | ||
75 | } | ||
76 | |||
77 | /** | ||
78 | * <!-- begin-user-doc --> | ||
79 | * <!-- end-user-doc --> | ||
80 | * @generated | ||
81 | */ | ||
82 | public void setType(EntryType newType) { | ||
83 | EntryType oldType = type; | ||
84 | type = newType == null ? TYPE_EDEFAULT : newType; | ||
85 | if (eNotificationRequired()) | ||
86 | eNotify(new ENotificationImpl(this, Notification.SET, YakindummPackage.ENTRY__TYPE, oldType, type)); | ||
87 | } | ||
88 | |||
89 | /** | ||
90 | * <!-- begin-user-doc --> | ||
91 | * <!-- end-user-doc --> | ||
92 | * @generated | ||
93 | */ | ||
94 | @Override | ||
95 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
96 | switch (featureID) { | ||
97 | case YakindummPackage.ENTRY__TYPE: | ||
98 | return getType(); | ||
99 | } | ||
100 | return super.eGet(featureID, resolve, coreType); | ||
101 | } | ||
102 | |||
103 | /** | ||
104 | * <!-- begin-user-doc --> | ||
105 | * <!-- end-user-doc --> | ||
106 | * @generated | ||
107 | */ | ||
108 | @Override | ||
109 | public void eSet(int featureID, Object newValue) { | ||
110 | switch (featureID) { | ||
111 | case YakindummPackage.ENTRY__TYPE: | ||
112 | setType((EntryType)newValue); | ||
113 | return; | ||
114 | } | ||
115 | super.eSet(featureID, newValue); | ||
116 | } | ||
117 | |||
118 | /** | ||
119 | * <!-- begin-user-doc --> | ||
120 | * <!-- end-user-doc --> | ||
121 | * @generated | ||
122 | */ | ||
123 | @Override | ||
124 | public void eUnset(int featureID) { | ||
125 | switch (featureID) { | ||
126 | case YakindummPackage.ENTRY__TYPE: | ||
127 | setType(TYPE_EDEFAULT); | ||
128 | return; | ||
129 | } | ||
130 | super.eUnset(featureID); | ||
131 | } | ||
132 | |||
133 | /** | ||
134 | * <!-- begin-user-doc --> | ||
135 | * <!-- end-user-doc --> | ||
136 | * @generated | ||
137 | */ | ||
138 | @Override | ||
139 | public boolean eIsSet(int featureID) { | ||
140 | switch (featureID) { | ||
141 | case YakindummPackage.ENTRY__TYPE: | ||
142 | return type != TYPE_EDEFAULT; | ||
143 | } | ||
144 | return super.eIsSet(featureID); | ||
145 | } | ||
146 | |||
147 | /** | ||
148 | * <!-- begin-user-doc --> | ||
149 | * <!-- end-user-doc --> | ||
150 | * @generated | ||
151 | */ | ||
152 | @Override | ||
153 | public String toString() { | ||
154 | if (eIsProxy()) return super.toString(); | ||
155 | |||
156 | StringBuilder result = new StringBuilder(super.toString()); | ||
157 | result.append(" (Type: "); | ||
158 | result.append(type); | ||
159 | result.append(')'); | ||
160 | return result.toString(); | ||
161 | } | ||
162 | |||
163 | } //EntryImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/ExitImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/ExitImpl.java new file mode 100644 index 00000000..ae360e68 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/ExitImpl.java | |||
@@ -0,0 +1,37 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Exit; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
7 | |||
8 | import org.eclipse.emf.ecore.EClass; | ||
9 | |||
10 | /** | ||
11 | * <!-- begin-user-doc --> | ||
12 | * An implementation of the model object '<em><b>Exit</b></em>'. | ||
13 | * <!-- end-user-doc --> | ||
14 | * | ||
15 | * @generated | ||
16 | */ | ||
17 | public class ExitImpl extends PseudostateImpl implements Exit { | ||
18 | /** | ||
19 | * <!-- begin-user-doc --> | ||
20 | * <!-- end-user-doc --> | ||
21 | * @generated | ||
22 | */ | ||
23 | protected ExitImpl() { | ||
24 | super(); | ||
25 | } | ||
26 | |||
27 | /** | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | @Override | ||
33 | protected EClass eStaticClass() { | ||
34 | return YakindummPackage.Literals.EXIT; | ||
35 | } | ||
36 | |||
37 | } //ExitImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/FinalStateImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/FinalStateImpl.java new file mode 100644 index 00000000..ccb19763 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/FinalStateImpl.java | |||
@@ -0,0 +1,37 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.FinalState; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
7 | |||
8 | import org.eclipse.emf.ecore.EClass; | ||
9 | |||
10 | /** | ||
11 | * <!-- begin-user-doc --> | ||
12 | * An implementation of the model object '<em><b>Final State</b></em>'. | ||
13 | * <!-- end-user-doc --> | ||
14 | * | ||
15 | * @generated | ||
16 | */ | ||
17 | public class FinalStateImpl extends RegularStateImpl implements FinalState { | ||
18 | /** | ||
19 | * <!-- begin-user-doc --> | ||
20 | * <!-- end-user-doc --> | ||
21 | * @generated | ||
22 | */ | ||
23 | protected FinalStateImpl() { | ||
24 | super(); | ||
25 | } | ||
26 | |||
27 | /** | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | @Override | ||
33 | protected EClass eStaticClass() { | ||
34 | return YakindummPackage.Literals.FINAL_STATE; | ||
35 | } | ||
36 | |||
37 | } //FinalStateImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/PseudostateImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/PseudostateImpl.java new file mode 100644 index 00000000..b8c76c27 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/PseudostateImpl.java | |||
@@ -0,0 +1,37 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Pseudostate; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
7 | |||
8 | import org.eclipse.emf.ecore.EClass; | ||
9 | |||
10 | /** | ||
11 | * <!-- begin-user-doc --> | ||
12 | * An implementation of the model object '<em><b>Pseudostate</b></em>'. | ||
13 | * <!-- end-user-doc --> | ||
14 | * | ||
15 | * @generated | ||
16 | */ | ||
17 | public abstract class PseudostateImpl extends VertexImpl implements Pseudostate { | ||
18 | /** | ||
19 | * <!-- begin-user-doc --> | ||
20 | * <!-- end-user-doc --> | ||
21 | * @generated | ||
22 | */ | ||
23 | protected PseudostateImpl() { | ||
24 | super(); | ||
25 | } | ||
26 | |||
27 | /** | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | @Override | ||
33 | protected EClass eStaticClass() { | ||
34 | return YakindummPackage.Literals.PSEUDOSTATE; | ||
35 | } | ||
36 | |||
37 | } //PseudostateImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/RegionImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/RegionImpl.java new file mode 100644 index 00000000..440c389c --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/RegionImpl.java | |||
@@ -0,0 +1,152 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex; | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
8 | |||
9 | import java.util.Collection; | ||
10 | |||
11 | import org.eclipse.emf.common.notify.NotificationChain; | ||
12 | |||
13 | import org.eclipse.emf.common.util.EList; | ||
14 | |||
15 | import org.eclipse.emf.ecore.EClass; | ||
16 | import org.eclipse.emf.ecore.InternalEObject; | ||
17 | |||
18 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | ||
19 | |||
20 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; | ||
21 | import org.eclipse.emf.ecore.util.InternalEList; | ||
22 | |||
23 | /** | ||
24 | * <!-- begin-user-doc --> | ||
25 | * An implementation of the model object '<em><b>Region</b></em>'. | ||
26 | * <!-- end-user-doc --> | ||
27 | * <p> | ||
28 | * The following features are implemented: | ||
29 | * </p> | ||
30 | * <ul> | ||
31 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.RegionImpl#getVertices <em>Vertices</em>}</li> | ||
32 | * </ul> | ||
33 | * | ||
34 | * @generated | ||
35 | */ | ||
36 | public class RegionImpl extends MinimalEObjectImpl.Container implements Region { | ||
37 | /** | ||
38 | * The cached value of the '{@link #getVertices() <em>Vertices</em>}' containment reference list. | ||
39 | * <!-- begin-user-doc --> | ||
40 | * <!-- end-user-doc --> | ||
41 | * @see #getVertices() | ||
42 | * @generated | ||
43 | * @ordered | ||
44 | */ | ||
45 | protected EList<Vertex> vertices; | ||
46 | |||
47 | /** | ||
48 | * <!-- begin-user-doc --> | ||
49 | * <!-- end-user-doc --> | ||
50 | * @generated | ||
51 | */ | ||
52 | protected RegionImpl() { | ||
53 | super(); | ||
54 | } | ||
55 | |||
56 | /** | ||
57 | * <!-- begin-user-doc --> | ||
58 | * <!-- end-user-doc --> | ||
59 | * @generated | ||
60 | */ | ||
61 | @Override | ||
62 | protected EClass eStaticClass() { | ||
63 | return YakindummPackage.Literals.REGION; | ||
64 | } | ||
65 | |||
66 | /** | ||
67 | * <!-- begin-user-doc --> | ||
68 | * <!-- end-user-doc --> | ||
69 | * @generated | ||
70 | */ | ||
71 | public EList<Vertex> getVertices() { | ||
72 | if (vertices == null) { | ||
73 | vertices = new EObjectContainmentEList<Vertex>(Vertex.class, this, YakindummPackage.REGION__VERTICES); | ||
74 | } | ||
75 | return vertices; | ||
76 | } | ||
77 | |||
78 | /** | ||
79 | * <!-- begin-user-doc --> | ||
80 | * <!-- end-user-doc --> | ||
81 | * @generated | ||
82 | */ | ||
83 | @Override | ||
84 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
85 | switch (featureID) { | ||
86 | case YakindummPackage.REGION__VERTICES: | ||
87 | return ((InternalEList<?>)getVertices()).basicRemove(otherEnd, msgs); | ||
88 | } | ||
89 | return super.eInverseRemove(otherEnd, featureID, msgs); | ||
90 | } | ||
91 | |||
92 | /** | ||
93 | * <!-- begin-user-doc --> | ||
94 | * <!-- end-user-doc --> | ||
95 | * @generated | ||
96 | */ | ||
97 | @Override | ||
98 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
99 | switch (featureID) { | ||
100 | case YakindummPackage.REGION__VERTICES: | ||
101 | return getVertices(); | ||
102 | } | ||
103 | return super.eGet(featureID, resolve, coreType); | ||
104 | } | ||
105 | |||
106 | /** | ||
107 | * <!-- begin-user-doc --> | ||
108 | * <!-- end-user-doc --> | ||
109 | * @generated | ||
110 | */ | ||
111 | @SuppressWarnings("unchecked") | ||
112 | @Override | ||
113 | public void eSet(int featureID, Object newValue) { | ||
114 | switch (featureID) { | ||
115 | case YakindummPackage.REGION__VERTICES: | ||
116 | getVertices().clear(); | ||
117 | getVertices().addAll((Collection<? extends Vertex>)newValue); | ||
118 | return; | ||
119 | } | ||
120 | super.eSet(featureID, newValue); | ||
121 | } | ||
122 | |||
123 | /** | ||
124 | * <!-- begin-user-doc --> | ||
125 | * <!-- end-user-doc --> | ||
126 | * @generated | ||
127 | */ | ||
128 | @Override | ||
129 | public void eUnset(int featureID) { | ||
130 | switch (featureID) { | ||
131 | case YakindummPackage.REGION__VERTICES: | ||
132 | getVertices().clear(); | ||
133 | return; | ||
134 | } | ||
135 | super.eUnset(featureID); | ||
136 | } | ||
137 | |||
138 | /** | ||
139 | * <!-- begin-user-doc --> | ||
140 | * <!-- end-user-doc --> | ||
141 | * @generated | ||
142 | */ | ||
143 | @Override | ||
144 | public boolean eIsSet(int featureID) { | ||
145 | switch (featureID) { | ||
146 | case YakindummPackage.REGION__VERTICES: | ||
147 | return vertices != null && !vertices.isEmpty(); | ||
148 | } | ||
149 | return super.eIsSet(featureID); | ||
150 | } | ||
151 | |||
152 | } //RegionImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/RegularStateImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/RegularStateImpl.java new file mode 100644 index 00000000..2ada6da9 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/RegularStateImpl.java | |||
@@ -0,0 +1,37 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.RegularState; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
7 | |||
8 | import org.eclipse.emf.ecore.EClass; | ||
9 | |||
10 | /** | ||
11 | * <!-- begin-user-doc --> | ||
12 | * An implementation of the model object '<em><b>Regular State</b></em>'. | ||
13 | * <!-- end-user-doc --> | ||
14 | * | ||
15 | * @generated | ||
16 | */ | ||
17 | public abstract class RegularStateImpl extends VertexImpl implements RegularState { | ||
18 | /** | ||
19 | * <!-- begin-user-doc --> | ||
20 | * <!-- end-user-doc --> | ||
21 | * @generated | ||
22 | */ | ||
23 | protected RegularStateImpl() { | ||
24 | super(); | ||
25 | } | ||
26 | |||
27 | /** | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | @Override | ||
33 | protected EClass eStaticClass() { | ||
34 | return YakindummPackage.Literals.REGULAR_STATE; | ||
35 | } | ||
36 | |||
37 | } //RegularStateImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/StateImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/StateImpl.java new file mode 100644 index 00000000..080bed16 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/StateImpl.java | |||
@@ -0,0 +1,183 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region; | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.State; | ||
8 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
9 | |||
10 | import java.util.Collection; | ||
11 | |||
12 | import org.eclipse.emf.common.notify.NotificationChain; | ||
13 | |||
14 | import org.eclipse.emf.common.util.EList; | ||
15 | |||
16 | import org.eclipse.emf.ecore.EClass; | ||
17 | import org.eclipse.emf.ecore.InternalEObject; | ||
18 | |||
19 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; | ||
20 | import org.eclipse.emf.ecore.util.InternalEList; | ||
21 | |||
22 | /** | ||
23 | * <!-- begin-user-doc --> | ||
24 | * An implementation of the model object '<em><b>State</b></em>'. | ||
25 | * <!-- end-user-doc --> | ||
26 | * <p> | ||
27 | * The following features are implemented: | ||
28 | * </p> | ||
29 | * <ul> | ||
30 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.StateImpl#getRegions <em>Regions</em>}</li> | ||
31 | * </ul> | ||
32 | * | ||
33 | * @generated | ||
34 | */ | ||
35 | public class StateImpl extends RegularStateImpl implements State { | ||
36 | /** | ||
37 | * The cached value of the '{@link #getRegions() <em>Regions</em>}' containment reference list. | ||
38 | * <!-- begin-user-doc --> | ||
39 | * <!-- end-user-doc --> | ||
40 | * @see #getRegions() | ||
41 | * @generated | ||
42 | * @ordered | ||
43 | */ | ||
44 | protected EList<Region> regions; | ||
45 | |||
46 | /** | ||
47 | * <!-- begin-user-doc --> | ||
48 | * <!-- end-user-doc --> | ||
49 | * @generated | ||
50 | */ | ||
51 | protected StateImpl() { | ||
52 | super(); | ||
53 | } | ||
54 | |||
55 | /** | ||
56 | * <!-- begin-user-doc --> | ||
57 | * <!-- end-user-doc --> | ||
58 | * @generated | ||
59 | */ | ||
60 | @Override | ||
61 | protected EClass eStaticClass() { | ||
62 | return YakindummPackage.Literals.STATE; | ||
63 | } | ||
64 | |||
65 | /** | ||
66 | * <!-- begin-user-doc --> | ||
67 | * <!-- end-user-doc --> | ||
68 | * @generated | ||
69 | */ | ||
70 | public EList<Region> getRegions() { | ||
71 | if (regions == null) { | ||
72 | regions = new EObjectContainmentEList<Region>(Region.class, this, YakindummPackage.STATE__REGIONS); | ||
73 | } | ||
74 | return regions; | ||
75 | } | ||
76 | |||
77 | /** | ||
78 | * <!-- begin-user-doc --> | ||
79 | * <!-- end-user-doc --> | ||
80 | * @generated | ||
81 | */ | ||
82 | @Override | ||
83 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
84 | switch (featureID) { | ||
85 | case YakindummPackage.STATE__REGIONS: | ||
86 | return ((InternalEList<?>)getRegions()).basicRemove(otherEnd, msgs); | ||
87 | } | ||
88 | return super.eInverseRemove(otherEnd, featureID, msgs); | ||
89 | } | ||
90 | |||
91 | /** | ||
92 | * <!-- begin-user-doc --> | ||
93 | * <!-- end-user-doc --> | ||
94 | * @generated | ||
95 | */ | ||
96 | @Override | ||
97 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
98 | switch (featureID) { | ||
99 | case YakindummPackage.STATE__REGIONS: | ||
100 | return getRegions(); | ||
101 | } | ||
102 | return super.eGet(featureID, resolve, coreType); | ||
103 | } | ||
104 | |||
105 | /** | ||
106 | * <!-- begin-user-doc --> | ||
107 | * <!-- end-user-doc --> | ||
108 | * @generated | ||
109 | */ | ||
110 | @SuppressWarnings("unchecked") | ||
111 | @Override | ||
112 | public void eSet(int featureID, Object newValue) { | ||
113 | switch (featureID) { | ||
114 | case YakindummPackage.STATE__REGIONS: | ||
115 | getRegions().clear(); | ||
116 | getRegions().addAll((Collection<? extends Region>)newValue); | ||
117 | return; | ||
118 | } | ||
119 | super.eSet(featureID, newValue); | ||
120 | } | ||
121 | |||
122 | /** | ||
123 | * <!-- begin-user-doc --> | ||
124 | * <!-- end-user-doc --> | ||
125 | * @generated | ||
126 | */ | ||
127 | @Override | ||
128 | public void eUnset(int featureID) { | ||
129 | switch (featureID) { | ||
130 | case YakindummPackage.STATE__REGIONS: | ||
131 | getRegions().clear(); | ||
132 | return; | ||
133 | } | ||
134 | super.eUnset(featureID); | ||
135 | } | ||
136 | |||
137 | /** | ||
138 | * <!-- begin-user-doc --> | ||
139 | * <!-- end-user-doc --> | ||
140 | * @generated | ||
141 | */ | ||
142 | @Override | ||
143 | public boolean eIsSet(int featureID) { | ||
144 | switch (featureID) { | ||
145 | case YakindummPackage.STATE__REGIONS: | ||
146 | return regions != null && !regions.isEmpty(); | ||
147 | } | ||
148 | return super.eIsSet(featureID); | ||
149 | } | ||
150 | |||
151 | /** | ||
152 | * <!-- begin-user-doc --> | ||
153 | * <!-- end-user-doc --> | ||
154 | * @generated | ||
155 | */ | ||
156 | @Override | ||
157 | public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { | ||
158 | if (baseClass == CompositeElement.class) { | ||
159 | switch (derivedFeatureID) { | ||
160 | case YakindummPackage.STATE__REGIONS: return YakindummPackage.COMPOSITE_ELEMENT__REGIONS; | ||
161 | default: return -1; | ||
162 | } | ||
163 | } | ||
164 | return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); | ||
165 | } | ||
166 | |||
167 | /** | ||
168 | * <!-- begin-user-doc --> | ||
169 | * <!-- end-user-doc --> | ||
170 | * @generated | ||
171 | */ | ||
172 | @Override | ||
173 | public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { | ||
174 | if (baseClass == CompositeElement.class) { | ||
175 | switch (baseFeatureID) { | ||
176 | case YakindummPackage.COMPOSITE_ELEMENT__REGIONS: return YakindummPackage.STATE__REGIONS; | ||
177 | default: return -1; | ||
178 | } | ||
179 | } | ||
180 | return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); | ||
181 | } | ||
182 | |||
183 | } //StateImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/StatechartImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/StatechartImpl.java new file mode 100644 index 00000000..0b48e8d8 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/StatechartImpl.java | |||
@@ -0,0 +1,37 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Statechart; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
7 | |||
8 | import org.eclipse.emf.ecore.EClass; | ||
9 | |||
10 | /** | ||
11 | * <!-- begin-user-doc --> | ||
12 | * An implementation of the model object '<em><b>Statechart</b></em>'. | ||
13 | * <!-- end-user-doc --> | ||
14 | * | ||
15 | * @generated | ||
16 | */ | ||
17 | public class StatechartImpl extends CompositeElementImpl implements Statechart { | ||
18 | /** | ||
19 | * <!-- begin-user-doc --> | ||
20 | * <!-- end-user-doc --> | ||
21 | * @generated | ||
22 | */ | ||
23 | protected StatechartImpl() { | ||
24 | super(); | ||
25 | } | ||
26 | |||
27 | /** | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | @Override | ||
33 | protected EClass eStaticClass() { | ||
34 | return YakindummPackage.Literals.STATECHART; | ||
35 | } | ||
36 | |||
37 | } //StatechartImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/TransitionImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/TransitionImpl.java new file mode 100644 index 00000000..875964a2 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/TransitionImpl.java | |||
@@ -0,0 +1,284 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex; | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
8 | |||
9 | import org.eclipse.emf.common.notify.Notification; | ||
10 | import org.eclipse.emf.common.notify.NotificationChain; | ||
11 | |||
12 | import org.eclipse.emf.ecore.EClass; | ||
13 | import org.eclipse.emf.ecore.InternalEObject; | ||
14 | |||
15 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
16 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | ||
17 | |||
18 | import org.eclipse.emf.ecore.util.EcoreUtil; | ||
19 | |||
20 | /** | ||
21 | * <!-- begin-user-doc --> | ||
22 | * An implementation of the model object '<em><b>Transition</b></em>'. | ||
23 | * <!-- end-user-doc --> | ||
24 | * <p> | ||
25 | * The following features are implemented: | ||
26 | * </p> | ||
27 | * <ul> | ||
28 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.TransitionImpl#getTarget <em>Target</em>}</li> | ||
29 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.TransitionImpl#getSource <em>Source</em>}</li> | ||
30 | * </ul> | ||
31 | * | ||
32 | * @generated | ||
33 | */ | ||
34 | public class TransitionImpl extends MinimalEObjectImpl.Container implements Transition { | ||
35 | /** | ||
36 | * The cached value of the '{@link #getTarget() <em>Target</em>}' reference. | ||
37 | * <!-- begin-user-doc --> | ||
38 | * <!-- end-user-doc --> | ||
39 | * @see #getTarget() | ||
40 | * @generated | ||
41 | * @ordered | ||
42 | */ | ||
43 | protected Vertex target; | ||
44 | |||
45 | /** | ||
46 | * <!-- begin-user-doc --> | ||
47 | * <!-- end-user-doc --> | ||
48 | * @generated | ||
49 | */ | ||
50 | protected TransitionImpl() { | ||
51 | super(); | ||
52 | } | ||
53 | |||
54 | /** | ||
55 | * <!-- begin-user-doc --> | ||
56 | * <!-- end-user-doc --> | ||
57 | * @generated | ||
58 | */ | ||
59 | @Override | ||
60 | protected EClass eStaticClass() { | ||
61 | return YakindummPackage.Literals.TRANSITION; | ||
62 | } | ||
63 | |||
64 | /** | ||
65 | * <!-- begin-user-doc --> | ||
66 | * <!-- end-user-doc --> | ||
67 | * @generated | ||
68 | */ | ||
69 | public Vertex getTarget() { | ||
70 | if (target != null && target.eIsProxy()) { | ||
71 | InternalEObject oldTarget = (InternalEObject)target; | ||
72 | target = (Vertex)eResolveProxy(oldTarget); | ||
73 | if (target != oldTarget) { | ||
74 | if (eNotificationRequired()) | ||
75 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, YakindummPackage.TRANSITION__TARGET, oldTarget, target)); | ||
76 | } | ||
77 | } | ||
78 | return target; | ||
79 | } | ||
80 | |||
81 | /** | ||
82 | * <!-- begin-user-doc --> | ||
83 | * <!-- end-user-doc --> | ||
84 | * @generated | ||
85 | */ | ||
86 | public Vertex basicGetTarget() { | ||
87 | return target; | ||
88 | } | ||
89 | |||
90 | /** | ||
91 | * <!-- begin-user-doc --> | ||
92 | * <!-- end-user-doc --> | ||
93 | * @generated | ||
94 | */ | ||
95 | public NotificationChain basicSetTarget(Vertex newTarget, NotificationChain msgs) { | ||
96 | Vertex oldTarget = target; | ||
97 | target = newTarget; | ||
98 | if (eNotificationRequired()) { | ||
99 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, YakindummPackage.TRANSITION__TARGET, oldTarget, newTarget); | ||
100 | if (msgs == null) msgs = notification; else msgs.add(notification); | ||
101 | } | ||
102 | return msgs; | ||
103 | } | ||
104 | |||
105 | /** | ||
106 | * <!-- begin-user-doc --> | ||
107 | * <!-- end-user-doc --> | ||
108 | * @generated | ||
109 | */ | ||
110 | public void setTarget(Vertex newTarget) { | ||
111 | if (newTarget != target) { | ||
112 | NotificationChain msgs = null; | ||
113 | if (target != null) | ||
114 | msgs = ((InternalEObject)target).eInverseRemove(this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs); | ||
115 | if (newTarget != null) | ||
116 | msgs = ((InternalEObject)newTarget).eInverseAdd(this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs); | ||
117 | msgs = basicSetTarget(newTarget, msgs); | ||
118 | if (msgs != null) msgs.dispatch(); | ||
119 | } | ||
120 | else if (eNotificationRequired()) | ||
121 | eNotify(new ENotificationImpl(this, Notification.SET, YakindummPackage.TRANSITION__TARGET, newTarget, newTarget)); | ||
122 | } | ||
123 | |||
124 | /** | ||
125 | * <!-- begin-user-doc --> | ||
126 | * <!-- end-user-doc --> | ||
127 | * @generated | ||
128 | */ | ||
129 | public Vertex getSource() { | ||
130 | if (eContainerFeatureID() != YakindummPackage.TRANSITION__SOURCE) return null; | ||
131 | return (Vertex)eInternalContainer(); | ||
132 | } | ||
133 | |||
134 | /** | ||
135 | * <!-- begin-user-doc --> | ||
136 | * <!-- end-user-doc --> | ||
137 | * @generated | ||
138 | */ | ||
139 | public NotificationChain basicSetSource(Vertex newSource, NotificationChain msgs) { | ||
140 | msgs = eBasicSetContainer((InternalEObject)newSource, YakindummPackage.TRANSITION__SOURCE, msgs); | ||
141 | return msgs; | ||
142 | } | ||
143 | |||
144 | /** | ||
145 | * <!-- begin-user-doc --> | ||
146 | * <!-- end-user-doc --> | ||
147 | * @generated | ||
148 | */ | ||
149 | public void setSource(Vertex newSource) { | ||
150 | if (newSource != eInternalContainer() || (eContainerFeatureID() != YakindummPackage.TRANSITION__SOURCE && newSource != null)) { | ||
151 | if (EcoreUtil.isAncestor(this, newSource)) | ||
152 | throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); | ||
153 | NotificationChain msgs = null; | ||
154 | if (eInternalContainer() != null) | ||
155 | msgs = eBasicRemoveFromContainer(msgs); | ||
156 | if (newSource != null) | ||
157 | msgs = ((InternalEObject)newSource).eInverseAdd(this, YakindummPackage.VERTEX__OUTGOING_TRANSITIONS, Vertex.class, msgs); | ||
158 | msgs = basicSetSource(newSource, msgs); | ||
159 | if (msgs != null) msgs.dispatch(); | ||
160 | } | ||
161 | else if (eNotificationRequired()) | ||
162 | eNotify(new ENotificationImpl(this, Notification.SET, YakindummPackage.TRANSITION__SOURCE, newSource, newSource)); | ||
163 | } | ||
164 | |||
165 | /** | ||
166 | * <!-- begin-user-doc --> | ||
167 | * <!-- end-user-doc --> | ||
168 | * @generated | ||
169 | */ | ||
170 | @Override | ||
171 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
172 | switch (featureID) { | ||
173 | case YakindummPackage.TRANSITION__TARGET: | ||
174 | if (target != null) | ||
175 | msgs = ((InternalEObject)target).eInverseRemove(this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, Vertex.class, msgs); | ||
176 | return basicSetTarget((Vertex)otherEnd, msgs); | ||
177 | case YakindummPackage.TRANSITION__SOURCE: | ||
178 | if (eInternalContainer() != null) | ||
179 | msgs = eBasicRemoveFromContainer(msgs); | ||
180 | return basicSetSource((Vertex)otherEnd, msgs); | ||
181 | } | ||
182 | return super.eInverseAdd(otherEnd, featureID, msgs); | ||
183 | } | ||
184 | |||
185 | /** | ||
186 | * <!-- begin-user-doc --> | ||
187 | * <!-- end-user-doc --> | ||
188 | * @generated | ||
189 | */ | ||
190 | @Override | ||
191 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
192 | switch (featureID) { | ||
193 | case YakindummPackage.TRANSITION__TARGET: | ||
194 | return basicSetTarget(null, msgs); | ||
195 | case YakindummPackage.TRANSITION__SOURCE: | ||
196 | return basicSetSource(null, msgs); | ||
197 | } | ||
198 | return super.eInverseRemove(otherEnd, featureID, msgs); | ||
199 | } | ||
200 | |||
201 | /** | ||
202 | * <!-- begin-user-doc --> | ||
203 | * <!-- end-user-doc --> | ||
204 | * @generated | ||
205 | */ | ||
206 | @Override | ||
207 | public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { | ||
208 | switch (eContainerFeatureID()) { | ||
209 | case YakindummPackage.TRANSITION__SOURCE: | ||
210 | return eInternalContainer().eInverseRemove(this, YakindummPackage.VERTEX__OUTGOING_TRANSITIONS, Vertex.class, msgs); | ||
211 | } | ||
212 | return super.eBasicRemoveFromContainerFeature(msgs); | ||
213 | } | ||
214 | |||
215 | /** | ||
216 | * <!-- begin-user-doc --> | ||
217 | * <!-- end-user-doc --> | ||
218 | * @generated | ||
219 | */ | ||
220 | @Override | ||
221 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
222 | switch (featureID) { | ||
223 | case YakindummPackage.TRANSITION__TARGET: | ||
224 | if (resolve) return getTarget(); | ||
225 | return basicGetTarget(); | ||
226 | case YakindummPackage.TRANSITION__SOURCE: | ||
227 | return getSource(); | ||
228 | } | ||
229 | return super.eGet(featureID, resolve, coreType); | ||
230 | } | ||
231 | |||
232 | /** | ||
233 | * <!-- begin-user-doc --> | ||
234 | * <!-- end-user-doc --> | ||
235 | * @generated | ||
236 | */ | ||
237 | @Override | ||
238 | public void eSet(int featureID, Object newValue) { | ||
239 | switch (featureID) { | ||
240 | case YakindummPackage.TRANSITION__TARGET: | ||
241 | setTarget((Vertex)newValue); | ||
242 | return; | ||
243 | case YakindummPackage.TRANSITION__SOURCE: | ||
244 | setSource((Vertex)newValue); | ||
245 | return; | ||
246 | } | ||
247 | super.eSet(featureID, newValue); | ||
248 | } | ||
249 | |||
250 | /** | ||
251 | * <!-- begin-user-doc --> | ||
252 | * <!-- end-user-doc --> | ||
253 | * @generated | ||
254 | */ | ||
255 | @Override | ||
256 | public void eUnset(int featureID) { | ||
257 | switch (featureID) { | ||
258 | case YakindummPackage.TRANSITION__TARGET: | ||
259 | setTarget((Vertex)null); | ||
260 | return; | ||
261 | case YakindummPackage.TRANSITION__SOURCE: | ||
262 | setSource((Vertex)null); | ||
263 | return; | ||
264 | } | ||
265 | super.eUnset(featureID); | ||
266 | } | ||
267 | |||
268 | /** | ||
269 | * <!-- begin-user-doc --> | ||
270 | * <!-- end-user-doc --> | ||
271 | * @generated | ||
272 | */ | ||
273 | @Override | ||
274 | public boolean eIsSet(int featureID) { | ||
275 | switch (featureID) { | ||
276 | case YakindummPackage.TRANSITION__TARGET: | ||
277 | return target != null; | ||
278 | case YakindummPackage.TRANSITION__SOURCE: | ||
279 | return getSource() != null; | ||
280 | } | ||
281 | return super.eIsSet(featureID); | ||
282 | } | ||
283 | |||
284 | } //TransitionImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/VertexImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/VertexImpl.java new file mode 100644 index 00000000..66871f3f --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/VertexImpl.java | |||
@@ -0,0 +1,206 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex; | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
8 | |||
9 | import java.util.Collection; | ||
10 | |||
11 | import org.eclipse.emf.common.notify.NotificationChain; | ||
12 | |||
13 | import org.eclipse.emf.common.util.EList; | ||
14 | |||
15 | import org.eclipse.emf.ecore.EClass; | ||
16 | import org.eclipse.emf.ecore.InternalEObject; | ||
17 | |||
18 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | ||
19 | |||
20 | import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; | ||
21 | import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; | ||
22 | import org.eclipse.emf.ecore.util.InternalEList; | ||
23 | |||
24 | /** | ||
25 | * <!-- begin-user-doc --> | ||
26 | * An implementation of the model object '<em><b>Vertex</b></em>'. | ||
27 | * <!-- end-user-doc --> | ||
28 | * <p> | ||
29 | * The following features are implemented: | ||
30 | * </p> | ||
31 | * <ul> | ||
32 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.VertexImpl#getIncomingTransitions <em>Incoming Transitions</em>}</li> | ||
33 | * <li>{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl.VertexImpl#getOutgoingTransitions <em>Outgoing Transitions</em>}</li> | ||
34 | * </ul> | ||
35 | * | ||
36 | * @generated | ||
37 | */ | ||
38 | public abstract class VertexImpl extends MinimalEObjectImpl.Container implements Vertex { | ||
39 | /** | ||
40 | * The cached value of the '{@link #getIncomingTransitions() <em>Incoming Transitions</em>}' reference list. | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @see #getIncomingTransitions() | ||
44 | * @generated | ||
45 | * @ordered | ||
46 | */ | ||
47 | protected EList<Transition> incomingTransitions; | ||
48 | |||
49 | /** | ||
50 | * The cached value of the '{@link #getOutgoingTransitions() <em>Outgoing Transitions</em>}' containment reference list. | ||
51 | * <!-- begin-user-doc --> | ||
52 | * <!-- end-user-doc --> | ||
53 | * @see #getOutgoingTransitions() | ||
54 | * @generated | ||
55 | * @ordered | ||
56 | */ | ||
57 | protected EList<Transition> outgoingTransitions; | ||
58 | |||
59 | /** | ||
60 | * <!-- begin-user-doc --> | ||
61 | * <!-- end-user-doc --> | ||
62 | * @generated | ||
63 | */ | ||
64 | protected VertexImpl() { | ||
65 | super(); | ||
66 | } | ||
67 | |||
68 | /** | ||
69 | * <!-- begin-user-doc --> | ||
70 | * <!-- end-user-doc --> | ||
71 | * @generated | ||
72 | */ | ||
73 | @Override | ||
74 | protected EClass eStaticClass() { | ||
75 | return YakindummPackage.Literals.VERTEX; | ||
76 | } | ||
77 | |||
78 | /** | ||
79 | * <!-- begin-user-doc --> | ||
80 | * <!-- end-user-doc --> | ||
81 | * @generated | ||
82 | */ | ||
83 | public EList<Transition> getIncomingTransitions() { | ||
84 | if (incomingTransitions == null) { | ||
85 | incomingTransitions = new EObjectWithInverseResolvingEList<Transition>(Transition.class, this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, YakindummPackage.TRANSITION__TARGET); | ||
86 | } | ||
87 | return incomingTransitions; | ||
88 | } | ||
89 | |||
90 | /** | ||
91 | * <!-- begin-user-doc --> | ||
92 | * <!-- end-user-doc --> | ||
93 | * @generated | ||
94 | */ | ||
95 | public EList<Transition> getOutgoingTransitions() { | ||
96 | if (outgoingTransitions == null) { | ||
97 | outgoingTransitions = new EObjectContainmentWithInverseEList<Transition>(Transition.class, this, YakindummPackage.VERTEX__OUTGOING_TRANSITIONS, YakindummPackage.TRANSITION__SOURCE); | ||
98 | } | ||
99 | return outgoingTransitions; | ||
100 | } | ||
101 | |||
102 | /** | ||
103 | * <!-- begin-user-doc --> | ||
104 | * <!-- end-user-doc --> | ||
105 | * @generated | ||
106 | */ | ||
107 | @SuppressWarnings("unchecked") | ||
108 | @Override | ||
109 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
110 | switch (featureID) { | ||
111 | case YakindummPackage.VERTEX__INCOMING_TRANSITIONS: | ||
112 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncomingTransitions()).basicAdd(otherEnd, msgs); | ||
113 | case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS: | ||
114 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingTransitions()).basicAdd(otherEnd, msgs); | ||
115 | } | ||
116 | return super.eInverseAdd(otherEnd, featureID, msgs); | ||
117 | } | ||
118 | |||
119 | /** | ||
120 | * <!-- begin-user-doc --> | ||
121 | * <!-- end-user-doc --> | ||
122 | * @generated | ||
123 | */ | ||
124 | @Override | ||
125 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
126 | switch (featureID) { | ||
127 | case YakindummPackage.VERTEX__INCOMING_TRANSITIONS: | ||
128 | return ((InternalEList<?>)getIncomingTransitions()).basicRemove(otherEnd, msgs); | ||
129 | case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS: | ||
130 | return ((InternalEList<?>)getOutgoingTransitions()).basicRemove(otherEnd, msgs); | ||
131 | } | ||
132 | return super.eInverseRemove(otherEnd, featureID, msgs); | ||
133 | } | ||
134 | |||
135 | /** | ||
136 | * <!-- begin-user-doc --> | ||
137 | * <!-- end-user-doc --> | ||
138 | * @generated | ||
139 | */ | ||
140 | @Override | ||
141 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
142 | switch (featureID) { | ||
143 | case YakindummPackage.VERTEX__INCOMING_TRANSITIONS: | ||
144 | return getIncomingTransitions(); | ||
145 | case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS: | ||
146 | return getOutgoingTransitions(); | ||
147 | } | ||
148 | return super.eGet(featureID, resolve, coreType); | ||
149 | } | ||
150 | |||
151 | /** | ||
152 | * <!-- begin-user-doc --> | ||
153 | * <!-- end-user-doc --> | ||
154 | * @generated | ||
155 | */ | ||
156 | @SuppressWarnings("unchecked") | ||
157 | @Override | ||
158 | public void eSet(int featureID, Object newValue) { | ||
159 | switch (featureID) { | ||
160 | case YakindummPackage.VERTEX__INCOMING_TRANSITIONS: | ||
161 | getIncomingTransitions().clear(); | ||
162 | getIncomingTransitions().addAll((Collection<? extends Transition>)newValue); | ||
163 | return; | ||
164 | case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS: | ||
165 | getOutgoingTransitions().clear(); | ||
166 | getOutgoingTransitions().addAll((Collection<? extends Transition>)newValue); | ||
167 | return; | ||
168 | } | ||
169 | super.eSet(featureID, newValue); | ||
170 | } | ||
171 | |||
172 | /** | ||
173 | * <!-- begin-user-doc --> | ||
174 | * <!-- end-user-doc --> | ||
175 | * @generated | ||
176 | */ | ||
177 | @Override | ||
178 | public void eUnset(int featureID) { | ||
179 | switch (featureID) { | ||
180 | case YakindummPackage.VERTEX__INCOMING_TRANSITIONS: | ||
181 | getIncomingTransitions().clear(); | ||
182 | return; | ||
183 | case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS: | ||
184 | getOutgoingTransitions().clear(); | ||
185 | return; | ||
186 | } | ||
187 | super.eUnset(featureID); | ||
188 | } | ||
189 | |||
190 | /** | ||
191 | * <!-- begin-user-doc --> | ||
192 | * <!-- end-user-doc --> | ||
193 | * @generated | ||
194 | */ | ||
195 | @Override | ||
196 | public boolean eIsSet(int featureID) { | ||
197 | switch (featureID) { | ||
198 | case YakindummPackage.VERTEX__INCOMING_TRANSITIONS: | ||
199 | return incomingTransitions != null && !incomingTransitions.isEmpty(); | ||
200 | case YakindummPackage.VERTEX__OUTGOING_TRANSITIONS: | ||
201 | return outgoingTransitions != null && !outgoingTransitions.isEmpty(); | ||
202 | } | ||
203 | return super.eIsSet(featureID); | ||
204 | } | ||
205 | |||
206 | } //VertexImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/YakindummFactoryImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/YakindummFactoryImpl.java new file mode 100644 index 00000000..d4be344f --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/YakindummFactoryImpl.java | |||
@@ -0,0 +1,223 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.*; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EClass; | ||
8 | import org.eclipse.emf.ecore.EDataType; | ||
9 | import org.eclipse.emf.ecore.EObject; | ||
10 | import org.eclipse.emf.ecore.EPackage; | ||
11 | |||
12 | import org.eclipse.emf.ecore.impl.EFactoryImpl; | ||
13 | |||
14 | import org.eclipse.emf.ecore.plugin.EcorePlugin; | ||
15 | |||
16 | /** | ||
17 | * <!-- begin-user-doc --> | ||
18 | * An implementation of the model <b>Factory</b>. | ||
19 | * <!-- end-user-doc --> | ||
20 | * @generated | ||
21 | */ | ||
22 | public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFactory { | ||
23 | /** | ||
24 | * Creates the default factory implementation. | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <!-- end-user-doc --> | ||
27 | * @generated | ||
28 | */ | ||
29 | public static YakindummFactory init() { | ||
30 | try { | ||
31 | YakindummFactory theYakindummFactory = (YakindummFactory)EPackage.Registry.INSTANCE.getEFactory(YakindummPackage.eNS_URI); | ||
32 | if (theYakindummFactory != null) { | ||
33 | return theYakindummFactory; | ||
34 | } | ||
35 | } | ||
36 | catch (Exception exception) { | ||
37 | EcorePlugin.INSTANCE.log(exception); | ||
38 | } | ||
39 | return new YakindummFactoryImpl(); | ||
40 | } | ||
41 | |||
42 | /** | ||
43 | * Creates an instance of the factory. | ||
44 | * <!-- begin-user-doc --> | ||
45 | * <!-- end-user-doc --> | ||
46 | * @generated | ||
47 | */ | ||
48 | public YakindummFactoryImpl() { | ||
49 | super(); | ||
50 | } | ||
51 | |||
52 | /** | ||
53 | * <!-- begin-user-doc --> | ||
54 | * <!-- end-user-doc --> | ||
55 | * @generated | ||
56 | */ | ||
57 | @Override | ||
58 | public EObject create(EClass eClass) { | ||
59 | switch (eClass.getClassifierID()) { | ||
60 | case YakindummPackage.REGION: return createRegion(); | ||
61 | case YakindummPackage.TRANSITION: return createTransition(); | ||
62 | case YakindummPackage.STATECHART: return createStatechart(); | ||
63 | case YakindummPackage.ENTRY: return createEntry(); | ||
64 | case YakindummPackage.STATE: return createState(); | ||
65 | case YakindummPackage.CHOICE: return createChoice(); | ||
66 | case YakindummPackage.EXIT: return createExit(); | ||
67 | case YakindummPackage.FINAL_STATE: return createFinalState(); | ||
68 | default: | ||
69 | throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); | ||
70 | } | ||
71 | } | ||
72 | |||
73 | /** | ||
74 | * <!-- begin-user-doc --> | ||
75 | * <!-- end-user-doc --> | ||
76 | * @generated | ||
77 | */ | ||
78 | @Override | ||
79 | public Object createFromString(EDataType eDataType, String initialValue) { | ||
80 | switch (eDataType.getClassifierID()) { | ||
81 | case YakindummPackage.ENTRY_TYPE: | ||
82 | return createEntryTypeFromString(eDataType, initialValue); | ||
83 | default: | ||
84 | throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); | ||
85 | } | ||
86 | } | ||
87 | |||
88 | /** | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @generated | ||
92 | */ | ||
93 | @Override | ||
94 | public String convertToString(EDataType eDataType, Object instanceValue) { | ||
95 | switch (eDataType.getClassifierID()) { | ||
96 | case YakindummPackage.ENTRY_TYPE: | ||
97 | return convertEntryTypeToString(eDataType, instanceValue); | ||
98 | default: | ||
99 | throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); | ||
100 | } | ||
101 | } | ||
102 | |||
103 | /** | ||
104 | * <!-- begin-user-doc --> | ||
105 | * <!-- end-user-doc --> | ||
106 | * @generated | ||
107 | */ | ||
108 | public Region createRegion() { | ||
109 | RegionImpl region = new RegionImpl(); | ||
110 | return region; | ||
111 | } | ||
112 | |||
113 | /** | ||
114 | * <!-- begin-user-doc --> | ||
115 | * <!-- end-user-doc --> | ||
116 | * @generated | ||
117 | */ | ||
118 | public Transition createTransition() { | ||
119 | TransitionImpl transition = new TransitionImpl(); | ||
120 | return transition; | ||
121 | } | ||
122 | |||
123 | /** | ||
124 | * <!-- begin-user-doc --> | ||
125 | * <!-- end-user-doc --> | ||
126 | * @generated | ||
127 | */ | ||
128 | public Statechart createStatechart() { | ||
129 | StatechartImpl statechart = new StatechartImpl(); | ||
130 | return statechart; | ||
131 | } | ||
132 | |||
133 | /** | ||
134 | * <!-- begin-user-doc --> | ||
135 | * <!-- end-user-doc --> | ||
136 | * @generated | ||
137 | */ | ||
138 | public Entry createEntry() { | ||
139 | EntryImpl entry = new EntryImpl(); | ||
140 | return entry; | ||
141 | } | ||
142 | |||
143 | /** | ||
144 | * <!-- begin-user-doc --> | ||
145 | * <!-- end-user-doc --> | ||
146 | * @generated | ||
147 | */ | ||
148 | public State createState() { | ||
149 | StateImpl state = new StateImpl(); | ||
150 | return state; | ||
151 | } | ||
152 | |||
153 | /** | ||
154 | * <!-- begin-user-doc --> | ||
155 | * <!-- end-user-doc --> | ||
156 | * @generated | ||
157 | */ | ||
158 | public Choice createChoice() { | ||
159 | ChoiceImpl choice = new ChoiceImpl(); | ||
160 | return choice; | ||
161 | } | ||
162 | |||
163 | /** | ||
164 | * <!-- begin-user-doc --> | ||
165 | * <!-- end-user-doc --> | ||
166 | * @generated | ||
167 | */ | ||
168 | public Exit createExit() { | ||
169 | ExitImpl exit = new ExitImpl(); | ||
170 | return exit; | ||
171 | } | ||
172 | |||
173 | /** | ||
174 | * <!-- begin-user-doc --> | ||
175 | * <!-- end-user-doc --> | ||
176 | * @generated | ||
177 | */ | ||
178 | public FinalState createFinalState() { | ||
179 | FinalStateImpl finalState = new FinalStateImpl(); | ||
180 | return finalState; | ||
181 | } | ||
182 | |||
183 | /** | ||
184 | * <!-- begin-user-doc --> | ||
185 | * <!-- end-user-doc --> | ||
186 | * @generated | ||
187 | */ | ||
188 | public EntryType createEntryTypeFromString(EDataType eDataType, String initialValue) { | ||
189 | EntryType result = EntryType.get(initialValue); | ||
190 | if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); | ||
191 | return result; | ||
192 | } | ||
193 | |||
194 | /** | ||
195 | * <!-- begin-user-doc --> | ||
196 | * <!-- end-user-doc --> | ||
197 | * @generated | ||
198 | */ | ||
199 | public String convertEntryTypeToString(EDataType eDataType, Object instanceValue) { | ||
200 | return instanceValue == null ? null : instanceValue.toString(); | ||
201 | } | ||
202 | |||
203 | /** | ||
204 | * <!-- begin-user-doc --> | ||
205 | * <!-- end-user-doc --> | ||
206 | * @generated | ||
207 | */ | ||
208 | public YakindummPackage getYakindummPackage() { | ||
209 | return (YakindummPackage)getEPackage(); | ||
210 | } | ||
211 | |||
212 | /** | ||
213 | * <!-- begin-user-doc --> | ||
214 | * <!-- end-user-doc --> | ||
215 | * @deprecated | ||
216 | * @generated | ||
217 | */ | ||
218 | @Deprecated | ||
219 | public static YakindummPackage getPackage() { | ||
220 | return YakindummPackage.eINSTANCE; | ||
221 | } | ||
222 | |||
223 | } //YakindummFactoryImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/YakindummPackageImpl.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/YakindummPackageImpl.java new file mode 100644 index 00000000..b95dc3ea --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/impl/YakindummPackageImpl.java | |||
@@ -0,0 +1,511 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.impl; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Choice; | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement; | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry; | ||
8 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.EntryType; | ||
9 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Exit; | ||
10 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.FinalState; | ||
11 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Pseudostate; | ||
12 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region; | ||
13 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.RegularState; | ||
14 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.State; | ||
15 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Statechart; | ||
16 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition; | ||
17 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex; | ||
18 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummFactory; | ||
19 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage; | ||
20 | |||
21 | import org.eclipse.emf.ecore.EAttribute; | ||
22 | import org.eclipse.emf.ecore.EClass; | ||
23 | import org.eclipse.emf.ecore.EEnum; | ||
24 | import org.eclipse.emf.ecore.EPackage; | ||
25 | import org.eclipse.emf.ecore.EReference; | ||
26 | |||
27 | import org.eclipse.emf.ecore.impl.EPackageImpl; | ||
28 | |||
29 | /** | ||
30 | * <!-- begin-user-doc --> | ||
31 | * An implementation of the model <b>Package</b>. | ||
32 | * <!-- end-user-doc --> | ||
33 | * @generated | ||
34 | */ | ||
35 | public class YakindummPackageImpl extends EPackageImpl implements YakindummPackage { | ||
36 | /** | ||
37 | * <!-- begin-user-doc --> | ||
38 | * <!-- end-user-doc --> | ||
39 | * @generated | ||
40 | */ | ||
41 | private EClass pseudostateEClass = null; | ||
42 | |||
43 | /** | ||
44 | * <!-- begin-user-doc --> | ||
45 | * <!-- end-user-doc --> | ||
46 | * @generated | ||
47 | */ | ||
48 | private EClass vertexEClass = null; | ||
49 | |||
50 | /** | ||
51 | * <!-- begin-user-doc --> | ||
52 | * <!-- end-user-doc --> | ||
53 | * @generated | ||
54 | */ | ||
55 | private EClass regionEClass = null; | ||
56 | |||
57 | /** | ||
58 | * <!-- begin-user-doc --> | ||
59 | * <!-- end-user-doc --> | ||
60 | * @generated | ||
61 | */ | ||
62 | private EClass transitionEClass = null; | ||
63 | |||
64 | /** | ||
65 | * <!-- begin-user-doc --> | ||
66 | * <!-- end-user-doc --> | ||
67 | * @generated | ||
68 | */ | ||
69 | private EClass statechartEClass = null; | ||
70 | |||
71 | /** | ||
72 | * <!-- begin-user-doc --> | ||
73 | * <!-- end-user-doc --> | ||
74 | * @generated | ||
75 | */ | ||
76 | private EClass entryEClass = null; | ||
77 | |||
78 | /** | ||
79 | * <!-- begin-user-doc --> | ||
80 | * <!-- end-user-doc --> | ||
81 | * @generated | ||
82 | */ | ||
83 | private EClass stateEClass = null; | ||
84 | |||
85 | /** | ||
86 | * <!-- begin-user-doc --> | ||
87 | * <!-- end-user-doc --> | ||
88 | * @generated | ||
89 | */ | ||
90 | private EClass regularStateEClass = null; | ||
91 | |||
92 | /** | ||
93 | * <!-- begin-user-doc --> | ||
94 | * <!-- end-user-doc --> | ||
95 | * @generated | ||
96 | */ | ||
97 | private EClass compositeElementEClass = null; | ||
98 | |||
99 | /** | ||
100 | * <!-- begin-user-doc --> | ||
101 | * <!-- end-user-doc --> | ||
102 | * @generated | ||
103 | */ | ||
104 | private EClass choiceEClass = null; | ||
105 | |||
106 | /** | ||
107 | * <!-- begin-user-doc --> | ||
108 | * <!-- end-user-doc --> | ||
109 | * @generated | ||
110 | */ | ||
111 | private EClass exitEClass = null; | ||
112 | |||
113 | /** | ||
114 | * <!-- begin-user-doc --> | ||
115 | * <!-- end-user-doc --> | ||
116 | * @generated | ||
117 | */ | ||
118 | private EClass finalStateEClass = null; | ||
119 | |||
120 | /** | ||
121 | * <!-- begin-user-doc --> | ||
122 | * <!-- end-user-doc --> | ||
123 | * @generated | ||
124 | */ | ||
125 | private EEnum entryTypeEEnum = null; | ||
126 | |||
127 | /** | ||
128 | * Creates an instance of the model <b>Package</b>, registered with | ||
129 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package | ||
130 | * package URI value. | ||
131 | * <p>Note: the correct way to create the package is via the static | ||
132 | * factory method {@link #init init()}, which also performs | ||
133 | * initialization of the package, or returns the registered package, | ||
134 | * if one already exists. | ||
135 | * <!-- begin-user-doc --> | ||
136 | * <!-- end-user-doc --> | ||
137 | * @see org.eclipse.emf.ecore.EPackage.Registry | ||
138 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage#eNS_URI | ||
139 | * @see #init() | ||
140 | * @generated | ||
141 | */ | ||
142 | private YakindummPackageImpl() { | ||
143 | super(eNS_URI, YakindummFactory.eINSTANCE); | ||
144 | } | ||
145 | |||
146 | /** | ||
147 | * <!-- begin-user-doc --> | ||
148 | * <!-- end-user-doc --> | ||
149 | * @generated | ||
150 | */ | ||
151 | private static boolean isInited = false; | ||
152 | |||
153 | /** | ||
154 | * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. | ||
155 | * | ||
156 | * <p>This method is used to initialize {@link YakindummPackage#eINSTANCE} when that field is accessed. | ||
157 | * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. | ||
158 | * <!-- begin-user-doc --> | ||
159 | * <!-- end-user-doc --> | ||
160 | * @see #eNS_URI | ||
161 | * @see #createPackageContents() | ||
162 | * @see #initializePackageContents() | ||
163 | * @generated | ||
164 | */ | ||
165 | public static YakindummPackage init() { | ||
166 | if (isInited) return (YakindummPackage)EPackage.Registry.INSTANCE.getEPackage(YakindummPackage.eNS_URI); | ||
167 | |||
168 | // Obtain or create and register package | ||
169 | Object registeredYakindummPackage = EPackage.Registry.INSTANCE.get(eNS_URI); | ||
170 | YakindummPackageImpl theYakindummPackage = registeredYakindummPackage instanceof YakindummPackageImpl ? (YakindummPackageImpl)registeredYakindummPackage : new YakindummPackageImpl(); | ||
171 | |||
172 | isInited = true; | ||
173 | |||
174 | // Create package meta-data objects | ||
175 | theYakindummPackage.createPackageContents(); | ||
176 | |||
177 | // Initialize created meta-data | ||
178 | theYakindummPackage.initializePackageContents(); | ||
179 | |||
180 | // Mark meta-data to indicate it can't be changed | ||
181 | theYakindummPackage.freeze(); | ||
182 | |||
183 | // Update the registry and return the package | ||
184 | EPackage.Registry.INSTANCE.put(YakindummPackage.eNS_URI, theYakindummPackage); | ||
185 | return theYakindummPackage; | ||
186 | } | ||
187 | |||
188 | /** | ||
189 | * <!-- begin-user-doc --> | ||
190 | * <!-- end-user-doc --> | ||
191 | * @generated | ||
192 | */ | ||
193 | public EClass getPseudostate() { | ||
194 | return pseudostateEClass; | ||
195 | } | ||
196 | |||
197 | /** | ||
198 | * <!-- begin-user-doc --> | ||
199 | * <!-- end-user-doc --> | ||
200 | * @generated | ||
201 | */ | ||
202 | public EClass getVertex() { | ||
203 | return vertexEClass; | ||
204 | } | ||
205 | |||
206 | /** | ||
207 | * <!-- begin-user-doc --> | ||
208 | * <!-- end-user-doc --> | ||
209 | * @generated | ||
210 | */ | ||
211 | public EReference getVertex_IncomingTransitions() { | ||
212 | return (EReference)vertexEClass.getEStructuralFeatures().get(0); | ||
213 | } | ||
214 | |||
215 | /** | ||
216 | * <!-- begin-user-doc --> | ||
217 | * <!-- end-user-doc --> | ||
218 | * @generated | ||
219 | */ | ||
220 | public EReference getVertex_OutgoingTransitions() { | ||
221 | return (EReference)vertexEClass.getEStructuralFeatures().get(1); | ||
222 | } | ||
223 | |||
224 | /** | ||
225 | * <!-- begin-user-doc --> | ||
226 | * <!-- end-user-doc --> | ||
227 | * @generated | ||
228 | */ | ||
229 | public EClass getRegion() { | ||
230 | return regionEClass; | ||
231 | } | ||
232 | |||
233 | /** | ||
234 | * <!-- begin-user-doc --> | ||
235 | * <!-- end-user-doc --> | ||
236 | * @generated | ||
237 | */ | ||
238 | public EReference getRegion_Vertices() { | ||
239 | return (EReference)regionEClass.getEStructuralFeatures().get(0); | ||
240 | } | ||
241 | |||
242 | /** | ||
243 | * <!-- begin-user-doc --> | ||
244 | * <!-- end-user-doc --> | ||
245 | * @generated | ||
246 | */ | ||
247 | public EClass getTransition() { | ||
248 | return transitionEClass; | ||
249 | } | ||
250 | |||
251 | /** | ||
252 | * <!-- begin-user-doc --> | ||
253 | * <!-- end-user-doc --> | ||
254 | * @generated | ||
255 | */ | ||
256 | public EReference getTransition_Target() { | ||
257 | return (EReference)transitionEClass.getEStructuralFeatures().get(0); | ||
258 | } | ||
259 | |||
260 | /** | ||
261 | * <!-- begin-user-doc --> | ||
262 | * <!-- end-user-doc --> | ||
263 | * @generated | ||
264 | */ | ||
265 | public EReference getTransition_Source() { | ||
266 | return (EReference)transitionEClass.getEStructuralFeatures().get(1); | ||
267 | } | ||
268 | |||
269 | /** | ||
270 | * <!-- begin-user-doc --> | ||
271 | * <!-- end-user-doc --> | ||
272 | * @generated | ||
273 | */ | ||
274 | public EClass getStatechart() { | ||
275 | return statechartEClass; | ||
276 | } | ||
277 | |||
278 | /** | ||
279 | * <!-- begin-user-doc --> | ||
280 | * <!-- end-user-doc --> | ||
281 | * @generated | ||
282 | */ | ||
283 | public EClass getEntry() { | ||
284 | return entryEClass; | ||
285 | } | ||
286 | |||
287 | /** | ||
288 | * <!-- begin-user-doc --> | ||
289 | * <!-- end-user-doc --> | ||
290 | * @generated | ||
291 | */ | ||
292 | public EAttribute getEntry_Type() { | ||
293 | return (EAttribute)entryEClass.getEStructuralFeatures().get(0); | ||
294 | } | ||
295 | |||
296 | /** | ||
297 | * <!-- begin-user-doc --> | ||
298 | * <!-- end-user-doc --> | ||
299 | * @generated | ||
300 | */ | ||
301 | public EClass getState() { | ||
302 | return stateEClass; | ||
303 | } | ||
304 | |||
305 | /** | ||
306 | * <!-- begin-user-doc --> | ||
307 | * <!-- end-user-doc --> | ||
308 | * @generated | ||
309 | */ | ||
310 | public EClass getRegularState() { | ||
311 | return regularStateEClass; | ||
312 | } | ||
313 | |||
314 | /** | ||
315 | * <!-- begin-user-doc --> | ||
316 | * <!-- end-user-doc --> | ||
317 | * @generated | ||
318 | */ | ||
319 | public EClass getCompositeElement() { | ||
320 | return compositeElementEClass; | ||
321 | } | ||
322 | |||
323 | /** | ||
324 | * <!-- begin-user-doc --> | ||
325 | * <!-- end-user-doc --> | ||
326 | * @generated | ||
327 | */ | ||
328 | public EReference getCompositeElement_Regions() { | ||
329 | return (EReference)compositeElementEClass.getEStructuralFeatures().get(0); | ||
330 | } | ||
331 | |||
332 | /** | ||
333 | * <!-- begin-user-doc --> | ||
334 | * <!-- end-user-doc --> | ||
335 | * @generated | ||
336 | */ | ||
337 | public EClass getChoice() { | ||
338 | return choiceEClass; | ||
339 | } | ||
340 | |||
341 | /** | ||
342 | * <!-- begin-user-doc --> | ||
343 | * <!-- end-user-doc --> | ||
344 | * @generated | ||
345 | */ | ||
346 | public EClass getExit() { | ||
347 | return exitEClass; | ||
348 | } | ||
349 | |||
350 | /** | ||
351 | * <!-- begin-user-doc --> | ||
352 | * <!-- end-user-doc --> | ||
353 | * @generated | ||
354 | */ | ||
355 | public EClass getFinalState() { | ||
356 | return finalStateEClass; | ||
357 | } | ||
358 | |||
359 | /** | ||
360 | * <!-- begin-user-doc --> | ||
361 | * <!-- end-user-doc --> | ||
362 | * @generated | ||
363 | */ | ||
364 | public EEnum getEntryType() { | ||
365 | return entryTypeEEnum; | ||
366 | } | ||
367 | |||
368 | /** | ||
369 | * <!-- begin-user-doc --> | ||
370 | * <!-- end-user-doc --> | ||
371 | * @generated | ||
372 | */ | ||
373 | public YakindummFactory getYakindummFactory() { | ||
374 | return (YakindummFactory)getEFactoryInstance(); | ||
375 | } | ||
376 | |||
377 | /** | ||
378 | * <!-- begin-user-doc --> | ||
379 | * <!-- end-user-doc --> | ||
380 | * @generated | ||
381 | */ | ||
382 | private boolean isCreated = false; | ||
383 | |||
384 | /** | ||
385 | * Creates the meta-model objects for the package. This method is | ||
386 | * guarded to have no affect on any invocation but its first. | ||
387 | * <!-- begin-user-doc --> | ||
388 | * <!-- end-user-doc --> | ||
389 | * @generated | ||
390 | */ | ||
391 | public void createPackageContents() { | ||
392 | if (isCreated) return; | ||
393 | isCreated = true; | ||
394 | |||
395 | // Create classes and their features | ||
396 | pseudostateEClass = createEClass(PSEUDOSTATE); | ||
397 | |||
398 | vertexEClass = createEClass(VERTEX); | ||
399 | createEReference(vertexEClass, VERTEX__INCOMING_TRANSITIONS); | ||
400 | createEReference(vertexEClass, VERTEX__OUTGOING_TRANSITIONS); | ||
401 | |||
402 | regionEClass = createEClass(REGION); | ||
403 | createEReference(regionEClass, REGION__VERTICES); | ||
404 | |||
405 | transitionEClass = createEClass(TRANSITION); | ||
406 | createEReference(transitionEClass, TRANSITION__TARGET); | ||
407 | createEReference(transitionEClass, TRANSITION__SOURCE); | ||
408 | |||
409 | statechartEClass = createEClass(STATECHART); | ||
410 | |||
411 | entryEClass = createEClass(ENTRY); | ||
412 | createEAttribute(entryEClass, ENTRY__TYPE); | ||
413 | |||
414 | stateEClass = createEClass(STATE); | ||
415 | |||
416 | regularStateEClass = createEClass(REGULAR_STATE); | ||
417 | |||
418 | compositeElementEClass = createEClass(COMPOSITE_ELEMENT); | ||
419 | createEReference(compositeElementEClass, COMPOSITE_ELEMENT__REGIONS); | ||
420 | |||
421 | choiceEClass = createEClass(CHOICE); | ||
422 | |||
423 | exitEClass = createEClass(EXIT); | ||
424 | |||
425 | finalStateEClass = createEClass(FINAL_STATE); | ||
426 | |||
427 | // Create enums | ||
428 | entryTypeEEnum = createEEnum(ENTRY_TYPE); | ||
429 | } | ||
430 | |||
431 | /** | ||
432 | * <!-- begin-user-doc --> | ||
433 | * <!-- end-user-doc --> | ||
434 | * @generated | ||
435 | */ | ||
436 | private boolean isInitialized = false; | ||
437 | |||
438 | /** | ||
439 | * Complete the initialization of the package and its meta-model. This | ||
440 | * method is guarded to have no affect on any invocation but its first. | ||
441 | * <!-- begin-user-doc --> | ||
442 | * <!-- end-user-doc --> | ||
443 | * @generated | ||
444 | */ | ||
445 | public void initializePackageContents() { | ||
446 | if (isInitialized) return; | ||
447 | isInitialized = true; | ||
448 | |||
449 | // Initialize package | ||
450 | setName(eNAME); | ||
451 | setNsPrefix(eNS_PREFIX); | ||
452 | setNsURI(eNS_URI); | ||
453 | |||
454 | // Create type parameters | ||
455 | |||
456 | // Set bounds for type parameters | ||
457 | |||
458 | // Add supertypes to classes | ||
459 | pseudostateEClass.getESuperTypes().add(this.getVertex()); | ||
460 | statechartEClass.getESuperTypes().add(this.getCompositeElement()); | ||
461 | entryEClass.getESuperTypes().add(this.getPseudostate()); | ||
462 | stateEClass.getESuperTypes().add(this.getRegularState()); | ||
463 | stateEClass.getESuperTypes().add(this.getCompositeElement()); | ||
464 | regularStateEClass.getESuperTypes().add(this.getVertex()); | ||
465 | choiceEClass.getESuperTypes().add(this.getPseudostate()); | ||
466 | exitEClass.getESuperTypes().add(this.getPseudostate()); | ||
467 | finalStateEClass.getESuperTypes().add(this.getRegularState()); | ||
468 | |||
469 | // Initialize classes, features, and operations; add parameters | ||
470 | initEClass(pseudostateEClass, Pseudostate.class, "Pseudostate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
471 | |||
472 | initEClass(vertexEClass, Vertex.class, "Vertex", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
473 | initEReference(getVertex_IncomingTransitions(), this.getTransition(), this.getTransition_Target(), "incomingTransitions", null, 0, -1, Vertex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
474 | initEReference(getVertex_OutgoingTransitions(), this.getTransition(), this.getTransition_Source(), "outgoingTransitions", null, 0, -1, Vertex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
475 | |||
476 | initEClass(regionEClass, Region.class, "Region", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
477 | initEReference(getRegion_Vertices(), this.getVertex(), null, "vertices", null, 0, -1, Region.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
478 | |||
479 | initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
480 | initEReference(getTransition_Target(), this.getVertex(), this.getVertex_IncomingTransitions(), "target", null, 1, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
481 | initEReference(getTransition_Source(), this.getVertex(), this.getVertex_OutgoingTransitions(), "source", null, 0, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); | ||
482 | |||
483 | initEClass(statechartEClass, Statechart.class, "Statechart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
484 | |||
485 | initEClass(entryEClass, Entry.class, "Entry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
486 | initEAttribute(getEntry_Type(), this.getEntryType(), "Type", null, 1, 1, Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
487 | |||
488 | initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
489 | |||
490 | initEClass(regularStateEClass, RegularState.class, "RegularState", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
491 | |||
492 | initEClass(compositeElementEClass, CompositeElement.class, "CompositeElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
493 | initEReference(getCompositeElement_Regions(), this.getRegion(), null, "regions", null, 0, -1, CompositeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
494 | |||
495 | initEClass(choiceEClass, Choice.class, "Choice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
496 | |||
497 | initEClass(exitEClass, Exit.class, "Exit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
498 | |||
499 | initEClass(finalStateEClass, FinalState.class, "FinalState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
500 | |||
501 | // Initialize enums and add enum literals | ||
502 | initEEnum(entryTypeEEnum, EntryType.class, "EntryType"); | ||
503 | addEEnumLiteral(entryTypeEEnum, EntryType.NORMAL); | ||
504 | addEEnumLiteral(entryTypeEEnum, EntryType.HISTORY); | ||
505 | addEEnumLiteral(entryTypeEEnum, EntryType.DEEP_HISTORY); | ||
506 | |||
507 | // Create resource | ||
508 | createResource(eNS_URI); | ||
509 | } | ||
510 | |||
511 | } //YakindummPackageImpl | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/util/YakindummAdapterFactory.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/util/YakindummAdapterFactory.java new file mode 100644 index 00000000..b3373dfd --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/util/YakindummAdapterFactory.java | |||
@@ -0,0 +1,318 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.util; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.*; | ||
6 | |||
7 | import org.eclipse.emf.common.notify.Adapter; | ||
8 | import org.eclipse.emf.common.notify.Notifier; | ||
9 | |||
10 | import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; | ||
11 | |||
12 | import org.eclipse.emf.ecore.EObject; | ||
13 | |||
14 | /** | ||
15 | * <!-- begin-user-doc --> | ||
16 | * The <b>Adapter Factory</b> for the model. | ||
17 | * It provides an adapter <code>createXXX</code> method for each class of the model. | ||
18 | * <!-- end-user-doc --> | ||
19 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage | ||
20 | * @generated | ||
21 | */ | ||
22 | public class YakindummAdapterFactory extends AdapterFactoryImpl { | ||
23 | /** | ||
24 | * The cached model package. | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <!-- end-user-doc --> | ||
27 | * @generated | ||
28 | */ | ||
29 | protected static YakindummPackage modelPackage; | ||
30 | |||
31 | /** | ||
32 | * Creates an instance of the adapter factory. | ||
33 | * <!-- begin-user-doc --> | ||
34 | * <!-- end-user-doc --> | ||
35 | * @generated | ||
36 | */ | ||
37 | public YakindummAdapterFactory() { | ||
38 | if (modelPackage == null) { | ||
39 | modelPackage = YakindummPackage.eINSTANCE; | ||
40 | } | ||
41 | } | ||
42 | |||
43 | /** | ||
44 | * Returns whether this factory is applicable for the type of the object. | ||
45 | * <!-- begin-user-doc --> | ||
46 | * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. | ||
47 | * <!-- end-user-doc --> | ||
48 | * @return whether this factory is applicable for the type of the object. | ||
49 | * @generated | ||
50 | */ | ||
51 | @Override | ||
52 | public boolean isFactoryForType(Object object) { | ||
53 | if (object == modelPackage) { | ||
54 | return true; | ||
55 | } | ||
56 | if (object instanceof EObject) { | ||
57 | return ((EObject)object).eClass().getEPackage() == modelPackage; | ||
58 | } | ||
59 | return false; | ||
60 | } | ||
61 | |||
62 | /** | ||
63 | * The switch that delegates to the <code>createXXX</code> methods. | ||
64 | * <!-- begin-user-doc --> | ||
65 | * <!-- end-user-doc --> | ||
66 | * @generated | ||
67 | */ | ||
68 | protected YakindummSwitch<Adapter> modelSwitch = | ||
69 | new YakindummSwitch<Adapter>() { | ||
70 | @Override | ||
71 | public Adapter casePseudostate(Pseudostate object) { | ||
72 | return createPseudostateAdapter(); | ||
73 | } | ||
74 | @Override | ||
75 | public Adapter caseVertex(Vertex object) { | ||
76 | return createVertexAdapter(); | ||
77 | } | ||
78 | @Override | ||
79 | public Adapter caseRegion(Region object) { | ||
80 | return createRegionAdapter(); | ||
81 | } | ||
82 | @Override | ||
83 | public Adapter caseTransition(Transition object) { | ||
84 | return createTransitionAdapter(); | ||
85 | } | ||
86 | @Override | ||
87 | public Adapter caseStatechart(Statechart object) { | ||
88 | return createStatechartAdapter(); | ||
89 | } | ||
90 | @Override | ||
91 | public Adapter caseEntry(Entry object) { | ||
92 | return createEntryAdapter(); | ||
93 | } | ||
94 | @Override | ||
95 | public Adapter caseState(State object) { | ||
96 | return createStateAdapter(); | ||
97 | } | ||
98 | @Override | ||
99 | public Adapter caseRegularState(RegularState object) { | ||
100 | return createRegularStateAdapter(); | ||
101 | } | ||
102 | @Override | ||
103 | public Adapter caseCompositeElement(CompositeElement object) { | ||
104 | return createCompositeElementAdapter(); | ||
105 | } | ||
106 | @Override | ||
107 | public Adapter caseChoice(Choice object) { | ||
108 | return createChoiceAdapter(); | ||
109 | } | ||
110 | @Override | ||
111 | public Adapter caseExit(Exit object) { | ||
112 | return createExitAdapter(); | ||
113 | } | ||
114 | @Override | ||
115 | public Adapter caseFinalState(FinalState object) { | ||
116 | return createFinalStateAdapter(); | ||
117 | } | ||
118 | @Override | ||
119 | public Adapter defaultCase(EObject object) { | ||
120 | return createEObjectAdapter(); | ||
121 | } | ||
122 | }; | ||
123 | |||
124 | /** | ||
125 | * Creates an adapter for the <code>target</code>. | ||
126 | * <!-- begin-user-doc --> | ||
127 | * <!-- end-user-doc --> | ||
128 | * @param target the object to adapt. | ||
129 | * @return the adapter for the <code>target</code>. | ||
130 | * @generated | ||
131 | */ | ||
132 | @Override | ||
133 | public Adapter createAdapter(Notifier target) { | ||
134 | return modelSwitch.doSwitch((EObject)target); | ||
135 | } | ||
136 | |||
137 | |||
138 | /** | ||
139 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Pseudostate <em>Pseudostate</em>}'. | ||
140 | * <!-- begin-user-doc --> | ||
141 | * This default implementation returns null so that we can easily ignore cases; | ||
142 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
143 | * <!-- end-user-doc --> | ||
144 | * @return the new adapter. | ||
145 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Pseudostate | ||
146 | * @generated | ||
147 | */ | ||
148 | public Adapter createPseudostateAdapter() { | ||
149 | return null; | ||
150 | } | ||
151 | |||
152 | /** | ||
153 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex <em>Vertex</em>}'. | ||
154 | * <!-- begin-user-doc --> | ||
155 | * This default implementation returns null so that we can easily ignore cases; | ||
156 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
157 | * <!-- end-user-doc --> | ||
158 | * @return the new adapter. | ||
159 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Vertex | ||
160 | * @generated | ||
161 | */ | ||
162 | public Adapter createVertexAdapter() { | ||
163 | return null; | ||
164 | } | ||
165 | |||
166 | /** | ||
167 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region <em>Region</em>}'. | ||
168 | * <!-- begin-user-doc --> | ||
169 | * This default implementation returns null so that we can easily ignore cases; | ||
170 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
171 | * <!-- end-user-doc --> | ||
172 | * @return the new adapter. | ||
173 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Region | ||
174 | * @generated | ||
175 | */ | ||
176 | public Adapter createRegionAdapter() { | ||
177 | return null; | ||
178 | } | ||
179 | |||
180 | /** | ||
181 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition <em>Transition</em>}'. | ||
182 | * <!-- begin-user-doc --> | ||
183 | * This default implementation returns null so that we can easily ignore cases; | ||
184 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
185 | * <!-- end-user-doc --> | ||
186 | * @return the new adapter. | ||
187 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Transition | ||
188 | * @generated | ||
189 | */ | ||
190 | public Adapter createTransitionAdapter() { | ||
191 | return null; | ||
192 | } | ||
193 | |||
194 | /** | ||
195 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Statechart <em>Statechart</em>}'. | ||
196 | * <!-- begin-user-doc --> | ||
197 | * This default implementation returns null so that we can easily ignore cases; | ||
198 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
199 | * <!-- end-user-doc --> | ||
200 | * @return the new adapter. | ||
201 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Statechart | ||
202 | * @generated | ||
203 | */ | ||
204 | public Adapter createStatechartAdapter() { | ||
205 | return null; | ||
206 | } | ||
207 | |||
208 | /** | ||
209 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry <em>Entry</em>}'. | ||
210 | * <!-- begin-user-doc --> | ||
211 | * This default implementation returns null so that we can easily ignore cases; | ||
212 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
213 | * <!-- end-user-doc --> | ||
214 | * @return the new adapter. | ||
215 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Entry | ||
216 | * @generated | ||
217 | */ | ||
218 | public Adapter createEntryAdapter() { | ||
219 | return null; | ||
220 | } | ||
221 | |||
222 | /** | ||
223 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.State <em>State</em>}'. | ||
224 | * <!-- begin-user-doc --> | ||
225 | * This default implementation returns null so that we can easily ignore cases; | ||
226 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
227 | * <!-- end-user-doc --> | ||
228 | * @return the new adapter. | ||
229 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.State | ||
230 | * @generated | ||
231 | */ | ||
232 | public Adapter createStateAdapter() { | ||
233 | return null; | ||
234 | } | ||
235 | |||
236 | /** | ||
237 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.RegularState <em>Regular State</em>}'. | ||
238 | * <!-- begin-user-doc --> | ||
239 | * This default implementation returns null so that we can easily ignore cases; | ||
240 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
241 | * <!-- end-user-doc --> | ||
242 | * @return the new adapter. | ||
243 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.RegularState | ||
244 | * @generated | ||
245 | */ | ||
246 | public Adapter createRegularStateAdapter() { | ||
247 | return null; | ||
248 | } | ||
249 | |||
250 | /** | ||
251 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement <em>Composite Element</em>}'. | ||
252 | * <!-- begin-user-doc --> | ||
253 | * This default implementation returns null so that we can easily ignore cases; | ||
254 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
255 | * <!-- end-user-doc --> | ||
256 | * @return the new adapter. | ||
257 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.CompositeElement | ||
258 | * @generated | ||
259 | */ | ||
260 | public Adapter createCompositeElementAdapter() { | ||
261 | return null; | ||
262 | } | ||
263 | |||
264 | /** | ||
265 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Choice <em>Choice</em>}'. | ||
266 | * <!-- begin-user-doc --> | ||
267 | * This default implementation returns null so that we can easily ignore cases; | ||
268 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
269 | * <!-- end-user-doc --> | ||
270 | * @return the new adapter. | ||
271 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Choice | ||
272 | * @generated | ||
273 | */ | ||
274 | public Adapter createChoiceAdapter() { | ||
275 | return null; | ||
276 | } | ||
277 | |||
278 | /** | ||
279 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Exit <em>Exit</em>}'. | ||
280 | * <!-- begin-user-doc --> | ||
281 | * This default implementation returns null so that we can easily ignore cases; | ||
282 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
283 | * <!-- end-user-doc --> | ||
284 | * @return the new adapter. | ||
285 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.Exit | ||
286 | * @generated | ||
287 | */ | ||
288 | public Adapter createExitAdapter() { | ||
289 | return null; | ||
290 | } | ||
291 | |||
292 | /** | ||
293 | * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampire.yakindumm.FinalState <em>Final State</em>}'. | ||
294 | * <!-- begin-user-doc --> | ||
295 | * This default implementation returns null so that we can easily ignore cases; | ||
296 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
297 | * <!-- end-user-doc --> | ||
298 | * @return the new adapter. | ||
299 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.FinalState | ||
300 | * @generated | ||
301 | */ | ||
302 | public Adapter createFinalStateAdapter() { | ||
303 | return null; | ||
304 | } | ||
305 | |||
306 | /** | ||
307 | * Creates a new adapter for the default case. | ||
308 | * <!-- begin-user-doc --> | ||
309 | * This default implementation returns null. | ||
310 | * <!-- end-user-doc --> | ||
311 | * @return the new adapter. | ||
312 | * @generated | ||
313 | */ | ||
314 | public Adapter createEObjectAdapter() { | ||
315 | return null; | ||
316 | } | ||
317 | |||
318 | } //YakindummAdapterFactory | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/util/YakindummSwitch.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/util/YakindummSwitch.java new file mode 100644 index 00000000..422565c2 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/yakindumm/util/YakindummSwitch.java | |||
@@ -0,0 +1,355 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package ca.mcgill.ecse.dslreasoner.vampire.yakindumm.util; | ||
4 | |||
5 | import ca.mcgill.ecse.dslreasoner.vampire.yakindumm.*; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | import org.eclipse.emf.ecore.EPackage; | ||
9 | |||
10 | import org.eclipse.emf.ecore.util.Switch; | ||
11 | |||
12 | /** | ||
13 | * <!-- begin-user-doc --> | ||
14 | * The <b>Switch</b> for the model's inheritance hierarchy. | ||
15 | * It supports the call {@link #doSwitch(EObject) doSwitch(object)} | ||
16 | * to invoke the <code>caseXXX</code> method for each class of the model, | ||
17 | * starting with the actual class of the object | ||
18 | * and proceeding up the inheritance hierarchy | ||
19 | * until a non-null result is returned, | ||
20 | * which is the result of the switch. | ||
21 | * <!-- end-user-doc --> | ||
22 | * @see ca.mcgill.ecse.dslreasoner.vampire.yakindumm.YakindummPackage | ||
23 | * @generated | ||
24 | */ | ||
25 | public class YakindummSwitch<T> extends Switch<T> { | ||
26 | /** | ||
27 | * The cached model package | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | protected static YakindummPackage modelPackage; | ||
33 | |||
34 | /** | ||
35 | * Creates an instance of the switch. | ||
36 | * <!-- begin-user-doc --> | ||
37 | * <!-- end-user-doc --> | ||
38 | * @generated | ||
39 | */ | ||
40 | public YakindummSwitch() { | ||
41 | if (modelPackage == null) { | ||
42 | modelPackage = YakindummPackage.eINSTANCE; | ||
43 | } | ||
44 | } | ||
45 | |||
46 | /** | ||
47 | * Checks whether this is a switch for the given package. | ||
48 | * <!-- begin-user-doc --> | ||
49 | * <!-- end-user-doc --> | ||
50 | * @param ePackage the package in question. | ||
51 | * @return whether this is a switch for the given package. | ||
52 | * @generated | ||
53 | */ | ||
54 | @Override | ||
55 | protected boolean isSwitchFor(EPackage ePackage) { | ||
56 | return ePackage == modelPackage; | ||
57 | } | ||
58 | |||
59 | /** | ||
60 | * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. | ||
61 | * <!-- begin-user-doc --> | ||
62 | * <!-- end-user-doc --> | ||
63 | * @return the first non-null result returned by a <code>caseXXX</code> call. | ||
64 | * @generated | ||
65 | */ | ||
66 | @Override | ||
67 | protected T doSwitch(int classifierID, EObject theEObject) { | ||
68 | switch (classifierID) { | ||
69 | case YakindummPackage.PSEUDOSTATE: { | ||
70 | Pseudostate pseudostate = (Pseudostate)theEObject; | ||
71 | T result = casePseudostate(pseudostate); | ||
72 | if (result == null) result = caseVertex(pseudostate); | ||
73 | if (result == null) result = defaultCase(theEObject); | ||
74 | return result; | ||
75 | } | ||
76 | case YakindummPackage.VERTEX: { | ||
77 | Vertex vertex = (Vertex)theEObject; | ||
78 | T result = caseVertex(vertex); | ||
79 | if (result == null) result = defaultCase(theEObject); | ||
80 | return result; | ||
81 | } | ||
82 | case YakindummPackage.REGION: { | ||
83 | Region region = (Region)theEObject; | ||
84 | T result = caseRegion(region); | ||
85 | if (result == null) result = defaultCase(theEObject); | ||
86 | return result; | ||
87 | } | ||
88 | case YakindummPackage.TRANSITION: { | ||
89 | Transition transition = (Transition)theEObject; | ||
90 | T result = caseTransition(transition); | ||
91 | if (result == null) result = defaultCase(theEObject); | ||
92 | return result; | ||
93 | } | ||
94 | case YakindummPackage.STATECHART: { | ||
95 | Statechart statechart = (Statechart)theEObject; | ||
96 | T result = caseStatechart(statechart); | ||
97 | if (result == null) result = caseCompositeElement(statechart); | ||
98 | if (result == null) result = defaultCase(theEObject); | ||
99 | return result; | ||
100 | } | ||
101 | case YakindummPackage.ENTRY: { | ||
102 | Entry entry = (Entry)theEObject; | ||
103 | T result = caseEntry(entry); | ||
104 | if (result == null) result = casePseudostate(entry); | ||
105 | if (result == null) result = caseVertex(entry); | ||
106 | if (result == null) result = defaultCase(theEObject); | ||
107 | return result; | ||
108 | } | ||
109 | case YakindummPackage.STATE: { | ||
110 | State state = (State)theEObject; | ||
111 | T result = caseState(state); | ||
112 | if (result == null) result = caseRegularState(state); | ||
113 | if (result == null) result = caseCompositeElement(state); | ||
114 | if (result == null) result = caseVertex(state); | ||
115 | if (result == null) result = defaultCase(theEObject); | ||
116 | return result; | ||
117 | } | ||
118 | case YakindummPackage.REGULAR_STATE: { | ||
119 | RegularState regularState = (RegularState)theEObject; | ||
120 | T result = caseRegularState(regularState); | ||
121 | if (result == null) result = caseVertex(regularState); | ||
122 | if (result == null) result = defaultCase(theEObject); | ||
123 | return result; | ||
124 | } | ||
125 | case YakindummPackage.COMPOSITE_ELEMENT: { | ||
126 | CompositeElement compositeElement = (CompositeElement)theEObject; | ||
127 | T result = caseCompositeElement(compositeElement); | ||
128 | if (result == null) result = defaultCase(theEObject); | ||
129 | return result; | ||
130 | } | ||
131 | case YakindummPackage.CHOICE: { | ||
132 | Choice choice = (Choice)theEObject; | ||
133 | T result = caseChoice(choice); | ||
134 | if (result == null) result = casePseudostate(choice); | ||
135 | if (result == null) result = caseVertex(choice); | ||
136 | if (result == null) result = defaultCase(theEObject); | ||
137 | return result; | ||
138 | } | ||
139 | case YakindummPackage.EXIT: { | ||
140 | Exit exit = (Exit)theEObject; | ||
141 | T result = caseExit(exit); | ||
142 | if (result == null) result = casePseudostate(exit); | ||
143 | if (result == null) result = caseVertex(exit); | ||
144 | if (result == null) result = defaultCase(theEObject); | ||
145 | return result; | ||
146 | } | ||
147 | case YakindummPackage.FINAL_STATE: { | ||
148 | FinalState finalState = (FinalState)theEObject; | ||
149 | T result = caseFinalState(finalState); | ||
150 | if (result == null) result = caseRegularState(finalState); | ||
151 | if (result == null) result = caseVertex(finalState); | ||
152 | if (result == null) result = defaultCase(theEObject); | ||
153 | return result; | ||
154 | } | ||
155 | default: return defaultCase(theEObject); | ||
156 | } | ||
157 | } | ||
158 | |||
159 | /** | ||
160 | * Returns the result of interpreting the object as an instance of '<em>Pseudostate</em>'. | ||
161 | * <!-- begin-user-doc --> | ||
162 | * This implementation returns null; | ||
163 | * returning a non-null result will terminate the switch. | ||
164 | * <!-- end-user-doc --> | ||
165 | * @param object the target of the switch. | ||
166 | * @return the result of interpreting the object as an instance of '<em>Pseudostate</em>'. | ||
167 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
168 | * @generated | ||
169 | */ | ||
170 | public T casePseudostate(Pseudostate object) { | ||
171 | return null; | ||
172 | } | ||
173 | |||
174 | /** | ||
175 | * Returns the result of interpreting the object as an instance of '<em>Vertex</em>'. | ||
176 | * <!-- begin-user-doc --> | ||
177 | * This implementation returns null; | ||
178 | * returning a non-null result will terminate the switch. | ||
179 | * <!-- end-user-doc --> | ||
180 | * @param object the target of the switch. | ||
181 | * @return the result of interpreting the object as an instance of '<em>Vertex</em>'. | ||
182 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
183 | * @generated | ||
184 | */ | ||
185 | public T caseVertex(Vertex object) { | ||
186 | return null; | ||
187 | } | ||
188 | |||
189 | /** | ||
190 | * Returns the result of interpreting the object as an instance of '<em>Region</em>'. | ||
191 | * <!-- begin-user-doc --> | ||
192 | * This implementation returns null; | ||
193 | * returning a non-null result will terminate the switch. | ||
194 | * <!-- end-user-doc --> | ||
195 | * @param object the target of the switch. | ||
196 | * @return the result of interpreting the object as an instance of '<em>Region</em>'. | ||
197 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
198 | * @generated | ||
199 | */ | ||
200 | public T caseRegion(Region object) { | ||
201 | return null; | ||
202 | } | ||
203 | |||
204 | /** | ||
205 | * Returns the result of interpreting the object as an instance of '<em>Transition</em>'. | ||
206 | * <!-- begin-user-doc --> | ||
207 | * This implementation returns null; | ||
208 | * returning a non-null result will terminate the switch. | ||
209 | * <!-- end-user-doc --> | ||
210 | * @param object the target of the switch. | ||
211 | * @return the result of interpreting the object as an instance of '<em>Transition</em>'. | ||
212 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
213 | * @generated | ||
214 | */ | ||
215 | public T caseTransition(Transition object) { | ||
216 | return null; | ||
217 | } | ||
218 | |||
219 | /** | ||
220 | * Returns the result of interpreting the object as an instance of '<em>Statechart</em>'. | ||
221 | * <!-- begin-user-doc --> | ||
222 | * This implementation returns null; | ||
223 | * returning a non-null result will terminate the switch. | ||
224 | * <!-- end-user-doc --> | ||
225 | * @param object the target of the switch. | ||
226 | * @return the result of interpreting the object as an instance of '<em>Statechart</em>'. | ||
227 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
228 | * @generated | ||
229 | */ | ||
230 | public T caseStatechart(Statechart object) { | ||
231 | return null; | ||
232 | } | ||
233 | |||
234 | /** | ||
235 | * Returns the result of interpreting the object as an instance of '<em>Entry</em>'. | ||
236 | * <!-- begin-user-doc --> | ||
237 | * This implementation returns null; | ||
238 | * returning a non-null result will terminate the switch. | ||
239 | * <!-- end-user-doc --> | ||
240 | * @param object the target of the switch. | ||
241 | * @return the result of interpreting the object as an instance of '<em>Entry</em>'. | ||
242 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
243 | * @generated | ||
244 | */ | ||
245 | public T caseEntry(Entry object) { | ||
246 | return null; | ||
247 | } | ||
248 | |||
249 | /** | ||
250 | * Returns the result of interpreting the object as an instance of '<em>State</em>'. | ||
251 | * <!-- begin-user-doc --> | ||
252 | * This implementation returns null; | ||
253 | * returning a non-null result will terminate the switch. | ||
254 | * <!-- end-user-doc --> | ||
255 | * @param object the target of the switch. | ||
256 | * @return the result of interpreting the object as an instance of '<em>State</em>'. | ||
257 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
258 | * @generated | ||
259 | */ | ||
260 | public T caseState(State object) { | ||
261 | return null; | ||
262 | } | ||
263 | |||
264 | /** | ||
265 | * Returns the result of interpreting the object as an instance of '<em>Regular State</em>'. | ||
266 | * <!-- begin-user-doc --> | ||
267 | * This implementation returns null; | ||
268 | * returning a non-null result will terminate the switch. | ||
269 | * <!-- end-user-doc --> | ||
270 | * @param object the target of the switch. | ||
271 | * @return the result of interpreting the object as an instance of '<em>Regular State</em>'. | ||
272 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
273 | * @generated | ||
274 | */ | ||
275 | public T caseRegularState(RegularState object) { | ||
276 | return null; | ||
277 | } | ||
278 | |||
279 | /** | ||
280 | * Returns the result of interpreting the object as an instance of '<em>Composite Element</em>'. | ||
281 | * <!-- begin-user-doc --> | ||
282 | * This implementation returns null; | ||
283 | * returning a non-null result will terminate the switch. | ||
284 | * <!-- end-user-doc --> | ||
285 | * @param object the target of the switch. | ||
286 | * @return the result of interpreting the object as an instance of '<em>Composite Element</em>'. | ||
287 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
288 | * @generated | ||
289 | */ | ||
290 | public T caseCompositeElement(CompositeElement object) { | ||
291 | return null; | ||
292 | } | ||
293 | |||
294 | /** | ||
295 | * Returns the result of interpreting the object as an instance of '<em>Choice</em>'. | ||
296 | * <!-- begin-user-doc --> | ||
297 | * This implementation returns null; | ||
298 | * returning a non-null result will terminate the switch. | ||
299 | * <!-- end-user-doc --> | ||
300 | * @param object the target of the switch. | ||
301 | * @return the result of interpreting the object as an instance of '<em>Choice</em>'. | ||
302 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
303 | * @generated | ||
304 | */ | ||
305 | public T caseChoice(Choice object) { | ||
306 | return null; | ||
307 | } | ||
308 | |||
309 | /** | ||
310 | * Returns the result of interpreting the object as an instance of '<em>Exit</em>'. | ||
311 | * <!-- begin-user-doc --> | ||
312 | * This implementation returns null; | ||
313 | * returning a non-null result will terminate the switch. | ||
314 | * <!-- end-user-doc --> | ||
315 | * @param object the target of the switch. | ||
316 | * @return the result of interpreting the object as an instance of '<em>Exit</em>'. | ||
317 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
318 | * @generated | ||
319 | */ | ||
320 | public T caseExit(Exit object) { | ||
321 | return null; | ||
322 | } | ||
323 | |||
324 | /** | ||
325 | * Returns the result of interpreting the object as an instance of '<em>Final State</em>'. | ||
326 | * <!-- begin-user-doc --> | ||
327 | * This implementation returns null; | ||
328 | * returning a non-null result will terminate the switch. | ||
329 | * <!-- end-user-doc --> | ||
330 | * @param object the target of the switch. | ||
331 | * @return the result of interpreting the object as an instance of '<em>Final State</em>'. | ||
332 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
333 | * @generated | ||
334 | */ | ||
335 | public T caseFinalState(FinalState object) { | ||
336 | return null; | ||
337 | } | ||
338 | |||
339 | /** | ||
340 | * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. | ||
341 | * <!-- begin-user-doc --> | ||
342 | * This implementation returns null; | ||
343 | * returning a non-null result will terminate the switch, but this is the last case anyway. | ||
344 | * <!-- end-user-doc --> | ||
345 | * @param object the target of the switch. | ||
346 | * @return the result of interpreting the object as an instance of '<em>EObject</em>'. | ||
347 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) | ||
348 | * @generated | ||
349 | */ | ||
350 | @Override | ||
351 | public T defaultCase(EObject object) { | ||
352 | return null; | ||
353 | } | ||
354 | |||
355 | } //YakindummSwitch | ||