diff --git a/src/com/redhat/ceylon/compiler/java/codegen/ExpressionTransformer.java b/src/com/redhat/ceylon/compiler/java/codegen/ExpressionTransformer.java index cd81e7cda..3a41b3965 100755 --- a/src/com/redhat/ceylon/compiler/java/codegen/ExpressionTransformer.java +++ b/src/com/redhat/ceylon/compiler/java/codegen/ExpressionTransformer.java @@ -1427,8 +1427,15 @@ private JCExpression transformAssignment(Node op, Tree.Term leftTerm, JCExpressi } } else if (variable && (Decl.isClassAttribute(decl))) { // must use the setter, nothing to do, unless it's a java field - if(Decl.isJavaField(decl)) - result = at(op).Assign(makeQualIdent(lhs, decl.getName()), rhs); + if(Decl.isJavaField(decl)){ + if (decl.isStaticallyImportable()) { + // static field + result = at(op).Assign(makeQualIdent(makeQuotedFQIdent(decl.getContainer().getQualifiedNameString()), decl.getName()), rhs); + }else{ + // normal field + result = at(op).Assign(makeQualIdent(lhs, decl.getName()), rhs); + } + } } else if (variable && (decl.isCaptured() || decl.isShared())) { // must use the qualified setter lhs = makeQualIdent(lhs, decl.getName());