Author: tcurdt
Date: Fri Feb 11 02:23:36 2005
New Revision: 153380
URL: http://svn.apache.org/viewcvs?view=rev&rev=153380
Log:
fixed the deep cloning
Modified:
jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Code.java
jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Deprecated.java
jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/ExceptionTable.java
jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Synthetic.java
jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java
Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Code.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Code.java?view=diff&r1=153379&r2=153380
==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Code.java (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Code.java Fri Feb 11 02:23:36 2005
@@ -320,8 +320,13 @@
* @param constant_pool the constant pool to duplicate
*/
public Attribute copy(ConstantPool constant_pool) {
- Code c = (Code)clone();
- c.code = code.clone();
+ Code c = (Code) clone();
+
+ if (code != null) {
+ c.code = new byte[code.length];
+ System.arraycopy(code, 0, c.code, 0, code.length);
+ }
+
c.constant_pool = constant_pool;
c.exception_table = new CodeException[exception_table_length];
Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Deprecated.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Deprecated.java?view=diff&r1=153379&r2=153380
==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Deprecated.java (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Deprecated.java Fri Feb 11 02:23:36 2005
@@ -123,8 +123,10 @@
public Attribute copy(ConstantPool constant_pool) {
Deprecated c = (Deprecated)clone();
- if(bytes != null)
- c.bytes = bytes.clone();
+ if (bytes != null) {
+ c.bytes = new byte[bytes.length];
+ System.arraycopy(bytes, 0, c.bytes, 0, bytes.length);
+ }
c.constant_pool = constant_pool;
return c;
Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/ExceptionTable.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/ExceptionTable.java?view=diff&r1=153379&r2=153380
==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/ExceptionTable.java (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/ExceptionTable.java Fri Feb 11 02:23:36 2005
@@ -158,7 +158,12 @@
*/
public Attribute copy(ConstantPool constant_pool) {
ExceptionTable c = (ExceptionTable)clone();
- c.exception_index_table = exception_index_table.clone();
+
+ if (exception_index_table != null) {
+ c.exception_index_table = new int[exception_index_table.length];
+ System.arraycopy(exception_index_table, 0, c.exception_index_table, 0, exception_index_table.length);
+ }
+
c.constant_pool = constant_pool;
return c;
}
Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Synthetic.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Synthetic.java?view=diff&r1=153379&r2=153380
==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Synthetic.java (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Synthetic.java Fri Feb 11 02:23:36 2005
@@ -130,8 +130,10 @@
public Attribute copy(ConstantPool constant_pool) {
Synthetic c = (Synthetic)clone();
- if(bytes != null)
- c.bytes = bytes.clone();
+ if (bytes != null) {
+ c.bytes = new byte[bytes.length];
+ System.arraycopy(bytes, 0, c.bytes, 0, bytes.length);
+ }
c.constant_pool = constant_pool;
return c;
Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java?view=diff&r1=153379&r2=153380
==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Unknown.java Fri Feb 11 02:23:36 2005
@@ -167,8 +167,10 @@
public Attribute copy(ConstantPool constant_pool) {
Unknown c = (Unknown)clone();
- if(bytes != null)
- c.bytes = bytes.clone();
+ if (bytes != null) {
+ c.bytes = new byte[bytes.length];
+ System.arraycopy(bytes, 0, c.bytes, 0, bytes.length);
+ }
c.constant_pool = constant_pool;
return c;
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.