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
private SemanticToken fToken= new SemanticToken();
		/*
		 * @see org.eclipse.jdt.internal.corext.dom.GenericVisitor#visitNode(org.eclipse.jdt.core.dom.ASTNode)
		 */
		protected boolean visitNode(ASTNode node) {
			if ((node.getFlags() & ASTNode.MALFORMED) == ASTNode.MALFORMED) {
				retainPositions(node.getStartPosition(), node.getLength());
				return false;
			}
			return true;
		}
		/*
		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.SimpleName)
		 */
		public boolean visit(SimpleName node) {
			fToken.update(node);
			for (int i= 0, n= fJobSemanticHighlightings.length; i < n; i++) {
				SemanticHighlighting semanticHighlighting= fJobSemanticHighlightings[i];
				if (fJobHighlightings[i].isEnabled() && semanticHighlighting.consumes(fToken)) {
					int offset= node.getStartPosition();
					int length= node.getLength();
					if (offset > -1 && length > 0)
						addPosition(offset, length, fJobHighlightings[i]);
					break;
				}
			}
			fToken.clear();
			return false;