clang  8.0.0svn
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
clang::CorrectionCandidateCallback Class Reference

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

#include "clang/Sema/TypoCorrection.h"

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

Public Member Functions

 CorrectionCandidateCallback (IdentifierInfo *Typo=nullptr, NestedNameSpecifier *TypoNNS=nullptr)
 
virtual ~CorrectionCandidateCallback ()=default
 
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. More...
 
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. More...
 
void setTypoName (IdentifierInfo *II)
 
void setTypoNNS (NestedNameSpecifier *NNS)
 

Public Attributes

bool WantTypeSpecifiers = true
 
bool WantExpressionKeywords = true
 
bool WantCXXNamedCasts = true
 
bool WantFunctionLikeCasts = true
 
bool WantRemainingKeywords = true
 
bool WantObjCSuper = false
 
bool IsObjCIvarLookup = false
 
bool IsAddressOfOperand = false
 

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 282 of file TypoCorrection.h.

Constructor & Destructor Documentation

◆ CorrectionCandidateCallback()

clang::CorrectionCandidateCallback::CorrectionCandidateCallback ( IdentifierInfo Typo = nullptr,
NestedNameSpecifier TypoNNS = nullptr 
)
inlineexplicit

Definition at line 286 of file TypoCorrection.h.

◆ ~CorrectionCandidateCallback()

virtual clang::CorrectionCandidateCallback::~CorrectionCandidateCallback ( )
virtualdefault

Member Function Documentation

◆ MatchesTypo()

bool clang::CorrectionCandidateCallback::MatchesTypo ( const TypoCorrection candidate)
inlineprotected

Definition at line 334 of file TypoCorrection.h.

◆ RankCandidate()

virtual unsigned clang::CorrectionCandidateCallback::RankCandidate ( const TypoCorrection candidate)
inlinevirtual

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 310 of file TypoCorrection.h.

References clang::TypoCorrection::InvalidDistance.

Referenced by isCandidateViable().

◆ setTypoName()

void clang::CorrectionCandidateCallback::setTypoName ( IdentifierInfo II)
inline

Definition at line 316 of file TypoCorrection.h.

◆ setTypoNNS()

void clang::CorrectionCandidateCallback::setTypoNNS ( NestedNameSpecifier NNS)
inline

Definition at line 317 of file TypoCorrection.h.

◆ ValidateCandidate()

bool CorrectionCandidateCallback::ValidateCandidate ( const TypoCorrection candidate)
virtual

Simple predicate used by the default RankCandidate to determine whether to return an edit distance of 0 or InvalidDistance.

This can be overridden by validators that only need to determine if a candidate is viable, without ranking potentially viable candidates. Only ValidateCandidate or RankCandidate need to be overridden 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 4929 of file SemaLookup.cpp.

References clang::TypoCorrection::isKeyword(), and clang::TypoCorrection::isResolved().

Member Data Documentation

◆ InvalidDistance

const unsigned clang::CorrectionCandidateCallback::InvalidDistance = TypoCorrection::InvalidDistance
static

Definition at line 284 of file TypoCorrection.h.

◆ IsAddressOfOperand

bool clang::CorrectionCandidateCallback::IsAddressOfOperand = false

Definition at line 331 of file TypoCorrection.h.

◆ IsObjCIvarLookup

bool clang::CorrectionCandidateCallback::IsObjCIvarLookup = false

Definition at line 330 of file TypoCorrection.h.

◆ Typo

IdentifierInfo* clang::CorrectionCandidateCallback::Typo
protected

Definition at line 342 of file TypoCorrection.h.

◆ TypoNNS

NestedNameSpecifier* clang::CorrectionCandidateCallback::TypoNNS
protected

Definition at line 343 of file TypoCorrection.h.

◆ WantCXXNamedCasts

bool clang::CorrectionCandidateCallback::WantCXXNamedCasts = true

Definition at line 324 of file TypoCorrection.h.

◆ WantExpressionKeywords

bool clang::CorrectionCandidateCallback::WantExpressionKeywords = true

Definition at line 323 of file TypoCorrection.h.

Referenced by AddKeywordsToConsumer().

◆ WantFunctionLikeCasts

bool clang::CorrectionCandidateCallback::WantFunctionLikeCasts = true

◆ WantObjCSuper

bool clang::CorrectionCandidateCallback::WantObjCSuper = false

Definition at line 327 of file TypoCorrection.h.

Referenced by AddKeywordsToConsumer().

◆ WantRemainingKeywords

bool clang::CorrectionCandidateCallback::WantRemainingKeywords = true

◆ WantTypeSpecifiers

bool clang::CorrectionCandidateCallback::WantTypeSpecifiers = true

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