aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Sema/CodeCompleteConsumer.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-05-25 21:41:55 +0000
committerDouglas Gregor <dgregor@apple.com>2010-05-25 21:41:55 +0000
commitd8e8a58ee35ab334ab9d0c2154dca029c1822e8a (patch)
treed0abce441b16aab4f55cfcfa09fe3ae6daa68f92 /include/clang/Sema/CodeCompleteConsumer.h
parent3458d43b68cc2fd1cb2b2304614e1dc3419820d8 (diff)
Only enable code patterns (e.g., try { statements } catch (...) {
statements }) in the code-completion results if explicitly requested. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104637 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Sema/CodeCompleteConsumer.h')
-rw-r--r--include/clang/Sema/CodeCompleteConsumer.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/include/clang/Sema/CodeCompleteConsumer.h b/include/clang/Sema/CodeCompleteConsumer.h
index 348917a7d0..0e3a5038fb 100644
--- a/include/clang/Sema/CodeCompleteConsumer.h
+++ b/include/clang/Sema/CodeCompleteConsumer.h
@@ -246,6 +246,10 @@ protected:
/// \brief Whether to include macros in the code-completion results.
bool IncludeMacros;
+ /// \brief Whether to include code patterns (such as for loops) within
+ /// the completion results.
+ bool IncludeCodePatterns;
+
/// \brief Whether the output format for the code-completion consumer is
/// binary.
bool OutputIsBinary;
@@ -420,12 +424,17 @@ public:
CodeCompleteConsumer() : IncludeMacros(false), OutputIsBinary(false) { }
- CodeCompleteConsumer(bool IncludeMacros, bool OutputIsBinary)
- : IncludeMacros(IncludeMacros), OutputIsBinary(OutputIsBinary) { }
+ CodeCompleteConsumer(bool IncludeMacros, bool IncludeCodePatterns,
+ bool OutputIsBinary)
+ : IncludeMacros(IncludeMacros), IncludeCodePatterns(IncludeCodePatterns),
+ OutputIsBinary(OutputIsBinary) { }
/// \brief Whether the code-completion consumer wants to see macros.
bool includeMacros() const { return IncludeMacros; }
+ /// \brief Whether the code-completion consumer wants to see code patterns.
+ bool includeCodePatterns() const { return IncludeCodePatterns; }
+
/// \brief Determine whether the output of this consumer is binary.
bool isOutputBinary() const { return OutputIsBinary; }
@@ -461,9 +470,9 @@ class PrintingCodeCompleteConsumer : public CodeCompleteConsumer {
public:
/// \brief Create a new printing code-completion consumer that prints its
/// results to the given raw output stream.
- PrintingCodeCompleteConsumer(bool IncludeMacros,
+ PrintingCodeCompleteConsumer(bool IncludeMacros, bool IncludeCodePatterns,
llvm::raw_ostream &OS)
- : CodeCompleteConsumer(IncludeMacros, false), OS(OS) { }
+ : CodeCompleteConsumer(IncludeMacros, IncludeCodePatterns, false), OS(OS) {}
/// \brief Prints the finalized code-completion results.
virtual void ProcessCodeCompleteResults(Sema &S, Result *Results,
@@ -484,8 +493,9 @@ public:
/// \brief Create a new CIndex code-completion consumer that prints its
/// results to the given raw output stream in a format readable to the CIndex
/// library.
- CIndexCodeCompleteConsumer(bool IncludeMacros, llvm::raw_ostream &OS)
- : CodeCompleteConsumer(IncludeMacros, true), OS(OS) { }
+ CIndexCodeCompleteConsumer(bool IncludeMacros, bool IncludeCodePatterns,
+ llvm::raw_ostream &OS)
+ : CodeCompleteConsumer(IncludeMacros, IncludeCodePatterns, true), OS(OS) {}
/// \brief Prints the finalized code-completion results.
virtual void ProcessCodeCompleteResults(Sema &S, Result *Results,