diff options
author | 2022-09-19 21:33:55 +0200 | |
---|---|---|
committer | 2022-09-19 21:42:05 +0200 | |
commit | 7fb99f0225911a8962aaf3493b89f41e791df359 (patch) | |
tree | f289ac1433f91e2b1c9e1a5eab92ae6b52aa9d83 /subprojects/language/src/testFixtures | |
parent | refactor(language): clarify containment hierarchy (diff) | |
download | refinery-7fb99f0225911a8962aaf3493b89f41e791df359.tar.gz refinery-7fb99f0225911a8962aaf3493b89f41e791df359.tar.zst refinery-7fb99f0225911a8962aaf3493b89f41e791df359.zip |
feat(language): problem desugaring
Diffstat (limited to 'subprojects/language/src/testFixtures')
3 files changed, 17 insertions, 11 deletions
diff --git a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java index 61492184..ad57a438 100644 --- a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java +++ b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedArgument.java | |||
@@ -1,10 +1,6 @@ | |||
1 | package tools.refinery.language.model.tests.utils; | 1 | package tools.refinery.language.model.tests.utils; |
2 | 2 | ||
3 | import tools.refinery.language.model.problem.Argument; | 3 | import tools.refinery.language.model.problem.*; |
4 | import tools.refinery.language.model.problem.Node; | ||
5 | import tools.refinery.language.model.problem.Variable; | ||
6 | import tools.refinery.language.model.problem.VariableOrNode; | ||
7 | import tools.refinery.language.model.problem.VariableOrNodeArgument; | ||
8 | 4 | ||
9 | public record WrappedArgument(Argument argument) { | 5 | public record WrappedArgument(Argument argument) { |
10 | public Argument get() { | 6 | public Argument get() { |
@@ -18,7 +14,7 @@ public record WrappedArgument(Argument argument) { | |||
18 | public Variable variable() { | 14 | public Variable variable() { |
19 | return (Variable) variableOrNode(); | 15 | return (Variable) variableOrNode(); |
20 | } | 16 | } |
21 | 17 | ||
22 | public Node node() { | 18 | public Node node() { |
23 | return (Node) variableOrNode(); | 19 | return (Node) variableOrNode(); |
24 | } | 20 | } |
diff --git a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java index 77ad3746..b8b3a7de 100644 --- a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java +++ b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedAssertionArgument.java | |||
@@ -1,6 +1,7 @@ | |||
1 | package tools.refinery.language.model.tests.utils; | 1 | package tools.refinery.language.model.tests.utils; |
2 | 2 | ||
3 | import tools.refinery.language.model.problem.AssertionArgument; | 3 | import tools.refinery.language.model.problem.AssertionArgument; |
4 | import tools.refinery.language.model.problem.ConstantAssertionArgument; | ||
4 | import tools.refinery.language.model.problem.Node; | 5 | import tools.refinery.language.model.problem.Node; |
5 | import tools.refinery.language.model.problem.NodeAssertionArgument; | 6 | import tools.refinery.language.model.problem.NodeAssertionArgument; |
6 | 7 | ||
@@ -8,8 +9,12 @@ public record WrappedAssertionArgument(AssertionArgument assertionArgument) { | |||
8 | public AssertionArgument get() { | 9 | public AssertionArgument get() { |
9 | return assertionArgument; | 10 | return assertionArgument; |
10 | } | 11 | } |
11 | 12 | ||
12 | public Node node() { | 13 | public Node node() { |
13 | return ((NodeAssertionArgument) assertionArgument).getNode(); | 14 | return ((NodeAssertionArgument) assertionArgument).getNode(); |
14 | } | 15 | } |
16 | |||
17 | public Node constantNode() { | ||
18 | return ((ConstantAssertionArgument) assertionArgument).getNode(); | ||
19 | } | ||
15 | } | 20 | } |
diff --git a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java index 2bedb4a6..aef96b5b 100644 --- a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java +++ b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedProblem.java | |||
@@ -6,7 +6,6 @@ import java.util.stream.Stream; | |||
6 | import org.eclipse.emf.ecore.resource.Resource.Diagnostic; | 6 | import org.eclipse.emf.ecore.resource.Resource.Diagnostic; |
7 | import org.eclipse.emf.ecore.util.EcoreUtil; | 7 | import org.eclipse.emf.ecore.util.EcoreUtil; |
8 | 8 | ||
9 | import tools.refinery.language.ProblemUtil; | ||
10 | import tools.refinery.language.model.problem.Assertion; | 9 | import tools.refinery.language.model.problem.Assertion; |
11 | import tools.refinery.language.model.problem.ClassDeclaration; | 10 | import tools.refinery.language.model.problem.ClassDeclaration; |
12 | import tools.refinery.language.model.problem.EnumDeclaration; | 11 | import tools.refinery.language.model.problem.EnumDeclaration; |
@@ -18,6 +17,8 @@ import tools.refinery.language.model.problem.PredicateDefinition; | |||
18 | import tools.refinery.language.model.problem.Problem; | 17 | import tools.refinery.language.model.problem.Problem; |
19 | import tools.refinery.language.model.problem.RuleDefinition; | 18 | import tools.refinery.language.model.problem.RuleDefinition; |
20 | import tools.refinery.language.model.problem.Statement; | 19 | import tools.refinery.language.model.problem.Statement; |
20 | import tools.refinery.language.utils.BuiltinSymbols; | ||
21 | import tools.refinery.language.utils.ProblemDesugarer; | ||
21 | 22 | ||
22 | public record WrappedProblem(Problem problem) { | 23 | public record WrappedProblem(Problem problem) { |
23 | public Problem get() { | 24 | public Problem get() { |
@@ -30,11 +31,15 @@ public record WrappedProblem(Problem problem) { | |||
30 | } | 31 | } |
31 | 32 | ||
32 | public WrappedProblem builtin() { | 33 | public WrappedProblem builtin() { |
33 | return new WrappedProblem(ProblemUtil.getBuiltInLibrary(problem).get()); | 34 | return new WrappedProblem(new ProblemDesugarer().getBuiltinProblem(problem).orElseThrow()); |
35 | } | ||
36 | |||
37 | public BuiltinSymbols builtinSymbols() { | ||
38 | return new ProblemDesugarer().getBuiltinSymbols(problem).orElseThrow(); | ||
34 | } | 39 | } |
35 | 40 | ||
36 | public List<String> nodeNames() { | 41 | public List<String> nodeNames() { |
37 | return problem.getNodes().stream().map(node -> node.getName()).toList(); | 42 | return problem.getNodes().stream().map(Node::getName).toList(); |
38 | } | 43 | } |
39 | 44 | ||
40 | public WrappedPredicateDefinition pred(String name) { | 45 | public WrappedPredicateDefinition pred(String name) { |
@@ -80,6 +85,6 @@ public record WrappedProblem(Problem problem) { | |||
80 | } | 85 | } |
81 | 86 | ||
82 | private <T extends Statement> T nthStatementOfType(Class<? extends T> type, int n) { | 87 | private <T extends Statement> T nthStatementOfType(Class<? extends T> type, int n) { |
83 | return statementsOfType(type).skip(n).findFirst().get(); | 88 | return statementsOfType(type).skip(n).findFirst().orElseThrow(); |
84 | } | 89 | } |
85 | } | 90 | } |