clang API Documentation

Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes
clang::CorrectionCandidateCallback Class Reference

Base class for callback objects used by Sema::CorrectTypo to check the validity of a potential typo correction. More...

#include <TypoCorrection.h>

Inheritance diagram for clang::CorrectionCandidateCallback:
Inheritance graph
[legend]
Collaboration diagram for clang::CorrectionCandidateCallback:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CorrectionCandidateCallback (IdentifierInfo *Typo=nullptr, NestedNameSpecifier *TypoNNS=nullptr)
virtual ~CorrectionCandidateCallback ()
virtual bool ValidateCandidate (const TypoCorrection &candidate)
 Simple predicate used by the default RankCandidate to determine whether to return an edit distance of 0 or InvalidDistance. This can be overrided by validators that only need to determine if a candidate is viable, without ranking potentially viable candidates. Only ValidateCandidate or RankCandidate need to be overriden by a callback wishing to check the viability of correction candidates. The default predicate always returns true if the candidate is not a type name or keyword, true for types if WantTypeSpecifiers is true, and true for keywords if WantTypeSpecifiers, WantExpressionKeywords, WantCXXNamedCasts, WantRemainingKeywords, or WantObjCSuper is true.
virtual unsigned RankCandidate (const TypoCorrection &candidate)
 Method used by Sema::CorrectTypo to assign an "edit distance" rank to a candidate (where a lower value represents a better candidate), or returning InvalidDistance if the candidate is not at all viable. For validation callbacks that only need to determine if a candidate is viable, the default RankCandidate returns either 0 or InvalidDistance depending whether ValidateCandidate returns true or false.
void setTypoName (IdentifierInfo *II)
void setTypoNNS (NestedNameSpecifier *NNS)

Public Attributes

bool WantTypeSpecifiers
bool WantExpressionKeywords
bool WantCXXNamedCasts
bool WantFunctionLikeCasts
bool WantRemainingKeywords
bool WantObjCSuper
bool IsObjCIvarLookup
bool IsAddressOfOperand

Static Public Attributes

static const unsigned InvalidDistance = TypoCorrection::InvalidDistance

Protected Member Functions

bool MatchesTypo (const TypoCorrection &candidate)

Protected Attributes

IdentifierInfoTypo
NestedNameSpecifierTypoNNS

Detailed Description

Base class for callback objects used by Sema::CorrectTypo to check the validity of a potential typo correction.

Definition at line 247 of file TypoCorrection.h.


Constructor & Destructor Documentation

clang::CorrectionCandidateCallback::CorrectionCandidateCallback ( IdentifierInfo Typo = nullptr,
NestedNameSpecifier TypoNNS = nullptr 
) [inline, explicit]

Definition at line 251 of file TypoCorrection.h.

Definition at line 259 of file TypoCorrection.h.


Member Function Documentation

bool clang::CorrectionCandidateCallback::MatchesTypo ( const TypoCorrection candidate) [inline, protected]
virtual unsigned clang::CorrectionCandidateCallback::RankCandidate ( const TypoCorrection candidate) [inline, virtual]

Method used by Sema::CorrectTypo to assign an "edit distance" rank to a candidate (where a lower value represents a better candidate), or returning InvalidDistance if the candidate is not at all viable. For validation callbacks that only need to determine if a candidate is viable, the default RankCandidate returns either 0 or InvalidDistance depending whether ValidateCandidate returns true or false.

Definition at line 279 of file TypoCorrection.h.

References InvalidDistance, MatchesTypo(), and ValidateCandidate().

Referenced by isCandidateViable().

Definition at line 285 of file TypoCorrection.h.

References Typo.

Definition at line 286 of file TypoCorrection.h.

References TypoNNS.

Simple predicate used by the default RankCandidate to determine whether to return an edit distance of 0 or InvalidDistance. This can be overrided by validators that only need to determine if a candidate is viable, without ranking potentially viable candidates. Only ValidateCandidate or RankCandidate need to be overriden by a callback wishing to check the viability of correction candidates. The default predicate always returns true if the candidate is not a type name or keyword, true for types if WantTypeSpecifiers is true, and true for keywords if WantTypeSpecifiers, WantExpressionKeywords, WantCXXNamedCasts, WantRemainingKeywords, or WantObjCSuper is true.

Reimplemented in clang::NoTypoCorrectionCCC, clang::FunctionCallFilterCCC, and clang::DeclFilterCCC< C >.

Definition at line 4408 of file SemaLookup.cpp.

References IsAddressOfOperand, clang::TypoCorrection::isKeyword(), clang::TypoCorrection::isResolved(), WantCXXNamedCasts, WantExpressionKeywords, WantObjCSuper, WantRemainingKeywords, and WantTypeSpecifiers.

Referenced by RankCandidate().


Member Data Documentation

Definition at line 249 of file TypoCorrection.h.

Referenced by RankCandidate().

Definition at line 300 of file TypoCorrection.h.

Referenced by ValidateCandidate().

Definition at line 299 of file TypoCorrection.h.

Definition at line 311 of file TypoCorrection.h.

Referenced by MatchesTypo(), and setTypoName().

Definition at line 312 of file TypoCorrection.h.

Referenced by MatchesTypo(), and setTypoNNS().

Definition at line 296 of file TypoCorrection.h.

Referenced by AddKeywordsToConsumer(), and ValidateCandidate().


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