improve Reflection.lub() behavior for nested arrays
[sbp.git] / src / edu / berkeley / sbp / util / Reflection.java
index a7c2539..a1c1dde 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
 package edu.berkeley.sbp.util;
 import java.io.*;
 import java.lang.reflect.*;
@@ -95,6 +97,8 @@ public final class Reflection {
         if (c==null) c = Object.class;
         Object[] ret = Reflection.newArray(c, argo.length);
         System.arraycopy(argo, 0, ret, 0, argo.length);
+        for(int i=0; i<ret.length; i++)
+            ret[i] = lub(ret[i]);
         return ret;
     }
 
@@ -233,6 +237,7 @@ public final class Reflection {
     }
 
     public static Object rethrow(Exception e, String message) {
+        e.printStackTrace();
         StackTraceElement[] st = e.getStackTrace();
         RuntimeException re = new RuntimeException(e.getMessage() + "\n  " + message);
         re.setStackTrace(st);