package net.minecraft.util.parsing.packrat; import java.util.HashMap; import java.util.Map; import org.jetbrains.annotations.Nullable; public class Dictionary { private final Map, Rule> terms = new HashMap(); public void put(Atom atom, Rule rule) { Rule rule2 = (Rule)this.terms.putIfAbsent(atom, rule); if (rule2 != null) { throw new IllegalArgumentException("Trying to override rule: " + atom); } } public void put(Atom atom, Term term, Rule.RuleAction ruleAction) { this.put(atom, Rule.fromTerm(term, ruleAction)); } public void put(Atom atom, Term term, Rule.SimpleRuleAction simpleRuleAction) { this.put(atom, Rule.fromTerm(term, simpleRuleAction)); } @Nullable public Rule get(Atom atom) { return (Rule)this.terms.get(atom); } }