mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 08:48:55 +00:00
[xtext] Improved performance of GrammarUtil.findRuleForName
Signed-off-by: Miro Spönemann <miro.spoenemann@itemis.de>
This commit is contained in:
parent
11c2745905
commit
e101883779
1 changed files with 9 additions and 4 deletions
|
@ -247,10 +247,15 @@ public class GrammarUtil {
|
|||
public static AbstractRule findRuleForName(Grammar grammar, String ruleName) {
|
||||
if (ruleName == null)
|
||||
return null;
|
||||
List<AbstractRule> rules = allRules(grammar);
|
||||
for (AbstractRule abstractRule : rules) {
|
||||
if (ruleName.equals(abstractRule.getName())) {
|
||||
return abstractRule;
|
||||
for (AbstractRule rule : grammar.getRules()) {
|
||||
if (ruleName.equals(rule.getName())) {
|
||||
return rule;
|
||||
}
|
||||
}
|
||||
for (Grammar usedGrammar : grammar.getUsedGrammars()) {
|
||||
AbstractRule rule = findRuleForName(usedGrammar, ruleName);
|
||||
if (rule != null) {
|
||||
return rule;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
|
Loading…
Reference in a new issue