class Preprocessor::MacroState

Declaration

class Preprocessor::MacroState { /* full declaration omitted */ };

Description

The state of a macro for an identifier.

Declared at: clang/include/clang/Lex/Preprocessor.h:693

Member Variables

private llvm::PointerUnion<MacroDirective*, ModuleMacroInfo*> State

Method Overview

  • public MacroState()
  • public MacroState(clang::MacroDirective * MD)
  • public MacroState(clang::Preprocessor::MacroState && O) noexcept
  • public MacroDirective::DefInfo findDirectiveAtLoc(clang::SourceLocation Loc, clang::SourceManager & SourceMgr) const
  • public ArrayRef<clang::ModuleMacro *> getActiveModuleMacros(clang::Preprocessor & PP, const clang::IdentifierInfo * II) const
  • public clang::MacroDirective * getLatest() const
  • private clang::Preprocessor::ModuleMacroInfo * getModuleInfo(clang::Preprocessor & PP, const clang::IdentifierInfo * II) const
  • public ArrayRef<clang::ModuleMacro *> getOverriddenMacros() const
  • public bool isAmbiguous(clang::Preprocessor & PP, const clang::IdentifierInfo * II) const
  • public void overrideActiveModuleMacros(clang::Preprocessor & PP, clang::IdentifierInfo * II)
  • public void setLatest(clang::MacroDirective * MD)
  • public void setOverriddenMacros(clang::Preprocessor & PP, ArrayRef<clang::ModuleMacro *> Overrides)
  • public ~MacroState()

Methods

MacroState()

Declared at: clang/include/clang/Lex/Preprocessor.h:722

MacroState(clang::MacroDirective* MD)

Declared at: clang/include/clang/Lex/Preprocessor.h:723

Parameters

clang::MacroDirective* MD

MacroState(
    clang::Preprocessor::MacroState&& O) noexcept

Declared at: clang/include/clang/Lex/Preprocessor.h:725

Parameters

clang::Preprocessor::MacroState&& O

MacroDirective::DefInfo findDirectiveAtLoc(
    clang::SourceLocation Loc,
    clang::SourceManager& SourceMgr) const

Declared at: clang/include/clang/Lex/Preprocessor.h:766

Parameters

clang::SourceLocation Loc
clang::SourceManager& SourceMgr

ArrayRef<clang::ModuleMacro*>
getActiveModuleMacros(
    clang::Preprocessor& PP,
    const clang::IdentifierInfo* II) const

Declared at: clang/include/clang/Lex/Preprocessor.h:760

Parameters

clang::Preprocessor& PP
const clang::IdentifierInfo* II

clang::MacroDirective* getLatest() const

Declared at: clang/include/clang/Lex/Preprocessor.h:741

clang::Preprocessor::ModuleMacroInfo*
getModuleInfo(
    clang::Preprocessor& PP,
    const clang::IdentifierInfo* II) const

Declared at: clang/include/clang/Lex/Preprocessor.h:696

Parameters

clang::Preprocessor& PP
const clang::IdentifierInfo* II

ArrayRef<clang::ModuleMacro*>
getOverriddenMacros() const

Declared at: clang/include/clang/Lex/Preprocessor.h:784

bool isAmbiguous(
    clang::Preprocessor& PP,
    const clang::IdentifierInfo* II) const

Declared at: clang/include/clang/Lex/Preprocessor.h:754

Parameters

clang::Preprocessor& PP
const clang::IdentifierInfo* II

void overrideActiveModuleMacros(
    clang::Preprocessor& PP,
    clang::IdentifierInfo* II)

Declared at: clang/include/clang/Lex/Preprocessor.h:774

Parameters

clang::Preprocessor& PP
clang::IdentifierInfo* II

void setLatest(clang::MacroDirective* MD)

Declared at: clang/include/clang/Lex/Preprocessor.h:747

Parameters

clang::MacroDirective* MD

void setOverriddenMacros(
    clang::Preprocessor& PP,
    ArrayRef<clang::ModuleMacro*> Overrides)

Declared at: clang/include/clang/Lex/Preprocessor.h:790

Parameters

clang::Preprocessor& PP
ArrayRef<clang::ModuleMacro*> Overrides

~MacroState()

Declared at: clang/include/clang/Lex/Preprocessor.h:736