1. Clang中目前存在的重构操作规则需求继承关系如下:
- 一个重构操作规则需求(RefactoringActionRuleRequirement)决定何时可以调用一个重构操作规则(RefactoringActionRule)。
- 只有在满足所有需求时才能调用该规则。
- 子类必须实现
Expected<T> evaluate(RefactoringRuleContext &) const
成员函数。- T用于确定传递给
RefactoringActionRule
构造函数的返回类型。 - 例如,这个
SourceRangeSelectionRequirement
子类定义了Expected<SourceRange> evaluate(RefactoringRuleContext &Context) const
函数。当此函数返回一个非错误值时,生成的SourceRange
将传递给特定的RefactoringActionRule
构造函数(前提是满足所有其他需求)。
- T用于确定传递给