|
clang 23.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 308 of file DependencyDirectivesScanner.cpp.
References clang::First, and clang::isVerticalWhitespace().
Referenced by clang::isPreprocessedModuleFile(), skipNewline(), skipString(), skipToNewlineRaw(), and skipUntilMaybeCXX20ModuleDirective().
|
static |
Definition at line 404 of file DependencyDirectivesScanner.cpp.
References clang::isAsciiIdentifierContinue(), and clang::isPreprocessingNumberBody().
|
staticnodiscard |
Definition at line 238 of file DependencyDirectivesScanner.cpp.
References clang::First, clang::isAsciiIdentifierContinue(), and previousChar().
|
static |
Definition at line 905 of file DependencyDirectivesScanner.cpp.
References clang::First.
|
inlinestatic |
Definition at line 918 of file DependencyDirectivesScanner.cpp.
References clang::First, and clang::tok::getPPKeywordSpelling().
Referenced by clang::isPreprocessedModuleFile().
|
static |
Definition at line 215 of file DependencyDirectivesScanner.cpp.
References clang::First, clang::Lexer::getEscapedNewLineSize(), and clang::isVerticalWhitespace().
Referenced by isRawStringLiteral().
|
static |
Definition at line 389 of file DependencyDirectivesScanner.cpp.
References clang::First.
Referenced by skipWhitespace().
|
static |
Definition at line 383 of file DependencyDirectivesScanner.cpp.
References clang::First, and skipToNewlineRaw().
Referenced by skipWhitespace().
|
static |
Definition at line 347 of file DependencyDirectivesScanner.cpp.
References clang::First, isEOL(), and clang::isVerticalWhitespace().
Referenced by skipWhitespace().
|
static |
Definition at line 209 of file DependencyDirectivesScanner.cpp.
References clang::First, and clang::isHorizontalWhitespace().
Referenced by skipString(), and skipWhitespace().
|
static |
Definition at line 266 of file DependencyDirectivesScanner.cpp.
References clang::First, and clang::Last.
|
static |
Definition at line 317 of file DependencyDirectivesScanner.cpp.
References clang::First, isEOL(), clang::isVerticalWhitespace(), clang::isWhitespace(), and skipOverSpaces().
|
static |
Definition at line 357 of file DependencyDirectivesScanner.cpp.
References clang::First, isEOL(), and clang::isHorizontalWhitespace().
Referenced by clang::isPreprocessedModuleFile(), skipLineComment(), and skipUntilMaybeCXX20ModuleDirective().
|
static |
Definition at line 1124 of file DependencyDirectivesScanner.cpp.
References clang::First, isEOL(), skipToNewlineRaw(), and skipWhitespace().
Referenced by clang::isPreprocessedModuleFile(), and clang::scanInputForCXX20ModulesUsage().
|
static |
Definition at line 1041 of file DependencyDirectivesScanner.cpp.
References clang::First.
|
static |
Definition at line 509 of file DependencyDirectivesScanner.cpp.
References clang::First, clang::isHorizontalWhitespace(), clang::isVerticalWhitespace(), skipBlockComment(), skipLineComment(), skipNewline(), and skipOverSpaces().