projects
/
sbp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f7d5c23
)
checkpoint
author
adam
<adam@megacz.com>
Wed, 5 Jul 2006 05:20:03 +0000
(
01:20
-0400)
committer
adam
<adam@megacz.com>
Wed, 5 Jul 2006 05:20:03 +0000
(
01:20
-0400)
darcs-hash:
20060705052003
-5007d-
d91e4dcf0c5084eb5d9b9cdf398b75f62a194728
.gz
src/edu/berkeley/sbp/meta/AnnotationGrammarBindingResolver.java
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/sbp/meta/AnnotationGrammarBindingResolver.java
b/src/edu/berkeley/sbp/meta/AnnotationGrammarBindingResolver.java
index
1955f7f
..
825dc56
100644
(file)
--- a/
src/edu/berkeley/sbp/meta/AnnotationGrammarBindingResolver.java
+++ b/
src/edu/berkeley/sbp/meta/AnnotationGrammarBindingResolver.java
@@
-35,19
+35,21
@@
public class AnnotationGrammarBindingResolver extends GrammarBindingResolver {
}
public Sequence tryResolveTag(String tag, String nonTerminalName, Element[] els, Object[] labels, boolean[] drops) {
}
public Sequence tryResolveTag(String tag, String nonTerminalName, Element[] els, Object[] labels, boolean[] drops) {
+ MetaGrammar.Production p = new MetaGrammar.Production(tag, nonTerminalName, els, labels, drops);
for(Method m : _cl.getMethods())
for(Method m : _cl.getMethods())
- if (new MetaGrammar.Target(m).isCompatible(tag, nonTerminalName, els, labels, drops))
- return new MetaGrammar.Target(m).makeSequence(tag, nonTerminalName, els, labels, drops);
+ if (new MetaGrammar.Target(m).isCompatible(p))
+ return new MetaGrammar.Target(m).makeSequence(p);
for(Class c : _inner)
for(Constructor con : c.getConstructors())
for(Class c : _inner)
for(Constructor con : c.getConstructors())
- if (new MetaGrammar.Target(con).isCompatible(tag, nonTerminalName, els, labels, drops))
- return new MetaGrammar.Target(con).makeSequence(tag, nonTerminalName, els, labels, drops);
+ if (new MetaGrammar.Target(con).isCompatible(p))
+ return new MetaGrammar.Target(con).makeSequence(p);
for(Class c : _inner)
for(Class c : _inner)
- if (new MetaGrammar.Target(c).isCompatible(tag, nonTerminalName, els, labels, drops))
- return new MetaGrammar.Target(c).makeSequence(tag, nonTerminalName, els, labels, drops);
+ if (new MetaGrammar.Target(c).isCompatible(p))
+ return new MetaGrammar.Target(c).makeSequence(p);
return null;
}
public Sequence resolveTag(String tag, String nonTerminalName, Element[] els, Object[] labels, boolean[] drops) {
return null;
}
public Sequence resolveTag(String tag, String nonTerminalName, Element[] els, Object[] labels, boolean[] drops) {
+ MetaGrammar.Production p = new MetaGrammar.Production(tag, nonTerminalName, els, labels, drops);
Sequence ret = tryResolveTag(tag, nonTerminalName, els, labels, drops);
if (ret != null) return ret;
String message = "could not find a Java method/class/ctor matching tag \""+tag+
Sequence ret = tryResolveTag(tag, nonTerminalName, els, labels, drops);
if (ret != null) return ret;
String message = "could not find a Java method/class/ctor matching tag \""+tag+