summaryrefslogtreecommitdiffstats
path: root/src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java
diff options
context:
space:
mode:
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>2014-09-04 18:16:16 +0400
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>2014-09-04 18:41:39 +0400
commit686b5abef9c269a726897c6992d0ea2abea79b04 (patch)
treed2a03c184d65f5dfa782d13826dbbba41c3a216b /src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java
parent1cea85e49ae7659e7124383b619730ba6053bb46 (diff)
downloadfernflower-686b5abef9c269a726897c6992d0ea2abea79b04.tar
fernflower-686b5abef9c269a726897c6992d0ea2abea79b04.tar.gz
fernflower-686b5abef9c269a726897c6992d0ea2abea79b04.tar.lz
fernflower-686b5abef9c269a726897c6992d0ea2abea79b04.tar.xz
fernflower-686b5abef9c269a726897c6992d0ea2abea79b04.zip
java-decompiler: optimization (empty lists allocation avoided)
Diffstat (limited to 'src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java')
-rw-r--r--src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java35
1 files changed, 17 insertions, 18 deletions
diff --git a/src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java b/src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java
index ebf9407..c9b9ebb 100644
--- a/src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java
+++ b/src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java
@@ -18,32 +18,31 @@ package org.jetbrains.java.decompiler.struct.attr;
import org.jetbrains.java.decompiler.struct.consts.ConstantPool;
import org.jetbrains.java.decompiler.struct.consts.LinkConstant;
-public class StructEnclosingMethodAttribute extends StructGeneralAttribute {
-
- private String classname;
+import java.io.DataInputStream;
+import java.io.IOException;
- private String mtname;
+public class StructEnclosingMethodAttribute extends StructGeneralAttribute {
+ private String className;
+ private String methodName;
private String methodDescriptor;
- public void initContent(ConstantPool pool) {
-
- name = ATTRIBUTE_ENCLOSING_METHOD;
-
- int clindex = (((info[0] & 0xFF) << 8) | (info[1] & 0xFF));
- int mtindex = (((info[2] & 0xFF) << 8) | (info[3] & 0xFF));
-
- classname = pool.getPrimitiveConstant(clindex).getString();
- if (mtindex != 0) {
- LinkConstant lk = pool.getLinkConstant(mtindex);
+ @Override
+ public void initContent(ConstantPool pool) throws IOException {
+ DataInputStream data = stream();
+ int classIndex = data.readUnsignedShort();
+ int methodIndex = data.readUnsignedShort();
- mtname = lk.elementname;
+ className = pool.getPrimitiveConstant(classIndex).getString();
+ if (methodIndex != 0) {
+ LinkConstant lk = pool.getLinkConstant(methodIndex);
+ methodName = lk.elementname;
methodDescriptor = lk.descriptor;
}
}
- public String getClassname() {
- return classname;
+ public String getClassName() {
+ return className;
}
public String getMethodDescriptor() {
@@ -51,6 +50,6 @@ public class StructEnclosingMethodAttribute extends StructGeneralAttribute {
}
public String getMethodName() {
- return mtname;
+ return methodName;
}
}