You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2015/08/26 14:57:13 UTC
svn commit: r1697916 -
/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/BootstrapMethod.java
Author: sebb
Date: Wed Aug 26 12:57:13 2015
New Revision: 1697916
URL: http://svn.apache.org/r1697916
Log:
Follow-up to BCEL-209 Drop the field num_bootstrap_arguments
it is not necessary, and was not kept in sync if the arguments were updated
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/BootstrapMethod.java
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/BootstrapMethod.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/BootstrapMethod.java?rev=1697916&r1=1697915&r2=1697916&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/BootstrapMethod.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/BootstrapMethod.java Wed Aug 26 12:57:13 2015
@@ -20,6 +20,7 @@ package org.apache.commons.bcel6.classfi
import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
+import java.util.Arrays;
import org.apache.commons.bcel6.Constants;
@@ -37,8 +38,6 @@ public class BootstrapMethod implements
/** Index of the CONSTANT_MethodHandle_info structure in the constant_pool table */
private int bootstrap_method_ref;
- private final int num_bootstrap_arguments;
-
/** Array of references to the constant_pool table */
private int[] bootstrap_arguments;
@@ -59,8 +58,7 @@ public class BootstrapMethod implements
BootstrapMethod(DataInput input) throws IOException {
this(input.readUnsignedShort(), input.readUnsignedShort(), (int[]) null);
- bootstrap_arguments = new int[num_bootstrap_arguments];
- for (int i = 0; i < num_bootstrap_arguments; i++) {
+ for (int i = 0; i < bootstrap_arguments.length; i++) {
bootstrap_arguments[i] = input.readUnsignedShort();
}
}
@@ -73,7 +71,7 @@ public class BootstrapMethod implements
*/
public BootstrapMethod(int bootstrap_method_ref, int num_bootstrap_arguments, int[] bootstrap_arguments) {
this.bootstrap_method_ref = bootstrap_method_ref;
- this.num_bootstrap_arguments = num_bootstrap_arguments;
+ this.bootstrap_arguments = new int[num_bootstrap_arguments];
this.bootstrap_arguments = bootstrap_arguments;
}
@@ -102,7 +100,7 @@ public class BootstrapMethod implements
* @return count of number of boostrap arguments
*/
public int getNumBootstrapArguments() {
- return num_bootstrap_arguments;
+ return bootstrap_arguments.length;
}
/**
@@ -117,10 +115,8 @@ public class BootstrapMethod implements
*/
@Override
public final String toString() {
- return "BootstrapMethod(" + bootstrap_method_ref + ", " + num_bootstrap_arguments + ", "
- //UNDONE
- //+ bootstrap_arguments + ")";
- + "UNDONE)";
+ return "BootstrapMethod(" + bootstrap_method_ref + ", " + bootstrap_arguments.length + ", "
+ + Arrays.toString(bootstrap_arguments) + ")";
}
/**
@@ -132,6 +128,7 @@ public class BootstrapMethod implements
bootstrap_method_name = constant_pool.constantToString(bootstrap_method_ref,
Constants.CONSTANT_MethodHandle);
buf.append(Utility.compactClassName(bootstrap_method_name));
+ final int num_bootstrap_arguments = bootstrap_arguments.length;
if (num_bootstrap_arguments > 0) {
buf.append("\n Method Arguments:");
for (int i = 0; i < num_bootstrap_arguments; i++) {