1.1 --- a/src/share/classes/com/sun/tools/javac/code/Symbol.java Mon Sep 12 11:40:07 2011 -0700 1.2 +++ b/src/share/classes/com/sun/tools/javac/code/Symbol.java Tue Sep 13 14:14:57 2011 +0100 1.3 @@ -149,7 +149,8 @@ 1.4 * the default package; otherwise, the owner symbol is returned 1.5 */ 1.6 public Symbol location() { 1.7 - if (owner.name == null || (owner.name.isEmpty() && owner.kind != PCK && owner.kind != TYP)) { 1.8 + if (owner.name == null || (owner.name.isEmpty() && 1.9 + (owner.flags() & BLOCK) == 0 && owner.kind != PCK && owner.kind != TYP)) { 1.10 return null; 1.11 } 1.12 return owner; 1.13 @@ -1299,10 +1300,17 @@ 1.14 return ElementKind.CONSTRUCTOR; 1.15 else if (name == name.table.names.clinit) 1.16 return ElementKind.STATIC_INIT; 1.17 + else if ((flags() & BLOCK) != 0) 1.18 + return isStatic() ? ElementKind.STATIC_INIT : ElementKind.INSTANCE_INIT; 1.19 else 1.20 return ElementKind.METHOD; 1.21 } 1.22 1.23 + public boolean isStaticOrInstanceInit() { 1.24 + return getKind() == ElementKind.STATIC_INIT || 1.25 + getKind() == ElementKind.INSTANCE_INIT; 1.26 + } 1.27 + 1.28 public Attribute getDefaultValue() { 1.29 return defaultValue; 1.30 }