Bug 112356 [syntax highlighting] Syntax highlight isn't applied to auto-unboxed expressions with a cast
In this example, neither the setBool() with explicit cast, nor the assignment to b2 indicate that the object is being auto-unboxed. It's unclear to me exactly what should be highlighted, the final term of the expression (this happens with non-casted expressions), or maybe the cast itself. --- public abstract class BoxingHighlightExample { abstract public boolean getBool(); abstract public void setBool(boolean b); public void demonstrate() { Boolean o1; Object o2; o1 = getBool(); o2 = getBool(); setBool(o1); setBool((Boolean)o2); boolean b1 = o1; boolean b2 = (Boolean)o2; } }
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/SemanticHighlightings.java
|| desc == InfixExpression.LEFT_OPERAND_PROPERTY 
						|| desc == InfixExpression.RIGHT_OPERAND_PROPERTY
						|| desc == ConditionalExpression.THEN_EXPRESSION_PROPERTY
						|| desc == PrefixExpression.OPERAND_PROPERTY
						|| desc == ConditionalExpression.ELSE_EXPRESSION_PROPERTY) {
					ASTNode parent= node.getParent();
					if (parent instanceof Expression)
						return isAutoUnBoxing((Expression) parent);
				}
				
				if (desc == SimpleType.NAME_PROPERTY || desc == QualifiedType.NAME_PROPERTY) {
					ASTNode parent= node.getParent();
					if (parent != null && parent.getLocationInParent() == ClassInstanceCreation.TYPE_PROPERTY) {
						parent= parent.getParent();
						if (parent instanceof Expression)
							return isAutoUnBoxing((Expression) parent);
					}
				}
			}
			return false;
		}
		
		private boolean isAutoUnBoxing(Expression expression) {
			return expression.resolveBoxing() || expression.resolveUnboxing();
		}
	}
	/**
	 * Semantic highlighting for method declarations.
	 */
	private static final class MethodDeclarationHighlighting extends SemanticHighlighting {