clang
6.0.0
|
Simple class containing the result of Sema::CorrectTypo. More...
#include "clang/Sema/TypoCorrection.h"
Public Types | |
typedef SmallVectorImpl< NamedDecl * >::iterator | decl_iterator |
typedef SmallVectorImpl< NamedDecl * >::const_iterator | const_decl_iterator |
Public Member Functions | |
TypoCorrection (const DeclarationName &Name, NamedDecl *NameDecl, NestedNameSpecifier *NNS=nullptr, unsigned CharDistance=0, unsigned QualifierDistance=0) | |
TypoCorrection (NamedDecl *Name, NestedNameSpecifier *NNS=nullptr, unsigned CharDistance=0) | |
TypoCorrection (DeclarationName Name, NestedNameSpecifier *NNS=nullptr, unsigned CharDistance=0) | |
TypoCorrection () | |
DeclarationName | getCorrection () const |
Gets the DeclarationName of the typo correction. More... | |
IdentifierInfo * | getCorrectionAsIdentifierInfo () const |
NestedNameSpecifier * | getCorrectionSpecifier () const |
Gets the NestedNameSpecifier needed to use the typo correction. More... | |
void | setCorrectionSpecifier (NestedNameSpecifier *NNS) |
void | WillReplaceSpecifier (bool ForceReplacement) |
bool | WillReplaceSpecifier () const |
void | setQualifierDistance (unsigned ED) |
void | setCallbackDistance (unsigned ED) |
unsigned | getEditDistance (bool Normalized=true) const |
Gets the "edit distance" of the typo correction from the typo. More... | |
NamedDecl * | getFoundDecl () const |
Get the correction declaration found by name lookup (before we looked through using shadow declarations and the like). More... | |
NamedDecl * | getCorrectionDecl () const |
Gets the pointer to the declaration of the typo correction. More... | |
template<class DeclClass > | |
DeclClass * | getCorrectionDeclAs () const |
void | ClearCorrectionDecls () |
Clears the list of NamedDecls. More... | |
void | setCorrectionDecl (NamedDecl *CDecl) |
Clears the list of NamedDecls before adding the new one. More... | |
void | setCorrectionDecls (ArrayRef< NamedDecl *> Decls) |
Clears the list of NamedDecls and adds the given set. More... | |
void | addCorrectionDecl (NamedDecl *CDecl) |
Add the given NamedDecl to the list of NamedDecls that are the declarations associated with the DeclarationName of this TypoCorrection. More... | |
std::string | getAsString (const LangOptions &LO) const |
std::string | getQuoted (const LangOptions &LO) const |
operator bool () const | |
Returns whether this TypoCorrection has a non-empty DeclarationName. More... | |
void | makeKeyword () |
Mark this TypoCorrection as being a keyword. More... | |
bool | isKeyword () const |
template<std::size_t StrLen> | |
bool | isKeyword (const char(&Str)[StrLen]) const |
bool | isResolved () const |
bool | isOverloaded () const |
void | setCorrectionRange (CXXScopeSpec *SS, const DeclarationNameInfo &TypoName) |
SourceRange | getCorrectionRange () const |
decl_iterator | begin () |
decl_iterator | end () |
const_decl_iterator | begin () const |
const_decl_iterator | end () const |
bool | requiresImport () const |
Returns whether this typo correction is correcting to a declaration that was declared in a module that has not been imported. More... | |
void | setRequiresImport (bool Req) |
void | addExtraDiagnostic (PartialDiagnostic PD) |
Extra diagnostics are printed after the first diagnostic for the typo. More... | |
ArrayRef< PartialDiagnostic > | getExtraDiagnostics () const |
Static Public Member Functions | |
static unsigned | NormalizeEditDistance (unsigned ED) |
Static Public Attributes | |
static const unsigned | InvalidDistance = ~0U |
static const unsigned | MaximumDistance = 10000U |
static const unsigned | CharDistanceWeight = 100U |
static const unsigned | QualifierDistanceWeight = 110U |
static const unsigned | CallbackDistanceWeight = 150U |
Simple class containing the result of Sema::CorrectTypo.
Definition at line 26 of file TypoCorrection.h.
typedef SmallVectorImpl<NamedDecl *>::const_iterator clang::TypoCorrection::const_decl_iterator |
Definition at line 222 of file TypoCorrection.h.
typedef SmallVectorImpl<NamedDecl *>::iterator clang::TypoCorrection::decl_iterator |
Definition at line 217 of file TypoCorrection.h.
|
inline |
Definition at line 42 of file TypoCorrection.h.
|
inline |
Definition at line 53 of file TypoCorrection.h.
|
inline |
Definition at line 62 of file TypoCorrection.h.
|
inline |
Definition at line 68 of file TypoCorrection.h.
void TypoCorrection::addCorrectionDecl | ( | NamedDecl * | CDecl | ) |
Add the given NamedDecl to the list of NamedDecls that are the declarations associated with the DeclarationName of this TypoCorrection.
Definition at line 4888 of file SemaLookup.cpp.
References clang::NamedDecl::getDeclName().
Referenced by setCorrectionDecl(), and setCorrectionDecls().
|
inline |
Extra diagnostics are printed after the first diagnostic for the typo.
This can be used to attach external notes to the diag.
Definition at line 235 of file TypoCorrection.h.
|
inline |
Definition at line 218 of file TypoCorrection.h.
References isKeyword().
Referenced by checkCorrectionVisibility(), and clang::TypoCorrectionConsumer::getNextCorrection().
|
inline |
Definition at line 223 of file TypoCorrection.h.
References isKeyword().
|
inline |
Clears the list of NamedDecls.
Definition at line 149 of file TypoCorrection.h.
|
inline |
Definition at line 221 of file TypoCorrection.h.
Referenced by checkCorrectionVisibility().
|
inline |
Definition at line 226 of file TypoCorrection.h.
std::string TypoCorrection::getAsString | ( | const LangOptions & | LO | ) | const |
Definition at line 4900 of file SemaLookup.cpp.
Referenced by clang::Sema::diagnoseTypo(), getQuoted(), and setCorrectionDecls().
|
inline |
Gets the DeclarationName of the typo correction.
Definition at line 74 of file TypoCorrection.h.
|
inline |
Definition at line 75 of file TypoCorrection.h.
References clang::DeclarationName::getAsIdentifierInfo().
Referenced by clang::TypoCorrectionConsumer::getNextCorrection(), and isKeyword().
|
inline |
Gets the pointer to the declaration of the typo correction.
Definition at line 139 of file TypoCorrection.h.
References getFoundDecl().
Referenced by findDirectBaseWithType(), getCorrectionDeclAs(), IsUsingDirectiveInToplevelContext(), and clang::FunctionCallFilterCCC::ValidateCandidate().
|
inline |
Definition at line 144 of file TypoCorrection.h.
References getCorrectionDecl().
Referenced by clang::Sema::ActOnStartClassImplementation(), clang::Sema::ActOnStartOfObjCMethodDef(), clang::Sema::FindProtocolDeclaration(), and clang::DeclFilterCCC< C >::ValidateCandidate().
|
inline |
Definition at line 213 of file TypoCorrection.h.
Referenced by attemptRecovery(), and clang::Sema::diagnoseTypo().
|
inline |
Gets the NestedNameSpecifier needed to use the typo correction.
Definition at line 80 of file TypoCorrection.h.
Referenced by attemptRecovery(), and findDirectBaseWithType().
Gets the "edit distance" of the typo correction from the typo.
If Normalized is true, scale the distance down by the CharDistanceWeight to return the edit distance in terms of single-character edits.
Definition at line 116 of file TypoCorrection.h.
References CallbackDistanceWeight, InvalidDistance, and NormalizeEditDistance().
Referenced by isCandidateViable().
|
inline |
Definition at line 238 of file TypoCorrection.h.
References isKeyword().
Referenced by clang::Sema::diagnoseTypo().
|
inline |
Get the correction declaration found by name lookup (before we looked through using shadow declarations and the like).
Definition at line 134 of file TypoCorrection.h.
Referenced by attemptRecovery(), clang::Sema::diagnoseTypo(), and getCorrectionDecl().
|
inline |
Definition at line 170 of file TypoCorrection.h.
References getAsString().
Referenced by clang::Sema::diagnoseTypo().
|
inline |
Definition at line 189 of file TypoCorrection.h.
Referenced by begin(), clang::Sema::diagnoseTypo(), getExtraDiagnostics(), isKeyword(), clang::CorrectionCandidateCallback::ValidateCandidate(), and clang::FunctionCallFilterCCC::ValidateCandidate().
|
inline |
Definition at line 195 of file TypoCorrection.h.
References getCorrectionAsIdentifierInfo(), isKeyword(), and clang::IdentifierInfo::isStr().
|
inline |
Definition at line 202 of file TypoCorrection.h.
|
inline |
Definition at line 200 of file TypoCorrection.h.
Referenced by clang::TypoCorrectionConsumer::getNextCorrection(), and clang::CorrectionCandidateCallback::ValidateCandidate().
|
inline |
Mark this TypoCorrection as being a keyword.
Since addCorrectionDeclsand setCorrectionDecl don't allow NULL to be added to the list of the correction's NamedDecl pointers, NULL is added as the only element in the list to mark this TypoCorrection as a keyword.
Definition at line 181 of file TypoCorrection.h.
|
inlinestatic |
Definition at line 107 of file TypoCorrection.h.
References CharDistanceWeight, and InvalidDistance.
Referenced by clang::TypoCorrectionConsumer::getBestEditDistance(), and getEditDistance().
|
inlineexplicit |
Returns whether this TypoCorrection has a non-empty DeclarationName.
Definition at line 175 of file TypoCorrection.h.
References bool.
|
inline |
Returns whether this typo correction is correcting to a declaration that was declared in a module that has not been imported.
Definition at line 230 of file TypoCorrection.h.
Referenced by clang::Sema::diagnoseTypo(), and clang::TypoCorrectionConsumer::getNextCorrection().
|
inline |
Definition at line 100 of file TypoCorrection.h.
Referenced by isCandidateViable().
|
inline |
Clears the list of NamedDecls before adding the new one.
Definition at line 154 of file TypoCorrection.h.
References addCorrectionDecl().
Clears the list of NamedDecls and adds the given set.
Definition at line 160 of file TypoCorrection.h.
References addCorrectionDecl(), and getAsString().
Referenced by checkCorrectionVisibility().
|
inline |
Definition at line 206 of file TypoCorrection.h.
References clang::CXXScopeSpec::getBeginLoc(), clang::DeclarationNameInfo::getSourceRange(), clang::CXXScopeSpec::isEmpty(), and clang::SourceRange::setBegin().
|
inline |
Definition at line 83 of file TypoCorrection.h.
|
inline |
Definition at line 96 of file TypoCorrection.h.
|
inline |
Definition at line 231 of file TypoCorrection.h.
Referenced by checkCorrectionVisibility().
|
inline |
Definition at line 88 of file TypoCorrection.h.
Referenced by attemptRecovery(), and findDirectBaseWithType().
|
inline |
Definition at line 92 of file TypoCorrection.h.
|
static |
Definition at line 40 of file TypoCorrection.h.
Referenced by getEditDistance().
|
static |
Definition at line 38 of file TypoCorrection.h.
Referenced by NormalizeEditDistance().
|
static |
Definition at line 29 of file TypoCorrection.h.
Referenced by getEditDistance(), isCandidateViable(), NormalizeEditDistance(), and clang::CorrectionCandidateCallback::RankCandidate().
|
static |
Definition at line 32 of file TypoCorrection.h.
|
static |
Definition at line 39 of file TypoCorrection.h.