aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/generator/src/main/java/tools/refinery
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/generator/src/main/java/tools/refinery')
-rw-r--r--subprojects/generator/src/main/java/tools/refinery/generator/ModelFacade.java4
-rw-r--r--subprojects/generator/src/main/java/tools/refinery/generator/ModelGenerator.java6
-rw-r--r--subprojects/generator/src/main/java/tools/refinery/generator/ProblemLoader.java12
3 files changed, 16 insertions, 6 deletions
diff --git a/subprojects/generator/src/main/java/tools/refinery/generator/ModelFacade.java b/subprojects/generator/src/main/java/tools/refinery/generator/ModelFacade.java
index a00ddc46..eaf60082 100644
--- a/subprojects/generator/src/main/java/tools/refinery/generator/ModelFacade.java
+++ b/subprojects/generator/src/main/java/tools/refinery/generator/ModelFacade.java
@@ -6,6 +6,7 @@
6package tools.refinery.generator; 6package tools.refinery.generator;
7 7
8import tools.refinery.language.semantics.ProblemTrace; 8import tools.refinery.language.semantics.ProblemTrace;
9import tools.refinery.logic.AbstractValue;
9import tools.refinery.store.model.Model; 10import tools.refinery.store.model.Model;
10import tools.refinery.store.model.ModelStore; 11import tools.refinery.store.model.ModelStore;
11import tools.refinery.store.reasoning.ReasoningAdapter; 12import tools.refinery.store.reasoning.ReasoningAdapter;
@@ -52,7 +53,8 @@ public abstract class ModelFacade {
52 return concreteness; 53 return concreteness;
53 } 54 }
54 55
55 public <A, C> PartialInterpretation<A, C> getPartialInterpretation(PartialSymbol<A, C> partialSymbol) { 56 public <A extends AbstractValue<A, C>, C> PartialInterpretation<A, C> getPartialInterpretation(
57 PartialSymbol<A, C> partialSymbol) {
56 return reasoningAdapter.getPartialInterpretation(concreteness, partialSymbol); 58 return reasoningAdapter.getPartialInterpretation(concreteness, partialSymbol);
57 } 59 }
58} 60}
diff --git a/subprojects/generator/src/main/java/tools/refinery/generator/ModelGenerator.java b/subprojects/generator/src/main/java/tools/refinery/generator/ModelGenerator.java
index 1515dceb..36190b76 100644
--- a/subprojects/generator/src/main/java/tools/refinery/generator/ModelGenerator.java
+++ b/subprojects/generator/src/main/java/tools/refinery/generator/ModelGenerator.java
@@ -9,6 +9,7 @@ import com.google.inject.Provider;
9import tools.refinery.language.model.problem.Problem; 9import tools.refinery.language.model.problem.Problem;
10import tools.refinery.language.semantics.ProblemTrace; 10import tools.refinery.language.semantics.ProblemTrace;
11import tools.refinery.language.semantics.SolutionSerializer; 11import tools.refinery.language.semantics.SolutionSerializer;
12import tools.refinery.logic.AbstractValue;
12import tools.refinery.store.dse.strategy.BestFirstStoreManager; 13import tools.refinery.store.dse.strategy.BestFirstStoreManager;
13import tools.refinery.store.map.Version; 14import tools.refinery.store.map.Version;
14import tools.refinery.store.model.ModelStore; 15import tools.refinery.store.model.ModelStore;
@@ -24,7 +25,7 @@ public class ModelGenerator extends ModelFacade {
24 private boolean lastGenerationSuccessful; 25 private boolean lastGenerationSuccessful;
25 26
26 ModelGenerator(ProblemTrace problemTrace, ModelStore store, ModelSeed modelSeed, 27 ModelGenerator(ProblemTrace problemTrace, ModelStore store, ModelSeed modelSeed,
27 Provider<SolutionSerializer> solutionSerializerProvider) { 28 Provider<SolutionSerializer> solutionSerializerProvider) {
28 super(problemTrace, store, modelSeed, Concreteness.CANDIDATE); 29 super(problemTrace, store, modelSeed, Concreteness.CANDIDATE);
29 this.solutionSerializerProvider = solutionSerializerProvider; 30 this.solutionSerializerProvider = solutionSerializerProvider;
30 initialVersion = getModel().commit(); 31 initialVersion = getModel().commit();
@@ -66,7 +67,8 @@ public class ModelGenerator extends ModelFacade {
66 } 67 }
67 68
68 @Override 69 @Override
69 public <A, C> PartialInterpretation<A, C> getPartialInterpretation(PartialSymbol<A, C> partialSymbol) { 70 public <A extends AbstractValue<A, C>, C> PartialInterpretation<A, C> getPartialInterpretation(
71 PartialSymbol<A, C> partialSymbol) {
70 checkSuccessfulGeneration(); 72 checkSuccessfulGeneration();
71 return super.getPartialInterpretation(partialSymbol); 73 return super.getPartialInterpretation(partialSymbol);
72 } 74 }
diff --git a/subprojects/generator/src/main/java/tools/refinery/generator/ProblemLoader.java b/subprojects/generator/src/main/java/tools/refinery/generator/ProblemLoader.java
index 580a87b6..c76fb7aa 100644
--- a/subprojects/generator/src/main/java/tools/refinery/generator/ProblemLoader.java
+++ b/subprojects/generator/src/main/java/tools/refinery/generator/ProblemLoader.java
@@ -12,7 +12,10 @@ import org.eclipse.emf.ecore.resource.Resource;
12import org.eclipse.emf.ecore.util.EcoreUtil; 12import org.eclipse.emf.ecore.util.EcoreUtil;
13import org.eclipse.xtext.diagnostics.Severity; 13import org.eclipse.xtext.diagnostics.Severity;
14import org.eclipse.xtext.naming.IQualifiedNameConverter; 14import org.eclipse.xtext.naming.IQualifiedNameConverter;
15import org.eclipse.xtext.resource.*; 15import org.eclipse.xtext.resource.FileExtensionProvider;
16import org.eclipse.xtext.resource.IEObjectDescription;
17import org.eclipse.xtext.resource.IResourceFactory;
18import org.eclipse.xtext.resource.XtextResourceSet;
16import org.eclipse.xtext.scoping.impl.GlobalResourceDescriptionProvider; 19import org.eclipse.xtext.scoping.impl.GlobalResourceDescriptionProvider;
17import org.eclipse.xtext.util.CancelIndicator; 20import org.eclipse.xtext.util.CancelIndicator;
18import org.eclipse.xtext.util.LazyStringInputStream; 21import org.eclipse.xtext.util.LazyStringInputStream;
@@ -25,7 +28,7 @@ import tools.refinery.language.model.problem.ScopeDeclaration;
25import tools.refinery.language.naming.NamingUtil; 28import tools.refinery.language.naming.NamingUtil;
26import tools.refinery.language.resource.ProblemResourceDescriptionStrategy; 29import tools.refinery.language.resource.ProblemResourceDescriptionStrategy;
27import tools.refinery.language.resource.ProblemResourceDescriptionStrategy.ShadowingKey; 30import tools.refinery.language.resource.ProblemResourceDescriptionStrategy.ShadowingKey;
28import tools.refinery.language.scoping.imports.ImportAdapter; 31import tools.refinery.language.scoping.imports.ImportAdapterProvider;
29import tools.refinery.language.scoping.imports.ImportCollector; 32import tools.refinery.language.scoping.imports.ImportCollector;
30import tools.refinery.store.util.CancellationToken; 33import tools.refinery.store.util.CancellationToken;
31 34
@@ -61,6 +64,9 @@ public class ProblemLoader {
61 @Inject 64 @Inject
62 private IQualifiedNameConverter qualifiedNameConverter; 65 private IQualifiedNameConverter qualifiedNameConverter;
63 66
67 @Inject
68 private ImportAdapterProvider importAdapterProvider;
69
64 private CancellationToken cancellationToken = CancellationToken.NONE; 70 private CancellationToken cancellationToken = CancellationToken.NONE;
65 71
66 private final List<Path> extraPaths = new ArrayList<>(); 72 private final List<Path> extraPaths = new ArrayList<>();
@@ -125,7 +131,7 @@ public class ProblemLoader {
125 131
126 private XtextResourceSet createResourceSet() { 132 private XtextResourceSet createResourceSet() {
127 var resourceSet = resourceSetProvider.get(); 133 var resourceSet = resourceSetProvider.get();
128 var adapter = ImportAdapter.getOrInstall(resourceSet); 134 var adapter = importAdapterProvider.getOrInstall(resourceSet);
129 adapter.getLibraryPaths().addAll(0, extraPaths); 135 adapter.getLibraryPaths().addAll(0, extraPaths);
130 return resourceSet; 136 return resourceSet;
131 } 137 }