clang-tools 22.0.0git
clang::clangd::CollectMainFileMacros Class Reference

Collects macro references (e.g. More...

#include <CollectMacros.h>

Inheritance diagram for clang::clangd::CollectMainFileMacros:
[legend]

Public Member Functions

 CollectMainFileMacros (const Preprocessor &PP, MainFileMacros &Out)
void FileChanged (SourceLocation Loc, FileChangeReason, SrcMgr::CharacteristicKind, FileID) override
void MacroDefined (const Token &MacroName, const MacroDirective *MD) override
void MacroExpands (const Token &MacroName, const MacroDefinition &MD, SourceRange Range, const MacroArgs *Args) override
void MacroUndefined (const clang::Token &MacroName, const clang::MacroDefinition &MD, const clang::MacroDirective *Undef) override
void Ifdef (SourceLocation Loc, const Token &MacroName, const MacroDefinition &MD) override
void Ifndef (SourceLocation Loc, const Token &MacroName, const MacroDefinition &MD) override
void Elifdef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) override
void Elifndef (SourceLocation Loc, const Token &MacroNameTok, const MacroDefinition &MD) override
void Defined (const Token &MacroName, const MacroDefinition &MD, SourceRange Range) override
void SourceRangeSkipped (SourceRange R, SourceLocation EndifLoc) override
void doneParse ()

Detailed Description

Collects macro references (e.g.

definitions, expansions) in the main file. It is used to:

  • collect macros in the preamble section of the main file (in Preamble.cpp)
  • collect macros after the preamble of the main file (in ParsedAST.cpp)

Definition at line 53 of file CollectMacros.h.

Constructor & Destructor Documentation

◆ CollectMainFileMacros()

clang::clangd::CollectMainFileMacros::CollectMainFileMacros ( const Preprocessor & PP,
MainFileMacros & Out )
inlineexplicit

Definition at line 55 of file CollectMacros.h.

Member Function Documentation

◆ Defined()

void clang::clangd::CollectMainFileMacros::Defined ( const Token & MacroName,
const MacroDefinition & MD,
SourceRange Range )
override

Definition at line 91 of file CollectMacros.cpp.

◆ doneParse()

void clang::clangd::CollectMainFileMacros::doneParse ( )
inline

Definition at line 92 of file CollectMacros.h.

◆ Elifdef()

void clang::clangd::CollectMainFileMacros::Elifdef ( SourceLocation Loc,
const Token & MacroNameTok,
const MacroDefinition & MD )
override

Definition at line 79 of file CollectMacros.cpp.

◆ Elifndef()

void clang::clangd::CollectMainFileMacros::Elifndef ( SourceLocation Loc,
const Token & MacroNameTok,
const MacroDefinition & MD )
override

Definition at line 85 of file CollectMacros.cpp.

◆ FileChanged()

void clang::clangd::CollectMainFileMacros::FileChanged ( SourceLocation Loc,
FileChangeReason ,
SrcMgr::CharacteristicKind ,
FileID  )
override

Definition at line 49 of file CollectMacros.cpp.

References clang::clangd::isInsideMainFile().

◆ Ifdef()

void clang::clangd::CollectMainFileMacros::Ifdef ( SourceLocation Loc,
const Token & MacroName,
const MacroDefinition & MD )
override

Definition at line 67 of file CollectMacros.cpp.

◆ Ifndef()

void clang::clangd::CollectMainFileMacros::Ifndef ( SourceLocation Loc,
const Token & MacroName,
const MacroDefinition & MD )
override

Definition at line 73 of file CollectMacros.cpp.

◆ MacroDefined()

void clang::clangd::CollectMainFileMacros::MacroDefined ( const Token & MacroName,
const MacroDirective * MD )
override

Definition at line 134 of file CollectMacros.cpp.

◆ MacroExpands()

void clang::clangd::CollectMainFileMacros::MacroExpands ( const Token & MacroName,
const MacroDefinition & MD,
SourceRange Range,
const MacroArgs * Args )
override

Definition at line 54 of file CollectMacros.cpp.

◆ MacroUndefined()

void clang::clangd::CollectMainFileMacros::MacroUndefined ( const clang::Token & MacroName,
const clang::MacroDefinition & MD,
const clang::MacroDirective * Undef )
override

Definition at line 61 of file CollectMacros.cpp.

◆ SourceRangeSkipped()

void clang::clangd::CollectMainFileMacros::SourceRangeSkipped ( SourceRange R,
SourceLocation EndifLoc )
override

Definition at line 98 of file CollectMacros.cpp.

References clang::clangd::sourceLocToPosition().


The documentation for this class was generated from the following files: