class ExtractFunction

Declaration

class ExtractFunction : public SourceChangeRefactoringRule { /* full declaration omitted */ };

Description

An "Extract Function" refactoring moves code into a new function that's then called from the place where the original code was.

Declared at: clang/include/clang/Tooling/Refactoring/Extract/Extract.h:20

Inherits from: SourceChangeRefactoringRule

Member Variables

private clang::tooling::CodeRangeASTSelection Code
private std::string DeclName

Method Overview

  • private ExtractFunction(clang::tooling::CodeRangeASTSelection Code, Optional<std::string> DeclName)
  • private Expected<clang::tooling::AtomicChanges> createSourceReplacements(clang::tooling::RefactoringRuleContext & Context)
  • public static const clang::tooling::RefactoringDescriptor & describe()
  • public static Expected<clang::tooling::ExtractFunction> initiate(clang::tooling::RefactoringRuleContext & Context, clang::tooling::CodeRangeASTSelection Code, Optional<std::string> DeclName)

Inherited from SourceChangeRefactoringRule:

Inherited from RefactoringActionRuleBase:

Methods

ExtractFunction(
    clang::tooling::CodeRangeASTSelection Code,
    Optional<std::string> DeclName)

Declared at: clang/include/clang/Tooling/Refactoring/Extract/Extract.h:34

Parameters

clang::tooling::CodeRangeASTSelection Code
Optional<std::string> DeclName

Expected<clang::tooling::AtomicChanges>
createSourceReplacements(
    clang::tooling::RefactoringRuleContext&
        Context)

Declared at: clang/include/clang/Tooling/Refactoring/Extract/Extract.h:39

Parameters

clang::tooling::RefactoringRuleContext& Context

static const clang::tooling::
    RefactoringDescriptor&
    describe()

Declared at: clang/include/clang/Tooling/Refactoring/Extract/Extract.h:31

static Expected<clang::tooling::ExtractFunction>
initiate(
    clang::tooling::RefactoringRuleContext&
        Context,
    clang::tooling::CodeRangeASTSelection Code,
    Optional<std::string> DeclName)

Description

Initiates the extract function refactoring operation.

Declared at: clang/include/clang/Tooling/Refactoring/Extract/Extract.h:27

Parameters

clang::tooling::RefactoringRuleContext& Context
clang::tooling::CodeRangeASTSelection Code
The selected set of statements.
Optional<std::string> DeclName
The name name of the extract function. If None, "extracted" is used.