Bug 67614 After "create field", additional text is inserted at multiple locations
I wrote the following method call: assertEquals(1.0d, blah(), delta); The field "delta" is not yet declared. I press Ctrl-1 and select "create field". The resulting line is: private Object delta; By typing the following sequence of keys: [Tab] double [Tab] [Right] = 0.0001d I change that manually to: private double delta = 0.00001d; Surprisingly, my original method call is now changed to: assertEquals(1.0d, blah(), delta = 0.00001d); And that is of course wrong. (BTW, I believe that the Ctrl-1 aid should guess the expected field type, but that's a different issue.)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/LinkedCorrectionProposal.java
JavaPlugin.log(e);
			}
		}	
		
		/*
		 * Returns the registered position for a given offset. 
		 */
		private Position getCurrentPosition(int offset) {
			if (fPositions != null) {
				for (Iterator it= fPositions.iterator(); it.hasNext();) {
					Position position= (Position) it.next();
					if (position.overlapsWith(offset, 0)) {
						return position;
					}
				}
			}
			return null;
		}
		
		/*
		 * Returns the region to be replaced by this proposal.
		 */
		private IRegion getReplaceRegion(ITextViewer viewer, int offset) {
			Position pos= getCurrentPosition(offset);
			if (pos != null)
				return new Region(pos.getOffset(), pos.getLength());
			
			Point point= viewer.getSelectedRange();
			return new Region(point.x, point.y);
		}