/** * @since 1.14 * @deprecated in 1.19, use {@link org.sonar.sslr.grammar.LexerfulGrammarBuilder#buildWithMemoizationOfMatchesForAllRules()} instead. */ @Deprecated public static void enableMemoizationOfMatchesForAllRules(Grammar grammar) { for (Field ruleField : Grammar.getAllRuleFields(grammar.getClass())) { String ruleName = ruleField.getName(); RuleDefinition rule; try { rule = (RuleDefinition) ruleField.get(grammar); } catch (IllegalAccessException e) { throw new IllegalStateException("Unable to enable memoization for rule '" + ruleName + "'", e); } rule.enableMemoization(); } }
/** * @since 1.14 * @deprecated in 1.19, use {@link org.sonar.sslr.grammar.LexerfulGrammarBuilder#buildWithMemoizationOfMatchesForAllRules()} instead. */ @Deprecated public static void enableMemoizationOfMatchesForAllRules(Grammar grammar) { for (Field ruleField : Grammar.getAllRuleFields(grammar.getClass())) { String ruleName = ruleField.getName(); RuleDefinition rule; try { rule = (RuleDefinition) ruleField.get(grammar); } catch (IllegalAccessException e) { throw new IllegalStateException("Unable to enable memoization for rule '" + ruleName + "'", e); } rule.enableMemoization(); } }
/** * @since 1.14 * @deprecated in 1.19, use {@link org.sonar.sslr.grammar.LexerfulGrammarBuilder#buildWithMemoizationOfMatchesForAllRules()} instead. */ @Deprecated public static void enableMemoizationOfMatchesForAllRules(Grammar grammar) { for (Field ruleField : Grammar.getAllRuleFields(grammar.getClass())) { String ruleName = ruleField.getName(); RuleDefinition rule; try { rule = (RuleDefinition) ruleField.get(grammar); } catch (IllegalAccessException e) { throw new IllegalStateException("Unable to enable memoization for rule '" + ruleName + "'", e); } rule.enableMemoization(); } }
private void instanciateRuleFields() { for (Field ruleField : getAllRuleFields(this.getClass())) { String ruleName = ruleField.getName(); try { Rule rule; if (this instanceof LexerlessGrammar) { rule = new MutableParsingRule(ruleName); } else { rule = new RuleDefinition(ruleName); } ruleField.setAccessible(true); ruleField.set(this, rule); } catch (Exception e) { throw new GrammarException(e, "Unable to instanciate the rule '" + ruleName + "': " + e.getMessage()); } } }
private void instanciateRuleFields() { for (Field ruleField : getAllRuleFields(this.getClass())) { String ruleName = ruleField.getName(); try { Rule rule; if (this instanceof LexerlessGrammar) { rule = new MutableParsingRule(ruleName); } else { rule = new RuleDefinition(ruleName); } ruleField.setAccessible(true); ruleField.set(this, rule); } catch (Exception e) { throw new GrammarException(e, "Unable to instanciate the rule '" + ruleName + "': " + e.getMessage()); } } }
private void instanciateRuleFields() { for (Field ruleField : getAllRuleFields(this.getClass())) { String ruleName = ruleField.getName(); try { Rule rule; if (this instanceof LexerlessGrammar) { rule = new MutableParsingRule(ruleName); } else { rule = new RuleDefinition(ruleName); } ruleField.setAccessible(true); ruleField.set(this, rule); } catch (Exception e) { throw new GrammarException(e, "Unable to instanciate the rule '" + ruleName + "': " + e.getMessage()); } } }