Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2020-08-27 19:23:47 +0000
committerStephan Herrmann2020-08-27 19:33:47 +0000
commit7692370c89310f97be382fc51cb1a6ce3d0664de (patch)
tree312204e5ae1a610438b86aace603d7d756c606f2
parentc55c933edd0ecc914521dfa902949a4d936784df (diff)
downloadorg.eclipse.objectteams-7692370c89310f97be382fc51cb1a6ce3d0664de.tar.gz
org.eclipse.objectteams-7692370c89310f97be382fc51cb1a6ce3d0664de.tar.xz
org.eclipse.objectteams-7692370c89310f97be382fc51cb1a6ce3d0664de.zip
update jdt.core to S4_17_0_M3
- adjust DiagnoseParser after grammar change - reconcile new rule about records with role interfaces (re staticness)
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java6
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java6
2 files changed, 9 insertions, 3 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java
index 89dbdd247..1a9a8265e 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java
@@ -86,8 +86,14 @@ public SyntheticArgumentBinding addSyntheticArgument(LocalVariableBinding actual
public SyntheticArgumentBinding addSyntheticArgument(ReferenceBinding targetEnclosingType) {
if (!isPrototype()) throw new IllegalStateException();
if (isStatic()) {
+//{ObjectTeams: role interfaces are static, too:
+ if (!isSynthInterface()) {
+// orig:
assert this.isRecord();// a local record is implicitly static; no other local type can be static
return null;
+// :giro
+ }
+// SH}
}
SyntheticArgumentBinding synthLocal = null;
if (this.enclosingInstances == null) {
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java
index a5917212d..dc60be936 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java
@@ -460,9 +460,9 @@ public class DiagnoseParser implements ParserBasicInformation, TerminalTokens, C
//{ObjectTeams: WATCHOUT: needs to be updated with each new grammar!!!!
private void setScannerState(int act) {
switch(act) {
- case 243: this.lexStream.forceBaseIsIdentifier(); break; // ForceBaseIsIdentifier
- case 244: this.lexStream.restoreBaseKeyword(); break; // RestoreBaseKeyword
- case 339: this.parser.scanner._insideParameterMapping = true; break; // NestedParamMappings
+ case 244: this.lexStream.forceBaseIsIdentifier(); break; // ForceBaseIsIdentifier
+ case 245: this.lexStream.restoreBaseKeyword(); break; // RestoreBaseKeyword
+ case 340: this.parser.scanner._insideParameterMapping = true; break; // NestedParamMappings
}
}
//SH}

Back to the top