--- 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);