X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FReflection.java;h=327a1ddaf1906f791025a9b6b0471d12edc156d7;hb=7ebc0eeb8a2f49301620c5ba840aff819a672802;hp=5c13668cf5792497f9d91c4cf3e7903d6ec1497f;hpb=45d799349e635f1a99e3974e4504a43d5a7aaf33;p=sbp.git diff --git a/src/edu/berkeley/sbp/util/Reflection.java b/src/edu/berkeley/sbp/util/Reflection.java index 5c13668..327a1dd 100644 --- a/src/edu/berkeley/sbp/util/Reflection.java +++ b/src/edu/berkeley/sbp/util/Reflection.java @@ -40,6 +40,7 @@ public final class Reflection { Object[] ret = (Object[])Array.newInstance(c.getComponentType(), 1); ret[0] = o; return ret; + } else if (c==int.class && o instanceof Number) { return o; } else { throw new Error("unable to cast " + o + " from " + o.getClass().getName() + " to " + c.getName()); } @@ -50,6 +51,33 @@ public final class Reflection { return (Object[])Array.newInstance(c, i); } + public static String show(Object o) { + if (o==null) return "null"; + if (o instanceof Show) return ((Show)o).toString(); + if (! (o instanceof Object[])) return o.toString() + " : " + o.getClass().getName(); + Object[] arr = (Object[])o; + StringBuffer ret = new StringBuffer(); + ret.append(o.getClass().getComponentType().getName()); + ret.append("["+arr.length+"]:"); + for(int i=0; i