aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-ide
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2024-02-20 01:27:51 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2024-04-07 14:55:46 +0200
commit01960723de5ca42e28dc8f162d4fe9e24c23c0b8 (patch)
treec391738a378d079d4c3b1aa8966c6b66d60ee4c9 /subprojects/language-ide
parentfeat: subproject for z3 integration (diff)
downloadrefinery-01960723de5ca42e28dc8f162d4fe9e24c23c0b8.tar.gz
refinery-01960723de5ca42e28dc8f162d4fe9e24c23c0b8.tar.zst
refinery-01960723de5ca42e28dc8f162d4fe9e24c23c0b8.zip
feat(language): datatype declarations
Also changes ReferenceDeclaration to declare attributes, since reference and attributes can only be distinguished at linking time.
Diffstat (limited to 'subprojects/language-ide')
-rw-r--r--subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java5
1 files changed, 5 insertions, 0 deletions
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 891c73c7..587f9acb 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
@@ -21,11 +21,13 @@ import tools.refinery.language.model.problem.*;
21import tools.refinery.language.utils.ProblemDesugarer; 21import tools.refinery.language.utils.ProblemDesugarer;
22import tools.refinery.language.utils.ProblemUtil; 22import tools.refinery.language.utils.ProblemUtil;
23 23
24import javax.xml.crypto.Data;
24import java.util.List; 25import java.util.List;
25 26
26public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator { 27public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator {
27 private static final String BUILTIN_CLASS = "builtin"; 28 private static final String BUILTIN_CLASS = "builtin";
28 private static final String ABSTRACT_CLASS = "abstract"; 29 private static final String ABSTRACT_CLASS = "abstract";
30 private static final String DATATYPE_CLASS = "datatype";
29 private static final String CONTAINMENT_CLASS = "containment"; 31 private static final String CONTAINMENT_CLASS = "containment";
30 private static final String ERROR_CLASS = "error"; 32 private static final String ERROR_CLASS = "error";
31 private static final String NODE_CLASS = "node"; 33 private static final String NODE_CLASS = "node";
@@ -112,6 +114,9 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
112 if (eObject instanceof ClassDeclaration classDeclaration && classDeclaration.isAbstract()) { 114 if (eObject instanceof ClassDeclaration classDeclaration && classDeclaration.isAbstract()) {
113 classesBuilder.add(ABSTRACT_CLASS); 115 classesBuilder.add(ABSTRACT_CLASS);
114 } 116 }
117 if (eObject instanceof DatatypeDeclaration) {
118 classesBuilder.add(DATATYPE_CLASS);
119 }
115 if (eObject instanceof ReferenceDeclaration referenceDeclaration 120 if (eObject instanceof ReferenceDeclaration referenceDeclaration
116 && desugarer.isContainmentReference(referenceDeclaration)) { 121 && desugarer.isContainmentReference(referenceDeclaration)) {
117 classesBuilder.add(CONTAINMENT_CLASS); 122 classesBuilder.add(CONTAINMENT_CLASS);