clang 18.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/Token.h"
#include "clang/Lex/TokenLexer.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...
 

Namespaces

namespace  llvm
 YAML serialization mapping.
 
namespace  clang
 
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...
 

Detailed Description

Defines the clang::Preprocessor interface.

Definition in file Preprocessor.h.