forked from OSchip/llvm-project
Constify argument of Preprocessor::getMacroInfoHistory and propagate to
callers, removing unneeded const_cast llvm-svn: 172372
This commit is contained in:
parent
97e3df087d
commit
049a4ffcb8
|
@ -307,7 +307,7 @@ class Preprocessor : public RefCountedBase<Preprocessor> {
|
||||||
/// Macros - For each IdentifierInfo that was associated with a macro, we
|
/// Macros - For each IdentifierInfo that was associated with a macro, we
|
||||||
/// keep a mapping to the history of all macro definitions and #undefs in
|
/// keep a mapping to the history of all macro definitions and #undefs in
|
||||||
/// the reverse order (the latest one is in the head of the list).
|
/// the reverse order (the latest one is in the head of the list).
|
||||||
llvm::DenseMap<IdentifierInfo*, MacroInfo*> Macros;
|
llvm::DenseMap<const IdentifierInfo*, MacroInfo*> Macros;
|
||||||
friend class ASTReader;
|
friend class ASTReader;
|
||||||
|
|
||||||
/// \brief Macros that we want to warn because they are not used at the end
|
/// \brief Macros that we want to warn because they are not used at the end
|
||||||
|
@ -520,7 +520,7 @@ public:
|
||||||
/// representing the most recent macro definition. One can iterate over all
|
/// representing the most recent macro definition. One can iterate over all
|
||||||
/// previous macro definitions from it. This method should only be called for
|
/// previous macro definitions from it. This method should only be called for
|
||||||
/// identifiers that hadMacroDefinition().
|
/// identifiers that hadMacroDefinition().
|
||||||
MacroInfo *getMacroInfoHistory(IdentifierInfo *II) const;
|
MacroInfo *getMacroInfoHistory(const IdentifierInfo *II) const;
|
||||||
|
|
||||||
/// \brief Specify a macro for this identifier.
|
/// \brief Specify a macro for this identifier.
|
||||||
void setMacroInfo(IdentifierInfo *II, MacroInfo *MI);
|
void setMacroInfo(IdentifierInfo *II, MacroInfo *MI);
|
||||||
|
@ -537,7 +537,7 @@ public:
|
||||||
/// history table. Currently defined macros have
|
/// history table. Currently defined macros have
|
||||||
/// IdentifierInfo::hasMacroDefinition() set and an empty
|
/// IdentifierInfo::hasMacroDefinition() set and an empty
|
||||||
/// MacroInfo::getUndefLoc() at the head of the list.
|
/// MacroInfo::getUndefLoc() at the head of the list.
|
||||||
typedef llvm::DenseMap<IdentifierInfo*,
|
typedef llvm::DenseMap<const IdentifierInfo *,
|
||||||
MacroInfo*>::const_iterator macro_iterator;
|
MacroInfo*>::const_iterator macro_iterator;
|
||||||
macro_iterator macro_begin(bool IncludeExternalMacros = true) const;
|
macro_iterator macro_begin(bool IncludeExternalMacros = true) const;
|
||||||
macro_iterator macro_end(bool IncludeExternalMacros = true) const;
|
macro_iterator macro_end(bool IncludeExternalMacros = true) const;
|
||||||
|
|
|
@ -661,7 +661,7 @@ public:
|
||||||
CodeCompletionString *Pattern;
|
CodeCompletionString *Pattern;
|
||||||
|
|
||||||
/// \brief When Kind == RK_Macro, the identifier that refers to a macro.
|
/// \brief When Kind == RK_Macro, the identifier that refers to a macro.
|
||||||
IdentifierInfo *Macro;
|
const IdentifierInfo *Macro;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// \brief The priority of this particular code-completion result.
|
/// \brief The priority of this particular code-completion result.
|
||||||
|
@ -728,7 +728,8 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief Build a result that refers to a macro.
|
/// \brief Build a result that refers to a macro.
|
||||||
CodeCompletionResult(IdentifierInfo *Macro, unsigned Priority = CCP_Macro)
|
CodeCompletionResult(const IdentifierInfo *Macro,
|
||||||
|
unsigned Priority = CCP_Macro)
|
||||||
: Declaration(0), Macro(Macro), Priority(Priority), StartParameter(0),
|
: Declaration(0), Macro(Macro), Priority(Priority), StartParameter(0),
|
||||||
Kind(RK_Macro), CursorKind(CXCursor_MacroDefinition),
|
Kind(RK_Macro), CursorKind(CXCursor_MacroDefinition),
|
||||||
Availability(CXAvailability_Available), Hidden(false),
|
Availability(CXAvailability_Available), Hidden(false),
|
||||||
|
|
|
@ -565,7 +565,7 @@ static void PrintPreprocessedTokens(Preprocessor &PP, Token &Tok,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef std::pair<IdentifierInfo*, MacroInfo*> id_macro_pair;
|
typedef std::pair<const IdentifierInfo *, MacroInfo *> id_macro_pair;
|
||||||
static int MacroIDCompare(const void* a, const void* b) {
|
static int MacroIDCompare(const void* a, const void* b) {
|
||||||
const id_macro_pair *LHS = static_cast<const id_macro_pair*>(a);
|
const id_macro_pair *LHS = static_cast<const id_macro_pair*>(a);
|
||||||
const id_macro_pair *RHS = static_cast<const id_macro_pair*>(b);
|
const id_macro_pair *RHS = static_cast<const id_macro_pair*>(b);
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
using namespace clang;
|
using namespace clang;
|
||||||
|
|
||||||
MacroInfo *Preprocessor::getMacroInfoHistory(IdentifierInfo *II) const {
|
MacroInfo *Preprocessor::getMacroInfoHistory(const IdentifierInfo *II) const {
|
||||||
assert(II->hadMacroDefinition() && "Identifier has not been not a macro!");
|
assert(II->hadMacroDefinition() && "Identifier has not been not a macro!");
|
||||||
|
|
||||||
macro_iterator Pos = Macros.find(II);
|
macro_iterator Pos = Macros.find(II);
|
||||||
|
|
|
@ -6233,7 +6233,7 @@ MacroInfo *cxindex::getMacroInfo(const IdentifierInfo &II,
|
||||||
|
|
||||||
ASTUnit *Unit = static_cast<ASTUnit *>(TU->TUData);
|
ASTUnit *Unit = static_cast<ASTUnit *>(TU->TUData);
|
||||||
Preprocessor &PP = Unit->getPreprocessor();
|
Preprocessor &PP = Unit->getPreprocessor();
|
||||||
MacroInfo *MI = PP.getMacroInfoHistory(const_cast<IdentifierInfo*>(&II));
|
MacroInfo *MI = PP.getMacroInfoHistory(&II);
|
||||||
while (MI) {
|
while (MI) {
|
||||||
if (MacroDefLoc == MI->getDefinitionLoc())
|
if (MacroDefLoc == MI->getDefinitionLoc())
|
||||||
return MI;
|
return MI;
|
||||||
|
|
|
@ -1056,7 +1056,7 @@ CXCompletionString clang_getCursorCompletionString(CXCursor cursor) {
|
||||||
const MacroDefinition *definition = getCursorMacroDefinition(cursor);
|
const MacroDefinition *definition = getCursorMacroDefinition(cursor);
|
||||||
const IdentifierInfo *MacroInfo = definition->getName();
|
const IdentifierInfo *MacroInfo = definition->getName();
|
||||||
ASTUnit *unit = getCursorASTUnit(cursor);
|
ASTUnit *unit = getCursorASTUnit(cursor);
|
||||||
CodeCompletionResult Result(const_cast<IdentifierInfo *>(MacroInfo));
|
CodeCompletionResult Result(MacroInfo);
|
||||||
CodeCompletionString *String
|
CodeCompletionString *String
|
||||||
= Result.CreateCodeCompletionString(unit->getASTContext(),
|
= Result.CreateCodeCompletionString(unit->getASTContext(),
|
||||||
unit->getPreprocessor(),
|
unit->getPreprocessor(),
|
||||||
|
|
Loading…
Reference in New Issue