diff options
author | Stephan Herrmann | 2019-04-16 12:06:46 +0000 |
---|---|---|
committer | Stephan Herrmann | 2019-04-16 12:06:46 +0000 |
commit | 6971283672f623ac4401a4a8c7cd4a2d2fb1c13b (patch) | |
tree | ca1103855fb1dae8539164254e06b33fc5e1199e /org.eclipse.jdt.core/compiler/org/eclipse/jdt | |
parent | 4112f8dbd4e50699d0c70c46ba7294cb7e4574e7 (diff) | |
download | org.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.java | 7 |
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); |