View | Details | Raw Unified | Return to bug 136688 | Differences between
and this patch

Collapse All | Expand All

(-)compiler/org/eclipse/jdt/internal/compiler/codegen/BranchLabel.java (-12 lines)
Lines 176-196 Link Here
176
				this.codeStream.classFileOffset -= 3;
176
				this.codeStream.classFileOffset -= 3;
177
				this.forwardReferenceCount--;
177
				this.forwardReferenceCount--;
178
				// also update the PCs in the related debug attributes
178
				// also update the PCs in the related debug attributes
179
				/* OLD CODE
180
					int index = codeStream.pcToSourceMapSize - 1;
181
						while ((index >= 0) && (codeStream.pcToSourceMap[index][1] == oldPosition)) {
182
							codeStream.pcToSourceMap[index--][1] = position;
183
						}
184
				*/
185
				// Beginning of new code
186
				int index = this.codeStream.pcToSourceMapSize - 2;
187
				if (this.codeStream.lastEntryPC == oldPosition) {
179
				if (this.codeStream.lastEntryPC == oldPosition) {
188
					this.codeStream.lastEntryPC = this.position;
180
					this.codeStream.lastEntryPC = this.position;
189
				}
181
				}
190
				if ((index >= 0) && (this.codeStream.pcToSourceMap[index] == this.position)) {
191
					this.codeStream.pcToSourceMapSize-=2;
192
				}
193
				// end of new code
194
				if ((this.codeStream.generateAttributes & ClassFileConstants.ATTR_VARS) != 0) {
182
				if ((this.codeStream.generateAttributes & ClassFileConstants.ATTR_VARS) != 0) {
195
					LocalVariableBinding locals[] = this.codeStream.locals;
183
					LocalVariableBinding locals[] = this.codeStream.locals;
196
					for (int i = 0, max = locals.length; i < max; i++) {
184
					for (int i = 0, max = locals.length; i < max; i++) {
(-)compiler/org/eclipse/jdt/internal/compiler/codegen/CodeStream.java (+2 lines)
Lines 5832-5837 Link Here
5832
					pcToSourceMap[pcToSourceMapSize++] = lastEntryPC;
5832
					pcToSourceMap[pcToSourceMapSize++] = lastEntryPC;
5833
					pcToSourceMap[pcToSourceMapSize++] = lineNumber;
5833
					pcToSourceMap[pcToSourceMapSize++] = lineNumber;
5834
				}
5834
				}
5835
			} else if (startPC == pcToSourceMap[pcToSourceMapSize - 2]) {
5836
				pcToSourceMap[pcToSourceMapSize - 1] = lineNumber;
5835
			} else {
5837
			} else {
5836
				// we can safely add the new entry. The endPC of the previous entry is not in conflit with the startPC of the new entry.
5838
				// we can safely add the new entry. The endPC of the previous entry is not in conflit with the startPC of the new entry.
5837
				pcToSourceMap[pcToSourceMapSize++] = startPC;
5839
				pcToSourceMap[pcToSourceMapSize++] = startPC;
(-)compiler/org/eclipse/jdt/internal/compiler/ast/ForeachStatement.java (-1 / +1 lines)
Lines 283-294 Link Here
283
			switch(this.kind) {
283
			switch(this.kind) {
284
				case ARRAY :
284
				case ARRAY :
285
					codeStream.iinc(this.indexVariable.resolvedPosition, 1);
285
					codeStream.iinc(this.indexVariable.resolvedPosition, 1);
286
					codeStream.recordPositionsFrom(continuationPC, this.elementVariable.sourceStart);
286
					break;
287
					break;
287
				case RAW_ITERABLE :
288
				case RAW_ITERABLE :
288
				case GENERIC_ITERABLE :
289
				case GENERIC_ITERABLE :
289
					break;
290
					break;
290
			}
291
			}
291
			codeStream.recordPositionsFrom(continuationPC, this.elementVariable.sourceStart);
292
		}
292
		}
293
		
293
		
294
		if (this.postCollectionInitStateIndex != -1) {
294
		if (this.postCollectionInitStateIndex != -1) {

Return to bug 136688