@@ -98,7 +98,7 @@ protected Expression updateExpression(Expression expression) {
9898 int parameterTypesCount = (parameterTypes == null ) ? 0 : parameterTypes .size ();
9999
100100 if (expClass == FieldReferenceExpression .class ) {
101- FieldReferenceExpression fre = ( FieldReferenceExpression ) exp ;
101+ FieldReferenceExpression fre = getFieldReferenceExpression ( exp ) ;
102102
103103 expression = (parameterTypesCount == 0 ) ? fre .getExpression () : mie1 .getParameters ().getFirst ();
104104
@@ -133,7 +133,7 @@ protected Expression updateExpression(Expression expression) {
133133 }
134134 } else if (expClass == BinaryOperatorExpression .class ) {
135135 BinaryOperatorExpression boe = (BinaryOperatorExpression ) exp ;
136- FieldReferenceExpression fre = ( FieldReferenceExpression ) boe .getLeftExpression ();
136+ FieldReferenceExpression fre = getFieldReferenceExpression ( boe .getLeftExpression () );
137137
138138 if (parameterTypesCount == 1 ) {
139139 return new BinaryOperatorExpression (
@@ -154,7 +154,7 @@ protected Expression updateExpression(Expression expression) {
154154 }
155155 } else if (expClass == PostOperatorExpression .class ) {
156156 PostOperatorExpression poe = (PostOperatorExpression )exp ;
157- FieldReferenceExpression fre = ( FieldReferenceExpression ) poe .getExpression ();
157+ FieldReferenceExpression fre = getFieldReferenceExpression ( poe .getExpression () );
158158
159159 expression = (parameterTypesCount == 0 ) ? fre .getExpression () : mie1 .getParameters ().getFirst ();
160160
@@ -164,7 +164,7 @@ protected Expression updateExpression(Expression expression) {
164164 poe .getOperator ());
165165 } else if (expClass == PreOperatorExpression .class ) {
166166 PreOperatorExpression poe = (PreOperatorExpression )exp ;
167- FieldReferenceExpression fre = ( FieldReferenceExpression ) poe .getExpression ();
167+ FieldReferenceExpression fre = getFieldReferenceExpression ( poe .getExpression () );
168168
169169 expression = (parameterTypesCount == 0 ) ? fre .getExpression () : mie1 .getParameters ().getFirst ();
170170
@@ -179,6 +179,16 @@ protected Expression updateExpression(Expression expression) {
179179 return expression ;
180180 }
181181
182+ protected static FieldReferenceExpression getFieldReferenceExpression (Expression expression ) {
183+ FieldReferenceExpression fre = (FieldReferenceExpression ) expression ;
184+
185+ if (fre .getExpression ().getClass () == ObjectTypeReferenceExpression .class ) {
186+ ((ObjectTypeReferenceExpression )fre .getExpression ()).setExplicit (true );
187+ }
188+
189+ return fre ;
190+ }
191+
182192 protected class BodyDeclarationsVisitor extends AbstractJavaSyntaxVisitor {
183193 protected HashMap <String , ClassFileMethodDeclaration > map = null ;
184194
0 commit comments