X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FReflectiveGrammar.java;h=5f90b7f045bbcbad6ee84b531ae5f6f598a9e3fb;hb=00bfe640e0ec2ad1765cc2487981713db0475a1a;hp=146335cef85540d3ace9a13e1c5c0f6ccf9468f4;hpb=b366a301b090a285c372f4fd77ab7472440f7d30;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/ReflectiveGrammar.java b/src/edu/berkeley/sbp/misc/ReflectiveGrammar.java index 146335c..5f90b7f 100644 --- a/src/edu/berkeley/sbp/misc/ReflectiveGrammar.java +++ b/src/edu/berkeley/sbp/misc/ReflectiveGrammar.java @@ -8,8 +8,8 @@ import edu.berkeley.sbp.tib.*; import edu.berkeley.sbp.chr.*; import edu.berkeley.sbp.util.*; -public class ReflectiveGrammar extends MetaGrammar { - +public class ReflectiveGrammar /*extends MetaGrammar*/ { + /* final Class baseClass; public ReflectiveGrammar(Class baseClass) { this.baseClass = baseClass; } @@ -55,7 +55,6 @@ public class ReflectiveGrammar extends MetaGrammar { } else if (h==arrayMark && c==null) { c = Object[].class; } - if (c==null) System.out.println(h + " -- " + t.toPrettyString()); if (c.isArray()) { Object[] ret = new Object[t.numChildren()]; for(int i=0; i t, Class c) throws Exception { - System.out.println("buildBody " + (c==null?null:c.getName()) + " " + t); + //System.out.println("buildBody " + (c==null?null:c.getName()) + " " + t); c = resolveClass(t, c); if (c==null) return buildHead(t, null); Object o = c.newInstance(); @@ -98,7 +97,7 @@ public class ReflectiveGrammar extends MetaGrammar { else { Object tgt = Reflection.rebuild(buildHead(t.child(i), field.getType()), field.getType()); //if (tgt instanceof Object[]) tgt = Reflection.lub(tgt); - System.err.println("setting field " + field.getName() + " on " + c.getName() + " to " + tgt); + //System.err.println("setting field " + field.getName() + " on " + c.getName() + " to " + tgt); try { field.set(o, tgt); } catch (Exception e) { @@ -113,15 +112,15 @@ public class ReflectiveGrammar extends MetaGrammar { if (c==null) return null; if (c==int.class) return c; if (c==String.class) return c; - System.out.println("resolving " + c.getName()); + //System.out.println("resolving " + c.getName()); if (Reflection.isConcrete(c)) return c; Class ret = null; Class[] subs = (Class[])c.getField("subclasses").get(null); OUTER: for(int i=0; i