langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java
changeset 1045 56f6e84f7825
parent 1043 11ea4773b0af
child 1260 a772ba9ba43d
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java	Fri Aug 08 17:38:20 2008 +0100
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java	Fri Aug 08 17:43:24 2008 +0100
@@ -627,8 +627,11 @@
         tree.sym = v;
         if (tree.init != null) {
             v.flags_field |= HASINIT;
-            if ((v.flags_field & FINAL) != 0 && tree.init.getTag() != JCTree.NEWCLASS)
-                v.setLazyConstValue(initEnv(tree, env), log, attr, tree.init);
+            if ((v.flags_field & FINAL) != 0 && tree.init.getTag() != JCTree.NEWCLASS) {
+                Env<AttrContext> initEnv = getInitEnv(tree, env);
+                initEnv.info.enclVar = v;
+                v.setLazyConstValue(initEnv(tree, initEnv), log, attr, tree.init);
+            }
         }
         if (chk.checkUnique(tree.pos(), v, enclScope)) {
             chk.checkTransparentVar(tree.pos(), v, enclScope);