aboutsummaryrefslogtreecommitdiffstats
path: root/language/src/main
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-11-05 19:33:25 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-11-05 20:00:06 +0100
commita951628de0ce9902222ed290a1345c145f8af01a (patch)
treead8414c17edebe50912bf87a26ed5509feb91683 /language/src/main
parentMerge pull request #10 from kris7t/cm6-fixes (diff)
downloadrefinery-a951628de0ce9902222ed290a1345c145f8af01a.tar.gz
refinery-a951628de0ce9902222ed290a1345c145f8af01a.tar.zst
refinery-a951628de0ce9902222ed290a1345c145f8af01a.zip
chore: rename unique to individual
Suggestion by @vincemolnar to match SysML V2 terminology more closely.
Diffstat (limited to 'language/src/main')
-rw-r--r--language/src/main/java/tools/refinery/language/Problem.xtext8
-rw-r--r--language/src/main/java/tools/refinery/language/resource/ProblemLocationInFileProvider.java2
-rw-r--r--language/src/main/java/tools/refinery/language/resource/ProblemResourceDescriptionStrategy.java2
-rw-r--r--language/src/main/java/tools/refinery/language/validation/ProblemValidator.java8
4 files changed, 10 insertions, 10 deletions
diff --git a/language/src/main/java/tools/refinery/language/Problem.xtext b/language/src/main/java/tools/refinery/language/Problem.xtext
index 0fa47d63..b7562759 100644
--- a/language/src/main/java/tools/refinery/language/Problem.xtext
+++ b/language/src/main/java/tools/refinery/language/Problem.xtext
@@ -9,7 +9,7 @@ Problem:
9 9
10Statement: 10Statement:
11 ClassDeclaration | EnumDeclaration | PredicateDefinition | RuleDefinition | Assertion | NodeValueAssertion | ScopeDeclaration | 11 ClassDeclaration | EnumDeclaration | PredicateDefinition | RuleDefinition | Assertion | NodeValueAssertion | ScopeDeclaration |
12 UniqueDeclaration; 12 IndividualDeclaration;
13 13
14ClassDeclaration: 14ClassDeclaration:
15 abstract?="abstract"? "class" 15 abstract?="abstract"? "class"
@@ -173,8 +173,8 @@ RangeMultiplicity:
173ExactMultiplicity: 173ExactMultiplicity:
174 exactValue=INT; 174 exactValue=INT;
175 175
176UniqueDeclaration: 176IndividualDeclaration:
177 "unique" nodes+=EnumLiteral ("," nodes+=EnumLiteral)* "."; 177 "individual" nodes+=EnumLiteral ("," nodes+=EnumLiteral)* ".";
178 178
179UpperBound returns ecore::EInt: 179UpperBound returns ecore::EInt:
180 INT | "*"; 180 INT | "*";
@@ -184,7 +184,7 @@ QualifiedName hidden():
184 184
185Identifier: 185Identifier:
186 ID | "true" | "false" | "unknown" | "error" | "class" | "abstract" | "extends" | "enum" | "pred" | 186 ID | "true" | "false" | "unknown" | "error" | "class" | "abstract" | "extends" | "enum" | "pred" |
187 "unique" | "problem" | "new" | "delete"; 187 "individual" | "problem" | "new" | "delete" | "direct" | "rule";
188 188
189Integer returns ecore::EInt hidden(): 189Integer returns ecore::EInt hidden():
190 "-"? INT; 190 "-"? INT;
diff --git a/language/src/main/java/tools/refinery/language/resource/ProblemLocationInFileProvider.java b/language/src/main/java/tools/refinery/language/resource/ProblemLocationInFileProvider.java
index b51de05d..7aa75833 100644
--- a/language/src/main/java/tools/refinery/language/resource/ProblemLocationInFileProvider.java
+++ b/language/src/main/java/tools/refinery/language/resource/ProblemLocationInFileProvider.java
@@ -21,7 +21,7 @@ public class ProblemLocationInFileProvider extends DefaultLocationInFileProvider
21 } 21 }
22 22
23 protected ITextRegion getNodeTextRegion(Node node, RegionDescription query) { 23 protected ITextRegion getNodeTextRegion(Node node, RegionDescription query) {
24 if (ProblemUtil.isUniqueNode(node)) { 24 if (ProblemUtil.isIndividualNode(node)) {
25 return super.doGetTextRegion(node, query); 25 return super.doGetTextRegion(node, query);
26 } 26 }
27 if (ProblemUtil.isNewNode(node)) { 27 if (ProblemUtil.isNewNode(node)) {
diff --git a/language/src/main/java/tools/refinery/language/resource/ProblemResourceDescriptionStrategy.java b/language/src/main/java/tools/refinery/language/resource/ProblemResourceDescriptionStrategy.java
index e745b6a5..f86ebd38 100644
--- a/language/src/main/java/tools/refinery/language/resource/ProblemResourceDescriptionStrategy.java
+++ b/language/src/main/java/tools/refinery/language/resource/ProblemResourceDescriptionStrategy.java
@@ -83,7 +83,7 @@ public class ProblemResourceDescriptionStrategy extends DefaultResourceDescripti
83 } 83 }
84 if (eObject instanceof Node node) { 84 if (eObject instanceof Node node) {
85 // Only enum literals and new nodes are visible across problem files. 85 // Only enum literals and new nodes are visible across problem files.
86 return ProblemUtil.isUniqueNode(node) || ProblemUtil.isNewNode(node); 86 return ProblemUtil.isIndividualNode(node) || ProblemUtil.isNewNode(node);
87 } 87 }
88 return true; 88 return true;
89 } 89 }
diff --git a/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java b/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
index dfd386f5..3c10d39e 100644
--- a/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
+++ b/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
@@ -27,7 +27,7 @@ public class ProblemValidator extends AbstractProblemValidator {
27 27
28 public static final String SINGLETON_VARIABLE_ISSUE = ISSUE_PREFIX + "SINGLETON_VARIABLE"; 28 public static final String SINGLETON_VARIABLE_ISSUE = ISSUE_PREFIX + "SINGLETON_VARIABLE";
29 29
30 public static final String NON_UNIQUE_NODE_ISSUE = ISSUE_PREFIX + "NON_UNIQUE_NODE"; 30 public static final String NON_INDIVIDUAL_NODE_ISSUE = ISSUE_PREFIX + "NON_INDIVIDUAL_NODE";
31 31
32 @Inject 32 @Inject
33 private ReferenceCounter referenceCounter; 33 private ReferenceCounter referenceCounter;
@@ -51,12 +51,12 @@ public class ProblemValidator extends AbstractProblemValidator {
51 @Check 51 @Check
52 public void checkNonUniqueNode(VariableOrNodeArgument argument) { 52 public void checkNonUniqueNode(VariableOrNodeArgument argument) {
53 var variableOrNode = argument.getVariableOrNode(); 53 var variableOrNode = argument.getVariableOrNode();
54 if (variableOrNode instanceof Node node && !ProblemUtil.isUniqueNode(node)) { 54 if (variableOrNode instanceof Node node && !ProblemUtil.isIndividualNode(node)) {
55 var name = node.getName(); 55 var name = node.getName();
56 var message = "Only unique nodes can be referenced in predicates. Mark '%s' as unique with the declaration 'unique %s.'" 56 var message = "Only individual nodes can be referenced in predicates. Mark '%s' as individual with the declaration 'individual %s.'"
57 .formatted(name, name); 57 .formatted(name, name);
58 error(message, argument, ProblemPackage.Literals.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE, 58 error(message, argument, ProblemPackage.Literals.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE,
59 INSIGNIFICANT_INDEX, NON_UNIQUE_NODE_ISSUE); 59 INSIGNIFICANT_INDEX, NON_INDIVIDUAL_NODE_ISSUE);
60 } 60 }
61 } 61 }
62} 62}