1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Attr.java Thu Aug 22 10:22:44 2013 +0100 1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Attr.java Thu Aug 22 13:12:43 2013 +0100 1.3 @@ -1063,9 +1063,7 @@ 1.4 1.5 if (tree.init != null) { 1.6 if ((v.flags_field & FINAL) != 0 && 1.7 - !tree.init.hasTag(NEWCLASS) && 1.8 - !tree.init.hasTag(LAMBDA) && 1.9 - !tree.init.hasTag(REFERENCE)) { 1.10 + memberEnter.needsLazyConstValue(tree.init)) { 1.11 // In this case, `v' is final. Ensure that it's initializer is 1.12 // evaluated. 1.13 v.getConstValue(); // ensure initializer is evaluated