|
clang 24.0.0git
|
This is the interface for scanning header and source files to get the minimum necessary preprocessor directives for evaluating includes. More...
#include "clang/Lex/DependencyDirectivesScanner.h"#include "clang/Basic/CharInfo.h"#include "clang/Basic/Diagnostic.h"#include "clang/Lex/LexDiagnostic.h"#include "clang/Lex/Lexer.h"#include "clang/Lex/Pragma.h"#include "llvm/ADT/ScopeExit.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/StringMap.h"#include "llvm/ADT/StringSwitch.h"#include <optional>Go to the source code of this file.
Functions | |
| static void | skipOverSpaces (const char *&First, const char *const End) |
| static char | previousChar (const char *First, const char *&Current) |
| static bool | isRawStringLiteral (const char *First, const char *Current) |
| static void | skipRawString (const char *&First, const char *const End) |
| static unsigned | isEOL (const char *First, const char *const End) |
| static void | skipString (const char *&First, const char *const End) |
| static unsigned | skipNewline (const char *&First, const char *End) |
| static void | skipToNewlineRaw (const char *&First, const char *const End) |
| static void | skipLineComment (const char *&First, const char *const End) |
| static void | skipBlockComment (const char *&First, const char *const End) |
| static bool | isQuoteCppDigitSeparator (const char *const Start, const char *const Cur, const char *const End) |
| static void | skipWhitespace (const char *&First, const char *const End) |
| static bool | isStartOfRelevantLine (char First) |
| static bool | isStartWithPreprocessedModuleDirective (const char *First, const char *End) |
| static void | skipUTF8ByteOrderMark (const char *&First, const char *const End) |
| static void | skipUntilMaybeCXX20ModuleDirective (const char *&First, const char *const End) |
This is the interface for scanning header and source files to get the minimum necessary preprocessor directives for evaluating includes.
It reduces the source down to #define, #include, #import, @import, and any conditional preprocessor logic that contains one of those.
Definition in file DependencyDirectivesScanner.cpp.
|
static |
Definition at line 316 of file DependencyDirectivesScanner.cpp.
References clang::First, and clang::isVerticalWhitespace().
Referenced by clang::isPreprocessedModuleFile(), skipNewline(), skipString(), skipToNewlineRaw(), and skipUntilMaybeCXX20ModuleDirective().
|
static |
Definition at line 412 of file DependencyDirectivesScanner.cpp.
References clang::isAsciiIdentifierContinue(), and clang::isPreprocessingNumberBody().
|
staticnodiscard |
Definition at line 246 of file DependencyDirectivesScanner.cpp.
References clang::First, clang::isAsciiIdentifierContinue(), and previousChar().
|
static |
Definition at line 910 of file DependencyDirectivesScanner.cpp.
References clang::First.
|
inlinestatic |
Definition at line 923 of file DependencyDirectivesScanner.cpp.
References clang::First, and clang::tok::getPPKeywordSpelling().
Referenced by clang::isPreprocessedModuleFile().
|
static |
Definition at line 223 of file DependencyDirectivesScanner.cpp.
References clang::First, clang::Lexer::getEscapedNewLineSize(), and clang::isVerticalWhitespace().
Referenced by isRawStringLiteral().
|
static |
Definition at line 397 of file DependencyDirectivesScanner.cpp.
References clang::First.
Referenced by skipWhitespace().
|
static |
Definition at line 391 of file DependencyDirectivesScanner.cpp.
References clang::First, and skipToNewlineRaw().
Referenced by skipWhitespace().
|
static |
Definition at line 355 of file DependencyDirectivesScanner.cpp.
References clang::First, isEOL(), and clang::isVerticalWhitespace().
Referenced by skipWhitespace().
|
static |
Definition at line 217 of file DependencyDirectivesScanner.cpp.
References clang::First, and clang::isHorizontalWhitespace().
Referenced by skipString(), and skipWhitespace().
|
static |
Definition at line 274 of file DependencyDirectivesScanner.cpp.
References clang::First, and clang::Last.
|
static |
Definition at line 325 of file DependencyDirectivesScanner.cpp.
References clang::First, isEOL(), clang::isVerticalWhitespace(), clang::isWhitespace(), and skipOverSpaces().
|
static |
Definition at line 365 of file DependencyDirectivesScanner.cpp.
References clang::First, isEOL(), and clang::isHorizontalWhitespace().
Referenced by clang::isPreprocessedModuleFile(), skipLineComment(), and skipUntilMaybeCXX20ModuleDirective().
|
static |
Definition at line 1138 of file DependencyDirectivesScanner.cpp.
References clang::First, isEOL(), skipToNewlineRaw(), and skipWhitespace().
Referenced by clang::isPreprocessedModuleFile().
|
static |
Definition at line 1045 of file DependencyDirectivesScanner.cpp.
References clang::First.
|
static |
Definition at line 517 of file DependencyDirectivesScanner.cpp.
References clang::First, clang::isHorizontalWhitespace(), clang::isVerticalWhitespace(), skipBlockComment(), skipLineComment(), skipNewline(), and skipOverSpaces().