diff options
author | Stephan Herrmann | 2020-08-27 19:23:47 +0000 |
---|---|---|
committer | Stephan Herrmann | 2020-08-27 19:33:47 +0000 |
commit | 7692370c89310f97be382fc51cb1a6ce3d0664de (patch) | |
tree | 312204e5ae1a610438b86aace603d7d756c606f2 | |
parent | c55c933edd0ecc914521dfa902949a4d936784df (diff) | |
download | org.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)
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} |