* Adds a single rule to the resolver. Rules must be added before calling {@link #compileRules} to pre-process them into the data structures used for resolution.
*
* @param resolutionRule the rule to add, not null
*/
public void addRule(ResolutionRule resolutionRule) {
final ComputationTargetType type = resolutionRule.getParameterizedFunction().getFunction().getTargetType();
type.accept(s_createChainedRuleBundle, this);
final Iterable<Collection<ResolutionRule>> rules = _type2Rules.getDirect(type);
assert rules != null; // s_createChainedRuleBundle should have done this
final ChainedRuleBundle bundle;
if (rules instanceof ChainedRuleBundle) {
bundle = (ChainedRuleBundle) rules;