clang: clang::FunctionCallFilterCCC Class Reference (original) (raw)

#include "[clang/Sema/TypoCorrection.h](TypoCorrection%5F8h%5Fsource.html)"

Public Member Functions
FunctionCallFilterCCC (Sema &SemaRef, unsigned NumArgs, bool HasExplicitTemplateArgs, MemberExpr *ME=nullptr)
bool ValidateCandidate (const TypoCorrection &candidate) override
Simple predicate used by the default RankCandidate to determine whether to return an edit distance of 0 or InvalidDistance.
std::unique_ptr< CorrectionCandidateCallback > clone () override
Clone this CorrectionCandidateCallback.
- Public Member Functions inherited from clang::CorrectionCandidateCallback
CorrectionCandidateCallback (const 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.
virtual unsigned RankCandidate (const TypoCorrection &candidate)
Method used by [Sema::CorrectTypo](classclang%5F1%5F1Sema.html#a6120561015b463e46bc6e299de250c6f "Try to "correct" a typo in the source code by finding visible declarations whose names are similar to...") 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.
virtual std::unique_ptr< CorrectionCandidateCallback > clone ()=0
Clone this CorrectionCandidateCallback.
void setTypoName (const IdentifierInfo *II)
void setTypoNNS (NestedNameSpecifier *NNS)
Additional Inherited Members
- Public Attributes inherited from clang::CorrectionCandidateCallback
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 inherited from clang::CorrectionCandidateCallback
static const unsigned InvalidDistance = TypoCorrection::InvalidDistance
- Protected Member Functions inherited from clang::CorrectionCandidateCallback
bool MatchesTypo (const TypoCorrection &candidate)
- Protected Attributes inherited from clang::CorrectionCandidateCallback
const IdentifierInfo * Typo
NestedNameSpecifier * TypoNNS

Definition at line 383 of file TypoCorrection.h.

FunctionCallFilterCCC::FunctionCallFilterCCC ( Sema & SemaRef,
unsigned NumArgs,
bool HasExplicitTemplateArgs,
MemberExpr * ME = nullptr
)

clone()

ValidateCandidate()

bool FunctionCallFilterCCC::ValidateCandidate ( const TypoCorrection & candidate) overridevirtual

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 from clang::CorrectionCandidateCallback.

Definition at line 5472 of file SemaLookup.cpp.

References clang::C, clang::Type::getAs(), clang::getAsTypeTemplateDecl(), clang::TypoCorrection::getCorrectionDecl(), clang::ASTContext::getLangOpts(), clang::MemberExpr::getMemberDecl(), clang::FunctionDecl::getMinRequiredArguments(), clang::FunctionDecl::getNumParams(), clang::DeclContext::getParent(), clang::DeclContext::getParentASTContext(), clang::Type::getPointeeType(), clang::Type::isAnyPointerType(), clang::CXXRecordDecl::isDerivedFrom(), clang::TypoCorrection::isKeyword(), clang::QualType::isNull(), and clang::Type::isReferenceType().


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