aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/javassist/bytecode/EnclosingMethodAttribute.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/javassist/bytecode/EnclosingMethodAttribute.java')
-rw-r--r--src/main/javassist/bytecode/EnclosingMethodAttribute.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/javassist/bytecode/EnclosingMethodAttribute.java b/src/main/javassist/bytecode/EnclosingMethodAttribute.java
index d59955dd..4f422fd7 100644
--- a/src/main/javassist/bytecode/EnclosingMethodAttribute.java
+++ b/src/main/javassist/bytecode/EnclosingMethodAttribute.java
@@ -20,6 +20,8 @@ import java.io.DataInputStream;
import java.io.IOException;
import java.util.Map;
+import javassist.CtConstructor;
+
/**
* <code>EnclosingMethod_attribute</code>.
*/
@@ -98,12 +100,18 @@ public class EnclosingMethodAttribute extends AttributeInfo {
/**
* Returns the method name specified by <code>method_index</code>.
+ * If the method is a class initializer (static constructor),
+ * {@link MethodInfo#nameClinit} is returned.
*/
public String methodName() {
ConstPool cp = getConstPool();
int mi = methodIndex();
- int ni = cp.getNameAndTypeName(mi);
- return cp.getUtf8Info(ni);
+ if (mi == 0)
+ return MethodInfo.nameClinit;
+ else {
+ int ni = cp.getNameAndTypeName(mi);
+ return cp.getUtf8Info(ni);
+ }
}
/**