Fix a regression (dunno why it surfaced now): pre-resolve more elements
of a lowering expression
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lifting/Lowering.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lifting/Lowering.java
index dcf6146..7d1f857 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lifting/Lowering.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/lifting/Lowering.java
@@ -162,6 +162,8 @@
                 if (classRef != null) {
                 	// field access needs cast to the role-class.
                 	// FIXME(SH): use synthetic role field accessor instead!
+                	classRef.constant = Constant.NotAConstant;
+                	classRef.resolvedType = roleClass;
                 	CastExpression unloweredExpr;
                     unloweredExpr = new CastExpression(unloweredExpression, classRef, CastExpression.NEED_CLASS);
                     unloweredExpr.constant     = Constant.NotAConstant;