clang 20.0.0git
Classes | Namespaces | Typedefs | Enumerations
Preprocessor.h File Reference

Defines the clang::Preprocessor interface. More...

#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/DiagnosticIDs.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/TokenKinds.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/Lexer.h"
#include "clang/Lex/MacroInfo.h"
#include "clang/Lex/ModuleLoader.h"
#include "clang/Lex/ModuleMap.h"
#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/PPEmbedParameters.h"
#include "clang/Lex/Token.h"
#include "clang/Lex/TokenLexer.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/FunctionExtras.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Registry.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  clang::TokenValue
 Stores token information for comparing actual tokens with predefined values. More...
 
class  clang::Preprocessor
 Engages in a tight little dance with the lexer to efficiently preprocess tokens. More...
 
struct  clang::Preprocessor::PreambleSkipInfo
 
class  clang::CommentHandler
 Abstract base class that describes a handler that will receive source ranges for each of the comments encountered in the source file. More...
 
class  clang::EmptylineHandler
 Abstract base class that describes a handler that will receive source ranges for empty lines encountered in the source file. More...
 
struct  clang::EmbedAnnotationData
 Helper class to shuttle information about #embed directives from the preprocessor to the parser through an annotation token. More...
 

Namespaces

namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
 
namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::Builtin
 

Typedefs

using clang::PragmaHandlerRegistry = llvm::Registry< PragmaHandler >
 Registry of pragma handlers added by plugins.
 

Enumerations

enum  clang::MacroUse { clang::MU_Other = 0 , clang::MU_Define = 1 , clang::MU_Undef = 2 }
 Context in which macro name is used. More...
 
enum class  clang::EmbedResult { clang::Invalid = -1 , clang::NotFound = 0 , clang::Found = 1 , clang::Empty = 2 }
 

Detailed Description

Defines the clang::Preprocessor interface.

Definition in file Preprocessor.h.