Author: sureyeaah Date: Tue Aug 13 13:21:00 2019 New Revision: 368743 URL: http://llvm.org/viewvc/llvm-project?rev=368743&view=rev Log: [Refactor] Moving SourceExtraction header from lib to include
Summary: - Moved the SourceExtraction header from lib to include so that it can be used in clangd. Reviewers: arphaman Subscribers: ilya-biryukov, dexonsmith, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65878 Added: cfe/trunk/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h (with props) Removed: cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.h Modified: cfe/trunk/lib/Tooling/Refactoring/Extract/Extract.cpp cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp Added: cfe/trunk/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h?rev=368743&view=auto ============================================================================== --- cfe/trunk/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h (added) +++ cfe/trunk/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h Tue Aug 13 13:21:00 2019 @@ -0,0 +1,51 @@ +//===--- SourceExtraction.cpp - Clang refactoring library -----------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_TOOLING_REFACTORING_EXTRACT_SOURCE_EXTRACTION_H +#define LLVM_CLANG_TOOLING_REFACTORING_EXTRACT_SOURCE_EXTRACTION_H + +#include "clang/Basic/LLVM.h" + +namespace clang { + +class LangOptions; +class SourceManager; +class SourceRange; +class Stmt; + +namespace tooling { + +/// Determines which semicolons should be inserted during extraction. +class ExtractionSemicolonPolicy { +public: + bool isNeededInExtractedFunction() const { + return IsNeededInExtractedFunction; + } + + bool isNeededInOriginalFunction() const { return IsNeededInOriginalFunction; } + + /// Returns the semicolon insertion policy that is needed for extraction of + /// the given statement from the given source range. + static ExtractionSemicolonPolicy compute(const Stmt *S, + SourceRange &ExtractedRange, + const SourceManager &SM, + const LangOptions &LangOpts); + +private: + ExtractionSemicolonPolicy(bool IsNeededInExtractedFunction, + bool IsNeededInOriginalFunction) + : IsNeededInExtractedFunction(IsNeededInExtractedFunction), + IsNeededInOriginalFunction(IsNeededInOriginalFunction) {} + bool IsNeededInExtractedFunction; + bool IsNeededInOriginalFunction; +}; + +} // end namespace tooling +} // end namespace clang + +#endif //LLVM_CLANG_TOOLING_REFACTORING_EXTRACT_SOURCE_EXTRACTION_H Propchange: cfe/trunk/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h ------------------------------------------------------------------------------ svn:executable = * Modified: cfe/trunk/lib/Tooling/Refactoring/Extract/Extract.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/Refactoring/Extract/Extract.cpp?rev=368743&r1=368742&r2=368743&view=diff ============================================================================== --- cfe/trunk/lib/Tooling/Refactoring/Extract/Extract.cpp (original) +++ cfe/trunk/lib/Tooling/Refactoring/Extract/Extract.cpp Tue Aug 13 13:21:00 2019 @@ -13,12 +13,12 @@ //===----------------------------------------------------------------------===// #include "clang/Tooling/Refactoring/Extract/Extract.h" -#include "SourceExtraction.h" #include "clang/AST/ASTContext.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/Expr.h" #include "clang/AST/ExprObjC.h" #include "clang/Rewrite/Core/Rewriter.h" +#include "clang/Tooling/Refactoring/Extract/SourceExtraction.h" namespace clang { namespace tooling { Modified: cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp?rev=368743&r1=368742&r2=368743&view=diff ============================================================================== --- cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp (original) +++ cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp Tue Aug 13 13:21:00 2019 @@ -6,7 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "SourceExtraction.h" +#include "clang/Tooling/Refactoring/Extract/SourceExtraction.h" #include "clang/AST/Stmt.h" #include "clang/AST/StmtCXX.h" #include "clang/AST/StmtObjC.h" Removed: cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.h?rev=368742&view=auto ============================================================================== --- cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.h (original) +++ cfe/trunk/lib/Tooling/Refactoring/Extract/SourceExtraction.h (removed) @@ -1,51 +0,0 @@ -//===--- SourceExtraction.cpp - Clang refactoring library -----------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_LIB_TOOLING_REFACTORING_EXTRACT_SOURCE_EXTRACTION_H -#define LLVM_CLANG_LIB_TOOLING_REFACTORING_EXTRACT_SOURCE_EXTRACTION_H - -#include "clang/Basic/LLVM.h" - -namespace clang { - -class LangOptions; -class SourceManager; -class SourceRange; -class Stmt; - -namespace tooling { - -/// Determines which semicolons should be inserted during extraction. -class ExtractionSemicolonPolicy { -public: - bool isNeededInExtractedFunction() const { - return IsNeededInExtractedFunction; - } - - bool isNeededInOriginalFunction() const { return IsNeededInOriginalFunction; } - - /// Returns the semicolon insertion policy that is needed for extraction of - /// the given statement from the given source range. - static ExtractionSemicolonPolicy compute(const Stmt *S, - SourceRange &ExtractedRange, - const SourceManager &SM, - const LangOptions &LangOpts); - -private: - ExtractionSemicolonPolicy(bool IsNeededInExtractedFunction, - bool IsNeededInOriginalFunction) - : IsNeededInExtractedFunction(IsNeededInExtractedFunction), - IsNeededInOriginalFunction(IsNeededInOriginalFunction) {} - bool IsNeededInExtractedFunction; - bool IsNeededInOriginalFunction; -}; - -} // end namespace tooling -} // end namespace clang - -#endif // LLVM_CLANG_LIB_TOOLING_REFACTORING_EXTRACT_SOURCE_EXTRACTION_H _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits