From f8dec42308b5eb1196db5bf56bb2f5426b4a76af Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 5 Jul 2006 00:56:08 -0400 Subject: [PATCH] checkpoint darcs-hash:20060705045608-5007d-3cf39883d5b740146a8fb99d953b94a858091b9e.gz --- src/edu/berkeley/sbp/bind/Bindable.java | 9 ++------- src/edu/berkeley/sbp/bind/bind.java | 10 +++++++--- src/edu/berkeley/sbp/misc/MetaGrammar.java | 3 ++- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/edu/berkeley/sbp/bind/Bindable.java b/src/edu/berkeley/sbp/bind/Bindable.java index d045e16..0e2da13 100644 --- a/src/edu/berkeley/sbp/bind/Bindable.java +++ b/src/edu/berkeley/sbp/bind/Bindable.java @@ -52,7 +52,7 @@ public abstract class Bindable implements ToJava { private final Constructor _constructor; public String toString() { return "BindableConstructor["+_constructor+"]"; } public BindableConstructor(Constructor _constructor) { this._constructor = _constructor; } - public String getSimpleName() { return _constructor.getName(); } + public String getSimpleName() { return _constructor.getDeclaringClass().getSimpleName(); } public A getAnnotation(Class c) { return _constructor.getAnnotation(c); } public Object impose(Object[] fields) { return Reflection.impose(_constructor, fields); } public Annotation[][] getArgAnnotations() { return _constructor.getParameterAnnotations(); } @@ -70,12 +70,7 @@ public abstract class Bindable implements ToJava { private final Class _class; public String toString() { return "BindableClass["+_class+"]"; } public BindableClass(Class _class) { this._class = _class; } - public String getSimpleName() { - String s = _class.getSimpleName(); - if (s.indexOf('$') != -1) - return s.substring(s.indexOf('$')+1); - return s; - } + public String getSimpleName() { return _class.getSimpleName(); } public A getAnnotation(Class c) { return (A)_class.getAnnotation(c); } public Object impose(Object[] fields) { return Reflection.impose(_class, fields); } public Annotation[][] getArgAnnotations() { diff --git a/src/edu/berkeley/sbp/bind/bind.java b/src/edu/berkeley/sbp/bind/bind.java index 4441ee1..47fe91b 100644 --- a/src/edu/berkeley/sbp/bind/bind.java +++ b/src/edu/berkeley/sbp/bind/bind.java @@ -9,6 +9,7 @@ import java.lang.annotation.*; import java.lang.reflect.*; import java.io.*; +@Retention(RetentionPolicy.RUNTIME) public @interface bind { /** * Constructors, classes, and methods with this attribute will @@ -20,7 +21,8 @@ public @interface bind { @Retention(RetentionPolicy.RUNTIME) public static @interface nonterminal { String value() default ""; } */ - @Retention(RetentionPolicy.RUNTIME) public static @interface raw { } + @Retention(RetentionPolicy.RUNTIME) + public static @interface raw { } /** * Constructors, classes, and methods with this attribute will @@ -29,7 +31,8 @@ public @interface bind { * name is used. */ - @Retention(RetentionPolicy.RUNTIME) public static @interface as { String value() default ""; } + @Retention(RetentionPolicy.RUNTIME) + public static @interface as { String value() default ""; } /** @@ -52,5 +55,6 @@ public @interface bind { * arg-compatible, or if one of its constructors is arg-compatible. * */ - @Retention(RetentionPolicy.RUNTIME) public static @interface arg { String value() default ""; } + @Retention(RetentionPolicy.RUNTIME) + public static @interface arg { String value() default ""; } } diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index 2007dd1..2917f7b 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -184,6 +184,7 @@ public class MetaGrammar { return buildSequence(p)!=null; bind b = getBind(); + System.out.println(_bindable.getClass().getSimpleName() + ": " + _bindable.getSimpleName()); if (b != null && getName().equals(p.tag)) return buildSequence(p)!=null; @@ -312,7 +313,7 @@ public class MetaGrammar { public static class MG { - public static @bind.as class Grammar { + public static @bind class Grammar { public NonTerminal get(String s) { for(NonTerminal nt : nonterminals) if (nt.name.equals(s)) -- 1.7.10.4