aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-ide
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-09-19 21:33:55 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-09-19 21:42:05 +0200
commit7fb99f0225911a8962aaf3493b89f41e791df359 (patch)
treef289ac1433f91e2b1c9e1a5eab92ae6b52aa9d83 /subprojects/language-ide
parentrefactor(language): clarify containment hierarchy (diff)
downloadrefinery-7fb99f0225911a8962aaf3493b89f41e791df359.tar.gz
refinery-7fb99f0225911a8962aaf3493b89f41e791df359.tar.zst
refinery-7fb99f0225911a8962aaf3493b89f41e791df359.zip
feat(language): problem desugaring
Diffstat (limited to 'subprojects/language-ide')
-rw-r--r--subprojects/language-ide/src/main/java/tools/refinery/language/ide/contentassist/ProblemCrossrefProposalProvider.java2
-rw-r--r--subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java8
2 files changed, 7 insertions, 3 deletions
diff --git a/subprojects/language-ide/src/main/java/tools/refinery/language/ide/contentassist/ProblemCrossrefProposalProvider.java b/subprojects/language-ide/src/main/java/tools/refinery/language/ide/contentassist/ProblemCrossrefProposalProvider.java
index 3650561a..8f04ed00 100644
--- a/subprojects/language-ide/src/main/java/tools/refinery/language/ide/contentassist/ProblemCrossrefProposalProvider.java
+++ b/subprojects/language-ide/src/main/java/tools/refinery/language/ide/contentassist/ProblemCrossrefProposalProvider.java
@@ -14,9 +14,9 @@ import org.eclipse.xtext.resource.IEObjectDescription;
14 14
15import com.google.inject.Inject; 15import com.google.inject.Inject;
16 16
17import tools.refinery.language.ProblemUtil;
18import tools.refinery.language.model.problem.Problem; 17import tools.refinery.language.model.problem.Problem;
19import tools.refinery.language.resource.ReferenceCounter; 18import tools.refinery.language.resource.ReferenceCounter;
19import tools.refinery.language.utils.ProblemUtil;
20 20
21public class ProblemCrossrefProposalProvider extends IdeCrossrefProposalProvider { 21public class ProblemCrossrefProposalProvider extends IdeCrossrefProposalProvider {
22 @Inject 22 @Inject
diff --git a/subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java b/subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
index 477940aa..6a05005d 100644
--- a/subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
+++ b/subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
@@ -15,7 +15,6 @@ import org.eclipse.xtext.util.CancelIndicator;
15import com.google.common.collect.ImmutableList; 15import com.google.common.collect.ImmutableList;
16import com.google.inject.Inject; 16import com.google.inject.Inject;
17 17
18import tools.refinery.language.ProblemUtil;
19import tools.refinery.language.model.problem.ClassDeclaration; 18import tools.refinery.language.model.problem.ClassDeclaration;
20import tools.refinery.language.model.problem.NamedElement; 19import tools.refinery.language.model.problem.NamedElement;
21import tools.refinery.language.model.problem.Node; 20import tools.refinery.language.model.problem.Node;
@@ -23,6 +22,8 @@ import tools.refinery.language.model.problem.PredicateDefinition;
23import tools.refinery.language.model.problem.PredicateKind; 22import tools.refinery.language.model.problem.PredicateKind;
24import tools.refinery.language.model.problem.ProblemPackage; 23import tools.refinery.language.model.problem.ProblemPackage;
25import tools.refinery.language.model.problem.ReferenceDeclaration; 24import tools.refinery.language.model.problem.ReferenceDeclaration;
25import tools.refinery.language.utils.ProblemDesugarer;
26import tools.refinery.language.utils.ProblemUtil;
26 27
27public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator { 28public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator {
28 private static final String BUILTIN_CLASS = "builtin"; 29 private static final String BUILTIN_CLASS = "builtin";
@@ -36,6 +37,9 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
36 @Inject 37 @Inject
37 private OperationCanceledManager operationCanceledManager; 38 private OperationCanceledManager operationCanceledManager;
38 39
40 @Inject
41 private ProblemDesugarer desugarer;
42
39 @Override 43 @Override
40 protected boolean highlightElement(EObject object, IHighlightedPositionAcceptor acceptor, 44 protected boolean highlightElement(EObject object, IHighlightedPositionAcceptor acceptor,
41 CancelIndicator cancelIndicator) { 45 CancelIndicator cancelIndicator) {
@@ -101,7 +105,7 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
101 classesBuilder.add(ABSTRACT_CLASS); 105 classesBuilder.add(ABSTRACT_CLASS);
102 } 106 }
103 if (eObject instanceof ReferenceDeclaration referenceDeclaration 107 if (eObject instanceof ReferenceDeclaration referenceDeclaration
104 && ProblemUtil.isContainmentReference(referenceDeclaration)) { 108 && desugarer.isContainmentReference(referenceDeclaration)) {
105 classesBuilder.add(CONTAINMENT_CLASS); 109 classesBuilder.add(CONTAINMENT_CLASS);
106 } 110 }
107 if (eObject instanceof PredicateDefinition predicateDefinition 111 if (eObject instanceof PredicateDefinition predicateDefinition