You've already forked linux-packaging-mono
acceptance-tests
data
debian
docs
external
Newtonsoft.Json
api-doc-tools
api-snapshot
aspnetwebstack
bdwgc
binary-reference-assemblies
bockbuild
boringssl
cecil
cecil-legacy
corefx
corert
helix-binaries
ikdasm
ikvm
illinker-test-assets
linker
llvm-project
clang
INPUTS
bindings
cmake
docs
examples
include
lib
ARCMigrate
AST
ASTMatchers
Analysis
Basic
CodeGen
CrossTU
Driver
Edit
Format
Frontend
FrontendTool
Headers
Index
Lex
Parse
Rewrite
Sema
Serialization
StaticAnalyzer
Tooling
ASTDiff
Core
Refactoring
Extract
Extract.cpp
SourceExtraction.cpp
SourceExtraction.h
Rename
ASTSelection.cpp
ASTSelectionRequirements.cpp
AtomicChange.cpp
CMakeLists.txt
RefactoringActions.cpp
ArgumentsAdjusters.cpp
CMakeLists.txt
CommonOptionsParser.cpp
CompilationDatabase.cpp
Execution.cpp
FileMatchTrie.cpp
FixIt.cpp
JSONCompilationDatabase.cpp
Refactoring.cpp
RefactoringCallbacks.cpp
StandaloneExecution.cpp
Tooling.cpp
CMakeLists.txt
runtime
tools
unittests
utils
www
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt
clang-tools-extra
compiler-rt
eng
libcxx
libcxxabi
libunwind
lld
lldb
llvm
nuget
openmp
polly
Directory.Build.props
Directory.Build.targets
NuGet.config
azure-pipelines.yml
build.cmd
build.sh
dir.common.props
global.json
llvm.proj
mxe-Win64.cmake.in
nuget-buildtasks
nunit-lite
roslyn-binaries
rx
xunit-binaries
how-to-bump-roslyn-binaries.md
ikvm-native
llvm
m4
man
mcs
mono
msvc
netcore
po
runtime
samples
scripts
support
tools
COPYING.LIB
LICENSE
Makefile.am
Makefile.in
NEWS
README.md
acinclude.m4
aclocal.m4
autogen.sh
code_of_conduct.md
compile
config.guess
config.h.in
config.rpath
config.sub
configure.REMOVED.git-id
configure.ac.REMOVED.git-id
depcomp
install-sh
ltmain.sh.REMOVED.git-id
missing
mkinstalldirs
mono-uninstalled.pc.in
test-driver
winconfig.h
53 lines
1.7 KiB
C
53 lines
1.7 KiB
C
![]() |
//===--- SourceExtraction.cpp - Clang refactoring library -----------------===//
|
||
|
//
|
||
|
// The LLVM Compiler Infrastructure
|
||
|
//
|
||
|
// This file is distributed under the University of Illinois Open Source
|
||
|
// License. See LICENSE.TXT for details.
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
|
||
|
#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
|