Lines Matching full:that
6 a couple of examples that show how various primitives in the refactoring API
8 library provides several other APIs that are used when developing a
11 Refactoring engine can be used to implement local refactorings that are
14 refactorings that don't lend themselves well to source selection and/or have to
26 Clang's refactoring engine defines a set refactoring actions that implement
31 A refactoring action is a class that defines a list of related refactoring
57 grouped refactoring action rules that represent one refactoring operation.
64 that define a set of different rules that produce similar results. For example,
67 refactoring that works on all switches that operate on a particular enum, as
69 constant. To achieve that, we can create two different rules that will use one
71 that's initiated when the user selects a single switch. The second rule will
72 describe a global operation that works across translation units and is initiated
83 - ``SourceChangeRefactoringRule`` produces source replacements that are applied
84 to the source files. Subclasses that choose to implement this rule have to
86 rule is typically used to implement local refactorings that transform the
90 result: a set of occurrences that refer to a particular symbol. This type
91 of rule is typically used to implement an interactive renaming action that
93 refactoring. Subclasses that choose to implement this rule have to implement
112 interface. The subclass should have a constructor that takes the inputs that
114 rule that simply deletes a selection, you should create a subclass of
115 ``SourceChangeRefactoringRule`` with a constructor that accepts the selection
137 function. For example, the class that's shown above can be added to the
150 requirements that have to be satisfied by the refactoring engine before the
153 requirements that can be used to construct a refactoring action rule.
160 ``evaluate`` member function that returns a value of type ``Expected<...>``.
162 ``createRefactoringActionRule``, that value is evaluated during the initiation
165 ``DeleteSelectedRange`` sample rule that's defined in the previous section
172 will be reported to the client. Note that the client may not report the
190 that allows users to input these options without ever invoking the
196 The refactoring rule requirements that require some form of source selection
203 that case).
212 There are several other requirements types that can be used when creating
215 - The ``RefactoringOptionsRequirement`` requirement is an abstract class that
218 aforementioned class that returns the value of the specified option when
225 Refactoring options are values that affect a refactoring operation and are
227 mechanism. Options should be created using a class that derives either from
229 example shows how one can created a required string option that corresponds to
242 The option that's shown in the example above can then be used to create