X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FReflection.java;h=cb45e8f4630d08ccaba01d54cf4bbe9e3f380d74;hb=f09d2abb95f106197aea99c345282c3bf0cd3717;hp=42267ceee833b3597e0372524bc75307fb48e2aa;hpb=1ee308307a30c7e610a7dcad2e2cc4253e9ae039;p=sbp.git diff --git a/src/edu/berkeley/sbp/util/Reflection.java b/src/edu/berkeley/sbp/util/Reflection.java index 42267ce..cb45e8f 100644 --- a/src/edu/berkeley/sbp/util/Reflection.java +++ b/src/edu/berkeley/sbp/util/Reflection.java @@ -1,7 +1,9 @@ package edu.berkeley.sbp.util; import java.io.*; import java.lang.reflect.*; +import java.lang.annotation.*; +// FIXME: decent error reporting /** Random reflection-related utilities */ public final class Reflection { @@ -51,6 +53,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((Show)o); + 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