Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2019-04-16 12:06:46 +0000
committerStephan Herrmann2019-04-16 12:06:46 +0000
commit6971283672f623ac4401a4a8c7cd4a2d2fb1c13b (patch)
treeca1103855fb1dae8539164254e06b33fc5e1199e /org.eclipse.jdt.core/compiler/org/eclipse/jdt
parent4112f8dbd4e50699d0c70c46ba7294cb7e4574e7 (diff)
downloadorg.eclipse.objectteams-6971283672f623ac4401a4a8c7cd4a2d2fb1c13b.tar.gz
org.eclipse.objectteams-6971283672f623ac4401a4a8c7cd4a2d2fb1c13b.tar.xz
org.eclipse.objectteams-6971283672f623ac4401a4a8c7cd4a2d2fb1c13b.zip
Bug 545316 - Parser throws CCE on ParameterMappingDeclaration
Diffstat (limited to 'org.eclipse.jdt.core/compiler/org/eclipse/jdt')
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java
index 6788221c8..00b9f3e37 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java
@@ -2483,14 +2483,17 @@ private void consumeCallinBindingLong()
// find callin decl produced by CallinBindingLeftLong:
int paramlength = 0;
- if (this.currentElement == null)
+ if (this.currentElement == null) {
+ if (!this.diet)
+ concatNodeLists();
paramlength = this.astLengthStack[this.astLengthPtr--]; // no param mappings in recovery mode.
+ }
int callinPtr = this.astPtr - paramlength;
CallinMappingDeclaration callinBinding = (CallinMappingDeclaration) this.astStack[callinPtr];
// CallinParameterMappingsopt
boolean pendingParamMappings= this.intStack[this.intPtr--] == 1; // pushed in consumeNestedParamMappings/consumeParameterMappingsEmpty
- if (pendingParamMappings)
+ if (pendingParamMappings && this.diet)
callinBinding.mappings= AbstractMethodMappingDeclaration.PENDING_MAPPINGS;
else
copyParamMappingsAndPositions(paramlength, callinBinding);

Back to the top