diff options
author | Roman Shevchenko <roman.shevchenko@jetbrains.com> | 2014-09-04 18:16:16 +0400 |
---|---|---|
committer | Roman Shevchenko <roman.shevchenko@jetbrains.com> | 2014-09-04 18:41:39 +0400 |
commit | 686b5abef9c269a726897c6992d0ea2abea79b04 (patch) | |
tree | d2a03c184d65f5dfa782d13826dbbba41c3a216b /src/org/jetbrains/java/decompiler/struct/attr/StructEnclosingMethodAttribute.java | |
parent | 1cea85e49ae7659e7124383b619730ba6053bb46 (diff) | |
download | fernflower-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.java | 35 |
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; } } |