Java源码示例:org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder
示例1
private AbstractGrammarElementFinder grammarFinder() {
final String file = "classpath:/org/eclipse/xtext/generator/grammarAccess/ElementFinderTestLanguage.xtext";
XtextResourceSet rs = get(XtextResourceSet.class);
rs.setClasspathURIContext(getClass());
final Resource r = rs.getResource(URI.createURI(file), true);
return new AbstractGrammarElementFinder() {
@Override
public Grammar getGrammar() {
return (Grammar) r.getContents().get(0);
}
};
}
示例2
@Test public void testFindCrossReferences() {
AbstractGrammarElementFinder f = grammarFinder();
AbstractRule r = GrammarUtil.findRuleForName(f.getGrammar(), "FQN");
assertNotNull(r);
assertEquals(1, f.findCrossReferences(r).size());
EClass type = (EClass) GrammarUtil.findRuleForName(f.getGrammar(), "Type").getType().getClassifier();
assertNotNull(type);
assertEquals(1, f.findCrossReferences(type).size());
}
示例3
@Test public void testFindRuleCalls() {
AbstractGrammarElementFinder f = grammarFinder();
AbstractRule r = GrammarUtil.findRuleForName(f.getGrammar(), "FinderKeywords");
assertEquals(2, f.findRuleCalls(r).size());
}