14.4. Automated refactoring tools
The REFACTOR module implements automated code refactoring transformations. It provides tools for renaming symbols, extracting functions, and other structural code changes that preserve program semantics.
All functions and symbols are in “refactor” module, use require to get access to it.
require daslib/refactor
14.4.1. Function annotations
- refactor::ExtractMethodMacro
Function annotation implementing extract-method refactoring.
- refactor::ExtractVariableFunction
Function annotation for extract-variable target functions.
14.4.2. Call macros
- refactor::extract_variable
Call macro implementing extract-variable refactoring.
14.4.3. Refactoring operations
- refactor::extract_expression(method_name: string; expr: auto) : auto()
Marks an expression for expression extraction refactoring.
- Arguments
method_name : string
expr : auto
- refactor::extract_method(method_name: string; blk: block<():void>)
Marks a block of code for method extraction refactoring.
- Arguments
method_name : string
blk : block<void>
- refactor::extract_variable_nonref(method_name: string; expr: auto) : auto()
Marks an expression for variable extraction by value.
- Arguments
method_name : string
expr : auto
- refactor::extract_variable_ref(method_name: string; expr: auto(TT)& ==const) : TT&()
Marks an expression for variable extraction by reference.
- Arguments
method_name : string
expr : auto(TT)&!