Bug 85502 [5.0][syntax coloring] Coloring of unboxing/boxing: Missing cases
20050216 The following cases seem to be missed by the boxing/unboxing syntax colorer: (enable compiler warning for (un)boxing to see where boxing occurs) public class A { private void foo1() { int a= 9; if (a == new Integer(9)) { } } private void foo2() { Integer x= 'c'; } private void foo3() { int si= true ? new Integer(0) : new Character('x'); } private void foo4() { Integer x= new Integer(9); x += 9; } private void foo5() { Integer[] a= {1, 2, 3}; int[] b= {a[0]}; } private void foo6() { Integer y= new Integer(9); switch (y) { } } private int foo7() { Integer y= new Integer(9); return y; } private Integer foo8() { int count= 9; return count; } }
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightingReconciler.java
}
		/**
		 * Add a position with the given range and highlighting iff it does not exist already.
		 * @param offset The range offset
		 * @param length The range length
		 * @param highlighting The highlighting
		 */
		private void addPosition(int offset, int length, Highlighting highlighting) {
			boolean isExisting= false;
			
			for (int i= 0, n= fRemovedPositions.size(); i < n; i++) {
				HighlightedPosition position= (HighlightedPosition) fRemovedPositions.get(i);
				if (position == null)
					continue;
				if (position.isEqual(offset, length, highlighting)) {
					isExisting= true;
					fRemovedPositions.set(i, null);
					fNOfRemovedPositions--;
					break;
				}
			}
			if (!isExisting) {
				Position position= fJobPresenter.createHighlightedPosition(offset, length, highlighting);
				fAddedPositions.add(position);
			}
		}
		/**
		 * Retain the positions completely contained in the given range.
		 * @param offset The range offset
		 * @param length The range length