Public class
forEachSyntaxExpander implements SyntaxExpander {
private String[] _clauses = new String [] { };
public String [] getContinuationWords() { return _clauses;
}
public Fragment expand
(Fragment fragment) throws MatchFailure{
syntaxSwitch (fragment) {
case #{ forEach (?:type ?elt:name in ?:expression)
?:statement }:
return #{ Iterator i = ?expression.iterator();
while (i.hasNext()) {
?elt = (?type)i.next();
?statement
}
};
}
}
}