clang API Documentation

Classes | Namespaces | Enumerations | Functions
AnalysisBasedWarnings.cpp File Reference
#include "clang/Sema/AnalysisBasedWarnings.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/EvaluatedExprVisitor.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/ParentMap.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtObjC.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/Analysis/Analyses/CFGReachabilityAnalysis.h"
#include "clang/Analysis/Analyses/Consumed.h"
#include "clang/Analysis/Analyses/ReachableCode.h"
#include "clang/Analysis/Analyses/ThreadSafety.h"
#include "clang/Analysis/Analyses/UninitializedValues.h"
#include "clang/Analysis/AnalysisContext.h"
#include "clang/Analysis/CFG.h"
#include "clang/Analysis/CFGStmtMap.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Lex/Lexer.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Sema/ScopeInfo.h"
#include "clang/Sema/SemaInternal.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/ImmutableMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include <algorithm>
#include <deque>
#include <iterator>
#include <vector>
Include dependency graph for AnalysisBasedWarnings.cpp:

Go to the source code of this file.

Classes

class  LogicalErrorHandler
 Warn on logical operator errors in CFGBuilder. More...
class  clang::threadSafety::ThreadSafetyReporter

Namespaces

namespace  clang
namespace  clang::threadSafety
namespace  clang::consumed

Enumerations

enum  RecursiveState { FoundNoPath, FoundPath, FoundPathWithNoRecursiveCall }
enum  ControlFlowKind {
  UnknownFallThrough, NeverFallThrough, MaybeFallThrough, AlwaysFallThrough,
  NeverFallThroughOrReturn
}

Functions

static void CheckUnreachable (Sema &S, AnalysisDeclContext &AC)
 CheckUnreachable - Check for unreachable code.
static void checkForFunctionCall (Sema &S, const FunctionDecl *FD, CFGBlock &Block, unsigned ExitID, llvm::SmallVectorImpl< RecursiveState > &States, RecursiveState State)
static void checkRecursiveFunction (Sema &S, const FunctionDecl *FD, const Stmt *Body, AnalysisDeclContext &AC)
static ControlFlowKind CheckFallThrough (AnalysisDeclContext &AC)
static void CheckFallThroughForBody (Sema &S, const Decl *D, const Stmt *Body, const BlockExpr *blkExpr, const CheckFallThroughDiagnostics &CD, AnalysisDeclContext &AC)
static bool SuggestInitializationFixit (Sema &S, const VarDecl *VD)
static void CreateIfFixit (Sema &S, const Stmt *If, const Stmt *Then, const Stmt *Else, bool CondVal, FixItHint &Fixit1, FixItHint &Fixit2)
static void DiagUninitUse (Sema &S, const VarDecl *VD, const UninitUse &Use, bool IsCapturedByBlock)
static bool DiagnoseUninitializedUse (Sema &S, const VarDecl *VD, const UninitUse &Use, bool alwaysReportSelfInit=false)
static void DiagnoseSwitchLabelsFallthrough (Sema &S, AnalysisDeclContext &AC, bool PerFunction)
static bool isInLoop (const ASTContext &Ctx, const ParentMap &PM, const Stmt *S)
static void diagnoseRepeatedUseOfWeak (Sema &S, const sema::FunctionScopeInfo *CurFn, const Decl *D, const ParentMap &PM)
static unsigned isEnabled (DiagnosticsEngine &D, unsigned diag)
static void flushDiagnostics (Sema &S, const sema::FunctionScopeInfo *fscope)

Enumeration Type Documentation

Enumerator:
UnknownFallThrough 
NeverFallThrough 
MaybeFallThrough 
AlwaysFallThrough 
NeverFallThroughOrReturn 

Definition at line 266 of file AnalysisBasedWarnings.cpp.

Enumerator:
FoundNoPath 
FoundPath 
FoundPathWithNoRecursiveCall 

Definition at line 167 of file AnalysisBasedWarnings.cpp.


Function Documentation

CheckFallThrough - Check that we don't fall off the end of a Statement that should return a value.

Returns:
AlwaysFallThrough iff we always fall off the end of the statement, MaybeFallThrough iff we might or might not fall off the end, NeverFallThroughOrReturn iff we never fall off the end of the statement or return. We assume NeverFallThrough iff we never fall off the end of the statement but we may return. We assume that functions not marked noreturn will return.

Definition at line 283 of file AnalysisBasedWarnings.cpp.

References AlwaysFallThrough, clang::CFGElement::castAs(), clang::AnalysisDeclContext::getAddEHEdges(), clang::CFGElement::getAs(), clang::CFGBlock::getBlockID(), clang::AnalysisDeclContext::getCFG(), clang::CFG::getEntry(), clang::CFG::getNumBlockIDs(), clang::CFGStmt::getStmt(), clang::CFGBlock::getTerminator(), clang::CFGBlock::FilteredCFGBlockIterator< IMPL, IsPred >::hasMore(), clang::CFGBlock::hasNoReturnElement(), clang::CFGBlock::FilterOptions::IgnoreDefaultsWithCoveredEnums, MaybeFallThrough, NeverFallThrough, NeverFallThroughOrReturn, clang::CFGBlock::rbegin(), clang::CFGBlock::rend(), S, clang::reachable_code::ScanReachableFromBlock(), clang::CFGBlock::succ_begin(), clang::CFGBlock::succ_end(), and UnknownFallThrough.

Referenced by CheckFallThroughForBody().

static void CheckFallThroughForBody ( Sema &  S,
const Decl *  D,
const Stmt *  Body,
const BlockExpr *  blkExpr,
const CheckFallThroughDiagnostics &  CD,
AnalysisDeclContext &  AC 
) [static]

CheckFallThroughForFunctionDef - Check that we don't fall off the end of a function that should return a value. Check that we don't fall off the end of a noreturn function. We assume that functions and blocks not marked noreturn will return.

Definition at line 500 of file AnalysisBasedWarnings.cpp.

References AlwaysFallThrough, CheckFallThrough(), clang::Sema::Diag(), clang::Type::getAs(), clang::Sema::getDiagnostics(), clang::Stmt::getLocEnd(), clang::Stmt::getLocStart(), clang::Type::getPointeeType(), clang::Expr::getType(), MaybeFallThrough, NeverFallThrough, NeverFallThroughOrReturn, and UnknownFallThrough.

Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().

static void checkForFunctionCall ( Sema &  S,
const FunctionDecl *  FD,
CFGBlock &  Block,
unsigned  ExitID,
llvm::SmallVectorImpl< RecursiveState > &  States,
RecursiveState  State 
) [static]
static void checkRecursiveFunction ( Sema &  S,
const FunctionDecl *  FD,
const Stmt *  Body,
AnalysisDeclContext &  AC 
) [static]
static void CheckUnreachable ( Sema &  S,
AnalysisDeclContext &  AC 
) [static]
static void CreateIfFixit ( Sema &  S,
const Stmt *  If,
const Stmt *  Then,
const Stmt *  Else,
bool  CondVal,
FixItHint &  Fixit1,
FixItHint &  Fixit2 
) [static]
static void diagnoseRepeatedUseOfWeak ( Sema &  S,
const sema::FunctionScopeInfo *  CurFn,
const Decl *  D,
const ParentMap &  PM 
) [static]
static void DiagnoseSwitchLabelsFallthrough ( Sema &  S,
AnalysisDeclContext &  AC,
bool  PerFunction 
) [static]
static bool DiagnoseUninitializedUse ( Sema &  S,
const VarDecl *  VD,
const UninitUse &  Use,
bool  alwaysReportSelfInit = false 
) [static]

DiagnoseUninitializedUse -- Helper function for diagnosing uses of an uninitialized variable. This manages the different forms of diagnostic emitted for particular types of uses. Returns true if the use was diagnosed as a warning. If a particular use is one we omit warnings for, returns false.

Definition at line 834 of file AnalysisBasedWarnings.cpp.

References clang::Sema::Context, clang::Sema::Diag(), DiagUninitUse(), clang::NamedDecl::getDeclName(), clang::VarDecl::getInit(), clang::Decl::getLocation(), clang::DeclaratorDecl::getLocStart(), clang::BlockExpr::getLocStart(), clang::ValueDecl::getType(), clang::UninitUse::getUser(), clang::Decl::hasAttr(), clang::Type::isBlockPointerType(), and SuggestInitializationFixit().

static void DiagUninitUse ( Sema &  S,
const VarDecl *  VD,
const UninitUse &  Use,
bool  IsCapturedByBlock 
) [static]
static void flushDiagnostics ( Sema &  S,
const sema::FunctionScopeInfo *  fscope 
) [static]
static unsigned isEnabled ( DiagnosticsEngine &  D,
unsigned  diag 
) [static]
static bool isInLoop ( const ASTContext &  Ctx,
const ParentMap &  PM,
const Stmt *  S 
) [static]
static bool SuggestInitializationFixit ( Sema &  S,
const VarDecl *  VD 
) [static]

Variable Documentation

Sema& S [static]

Definition at line 1703 of file AnalysisBasedWarnings.cpp.

Referenced by clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXThrow(), clang::Sema::ActOnDefs(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnMemberAccessExpr(), clang::Sema::ActOnOpenMPParallelSectionsDirective(), clang::Sema::ActOnOpenMPSectionsDirective(), clang::Sema::ActOnSizeofParameterPackExpr(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::ActOnSuperScopeSpecifier(), clang::Sema::ActOnTranslationUnitScope(), clang::Sema::ActOnVariableDeclarator(), clang::InitializationSequence::AddAddressOverloadResolutionStep(), clang::InitializationSequence::AddArrayInitStep(), clang::InitializationSequence::AddAtomicConversionStep(), clang::InitializationSequence::AddCAssignmentStep(), clang::InitializationSequence::AddConstructorInitializationStep(), clang::InitializationSequence::AddConversionSequenceStep(), clang::InitializationSequence::AddDerivedToBaseCastStep(), clang::InitializationSequence::AddExtraneousCopyToTemporary(), clang::InitializationSequence::AddListInitializationStep(), clang::InitializationSequence::AddLValueToRValueStep(), clang::InitializationSequence::AddObjCObjectConversionStep(), clang::InitializationSequence::AddOCLSamplerInitStep(), clang::InitializationSequence::AddOCLZeroEventStep(), clang::InitializationSequence::AddParenthesizedArrayInitStep(), clang::InitializationSequence::AddProduceObjCObjectStep(), clang::InitializationSequence::AddQualificationConversionStep(), clang::InitializationSequence::AddReferenceBindingStep(), clang::InitializationSequence::AddStdInitializerListConstructionStep(), clang::DiagnosticBuilder::AddString(), clang::InitializationSequence::AddStringInitStep(), clang::InitializationSequence::AddUserConversionStep(), clang::InitializationSequence::AddZeroInitializationStep(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildMemInitializer(), BuildParentMap(), clang::Sema::BuildUsingDeclaration(), clang::Sema::CheckClassTemplate(), CheckConstexprFunctionStmt(), CheckFallThrough(), CheckIfAnyEnclosingLambdasMustCaptureAnyPotentialCaptures(), checkObjCDealloc(), CheckObjCInstMethSignature(), CheckOpenMPIterationSpace(), clang::Sema::CheckTemplateArgument(), ClassifyInternal(), clang::Sema::ClassifyName(), LogicalErrorHandler::compareAlwaysTrue(), LogicalErrorHandler::compareBitwiseEquality(), clang::Scope::containedInPrototypeScope(), clang::ento::containsEnum(), clang::ento::containsStaticLocal(), ConvertDeclSpecToType(), ConvertTypeToDiagnosticString(), clang::VerifyDiagnosticConsumer::Directive::create(), clang::ento::PathDiagnosticLocation::create(), clang::ento::PathDiagnosticLocation::createEndOfPath(), clang::PartialDiagnostic::StorageAllocator::Deallocate(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseEmptyLookup(), DiagnoseInvalidRedeclaration(), clang::Sema::DiagnoseUnknownTypeName(), clang::Sema::DiagnoseUnusedExprResult(), clang::Sema::DiagnoseUseOfUnimplementedSelectors(), clang::ast_type_traits::DynTypedNode::dump(), clang::InitializationSequence::dump(), clang::CodeGen::CoverageMappingModuleGen::emit(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), clang::CodeGen::CodeGenFunction::EmitCaseStmt(), clang::CodeGen::CodeGenFunction::EmitCXXThrowExpr(), clang::CodeGen::CodeGenFunction::EmitFunctionBody(), clang::CodeGen::CodeGenFunction::EmitIfStmt(), clang::CodeGen::CodeGenFunction::EmitObjCAutoreleasePoolStmt(), clang::CodeGen::CodeGenFunction::EmitStmt(), clang::VarDecl::ensureEvaluatedStmt(), clang::CodeGen::CGCXXABI::ErrorUnsupportedABI(), EvaluateStmt(), clang::threadSafety::findBlockLocations(), PackDeductionScope::finish(), clang::Sema::FinishCXXForRangeStmt(), clang::Sema::FinishObjCForCollectionStmt(), clang::Diagnostic::FormatDiagnostic(), clang::driver::Multilib::gccSuffix(), GenerateMinimalPathDiagnostic(), clang::CFGStmtMap::getBlock(), GetCurrentOrPreviousStmt(), clang::ento::bugreporter::GetDenomExpr(), clang::ento::bugreporter::getDerefExpr(), llvm::GraphTraits< clang::Stmt * >::getEntryNode(), llvm::GraphTraits< const clang::Stmt * >::getEntryNode(), GetFullTypeForDeclarator(), clang::VarDecl::getInit(), getLastStmt(), GetLLVMTLSModel(), clang::InitListExpr::getLocEnd(), clang::InitListExpr::getLocStart(), clang::ObjCMethodCall::getMessageKind(), clang::ento::PathDiagnosticLocation::getNextStmt(), clang::ento::NilReceiverBRVisitor::getNilReceiver(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::FileManager::getNoncachedStatValue(), clang::Sema::getNonFieldDeclScope(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), clang::ASTContext::getObjCEncodingForMethodDecl(), clang::ASTContext::getObjCEncodingForPropertyDecl(), clang::Sema::getObjCMessageKind(), getOptimizationLevel(), clang::ParentMap::getOuterParenParent(), clang::ParentMap::getParentIgnoreParenCasts(), clang::ParentMap::getParentIgnoreParenImpCasts(), clang::ParentMap::getParentIgnoreParens(), clang::CodeCompletionTUInfo::getParentName(), GetPreviousStmt(), clang::Sema::getPrintable(), clang::analyze_format_string::ArgType::getRepresentativeTypeName(), clang::ento::bugreporter::GetRetValExpr(), clang::Sema::getScopeForContext(), getSignature(), clang::ast_type_traits::DynTypedNode::getSourceRange(), clang::ento::BugReport::getStmt(), getStmtBeforeCond(), getStmtParent(), clang::ento::Environment::getSVal(), clang::ASTWriter::getSwitchCaseID(), getTerminatorCondition(), clang::Sema::getTypeName(), GetUnreachableLoc(), getValidSourceLocation(), handleComplexIntConversion(), handleDeprecatedAttr(), handleIntegerConversion(), handleObjCGCTypeAttr(), handleObjCOwnershipTypeAttr(), HashHMapKey(), clang::Expr::HasSideEffects(), clang::FunctionDecl::hasTrivialBody(), clang::Stmt::IgnoreContainers(), ignoreTransparentExprs(), clang::driver::Multilib::includeSuffix(), inferARCWriteback(), clang::PCHGenerator::InitializeSema(), clang::ASTReader::InitializeSema(), isCallableInState(), clang::ento::CallEvent::isCallStmt(), isConditionForTerminator(), isConfigurationValue(), IsControlFlowExpr(), clang::ObjCNoReturn::isImplicitNoReturn(), isIncrementOrInitInForLoop(), isInLoop(), isInLoopBody(), clang::Scope::isInObjcMethodOuterScope(), clang::Scope::isInObjcMethodScope(), clang::LiveVariables::isLive(), isNonEHScope(), clang::Scope::isSwitchScope(), IsUsedAsNormalCleanup(), LookThroughStmt(), clang::Sema::LookupTemplateName(), clang::Sema::LookupVisibleDecls(), clang::threadSafety::neverReturns(), clang::driver::Multilib::osSuffix(), clang::TreeTransform< Derived >::Owned(), clang::RawComment::parse(), clang::ParseAST(), clang::Sema::ParseObjCStringLiteral(), clang::InitializationSequence::Perform(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), clang::PrettyDeclStackTraceEntry::print(), clang::ento::Environment::print(), clang::ast_type_traits::DynTypedNode::print(), clang::APValue::printPretty(), ProcessDeclAttribute(), clang::Sema::ProcessStmtAttributes(), clang::ASTReader::ReadMethodPool(), clang::TreeTransform< Derived >::RebuildCaseStmtBody(), clang::ASTWriter::RecordSwitchCaseID(), clang::UsingDecl::removeShadowDecl(), clang::InitializationSequence::RewrapReferenceInitList(), clang::driver::SanitizerArgs::SanitizerArgs(), clang::ento::ProgramState::scanReachableSymbols(), clang::ASTWriter::SelectorRead(), clang::OMPExecutableDirective::setAssociatedStmt(), clang::ObjCSubscriptRefExpr::setBaseExpr(), clang::CXXForRangeStmt::setBeginEndStmt(), clang::ObjCForCollectionStmt::setBody(), clang::CXXForRangeStmt::setBody(), clang::SwitchStmt::setBody(), clang::WhileStmt::setBody(), clang::DoStmt::setBody(), clang::ForStmt::setBody(), clang::ObjCAtCatchStmt::setCatchBody(), clang::ObjCAtTryStmt::setCatchStmt(), clang::ObjCForCollectionStmt::setElement(), clang::IfStmt::setElse(), clang::ObjCAtFinallyStmt::setFinallyBody(), clang::ObjCAtTryStmt::setFinallyStmt(), clang::ForStmt::setInit(), clang::ObjCSubscriptRefExpr::setKeyExpr(), clang::CompoundStmt::setLastStmt(), clang::CXXForRangeStmt::setLoopVarStmt(), clang::threadSafety::til::Variable::setName(), clang::CXXForRangeStmt::setRangeStmt(), clang::ObjCSelectorExpr::setSelector(), clang::ObjCStringLiteral::setString(), clang::ObjCAutoreleasePoolStmt::setSubStmt(), clang::CaseStmt::setSubStmt(), clang::DefaultStmt::setSubStmt(), clang::StmtExpr::setSubStmt(), clang::ObjCAtSynchronizedStmt::setSynchBody(), clang::ObjCAtSynchronizedStmt::setSynchExpr(), clang::IfStmt::setThen(), clang::ObjCAtThrowStmt::setThrowExpr(), clang::ObjCAtTryStmt::setTryBody(), clang::DeclSpec::SetTypeSpecSign(), shouldEnableVectorizerAtOLevel(), clang::RecursiveASTVisitor< FindSuperCallVisitor >::shouldUseDataRecursionFor(), clang::Stmt::stripLabelLikeStatements(), clang::Sema::SubstStmt(), clang::ast_matchers::dynamic::Diagnostics::toString(), clang::ast_matchers::dynamic::Diagnostics::toStringFull(), transferARCOwnership(), transferARCOwnershipToDeclaratorChunk(), clang::TreeTransform< Derived >::TransformStmt(), clang::OverloadCandidate::TryToFixBadConversion(), clang::ConversionFixItGenerator::tryToFixConversion(), TryTypoCorrectionForCall(), clang::driver::toolchains::MachO::UseDwarfDebugFlags(), clang::ento::ExprEngine::Visit(), clang::ento::FindLastStoreBRVisitor::VisitNode(), and clang::Sema::CXXThisScopeRAII::~CXXThisScopeRAII().

SourceManager& SM [static]

Definition at line 1425 of file AnalysisBasedWarnings.cpp.

Referenced by clang::ASTUnit::addFileLevelDecl(), addFixitForObjCARCConversion(), clang::arcmt::trans::MigrationContext::addPropertyAttribute(), clang::GCCAsmStmt::AnalyzeAsmString(), clang::tooling::Replacement::apply(), applyCocoaAPICheck(), applyEditsToTemp(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), clang::ento::ProgramState::assumeInBound(), clang::CFGStmtMap::Build(), clang::ObjCMethodCall::canBeOverridenInSubclass(), checkObjCUnusedIvar(), compare(), comparePiece(), clang::ento::PathDiagnosticCallPiece::construct(), clang::Lexer::Create_PragmaLexer(), clang::ento::PathDiagnosticLocation::createBegin(), clang::ento::PathDiagnosticLocation::createConditionalColonLoc(), clang::ento::PathDiagnosticLocation::createEndOfPath(), clang::ento::PathDiagnosticLocation::createMemberLoc(), clang::ento::PathDiagnosticLocation::createOperatorLoc(), diagnoseRepeatedUseOfWeak(), clang::DoRewriteTest(), clang::CodeGen::CodeGenModule::EmitAnnotationLineNo(), clang::CodeGen::CodeGenModule::EmitAnnotationUnit(), clang::DiagnosticNoteRenderer::emitBuildingModuleLocation(), clang::DiagnosticRenderer::emitDiagnostic(), clang::DiagnosticNoteRenderer::emitImportLocation(), clang::DiagnosticNoteRenderer::emitIncludeLocation(), clang::markup::EmitLocation(), clang::CodeGenAction::ExecuteAction(), clang::DumpRawTokensAction::ExecuteAction(), clang::PrintPreprocessedAction::ExecuteAction(), clang::arcmt::trans::findSemiAfterLocation(), GCRewriteFinalize(), GenerateAlternateExtensivePathDiagnostic(), clang::ento::GRBugReporter::generatePathDiagnostic(), getAsmSrcLocInfo(), getAsPointeeSymbol(), clang::CFGStmtMap::getBlock(), clang::ento::LikelyFalsePositiveSuppressionBRVisitor::getEndPath(), clang::ASTUnit::getLocation(), getLocationForCaller(), clang::ento::ProgramState::getLValue(), GetMappedTokenLoc(), clang::FunctionDecl::getReturnTypeSourceRange(), clang::Sema::getUndefinedButUsed(), clang::VerifyDiagnosticConsumer::HandleComment(), clang::LogDiagnosticPrinter::HandleDiagnostic(), clang::html::HighlightMacros(), clang::html::HighlightRange(), clang::TokenLexer::Init(), isEmptyARCMTMacroStatement(), isExpandedFromConfigurationMacro(), clang::CodeGen::CodeGenModule::isInSanitizerBlacklist(), clang::ento::CallEvent::isInSystemHeader(), clang::TokenLexer::Lex(), LexRawTokensFromMainFile(), LocPropertyAttribute(), makeStandaloneDiagnostic(), clang::BeforeThanCompare< RawComment >::operator()(), clang::BeforeThanCompare< SourceLocation >::operator()(), clang::BeforeThanCompare< SourceRange >::operator()(), ReadLineMarkerFlags(), clang::RewriteIncludesInInput(), clang::RewriteMacrosInInput(), clang::arcmt::trans::MigrationContext::rewritePropertyAttribute(), clang::ento::PathDiagnosticCallPiece::setCallee(), clang::CodeGen::CGDebugInfo::setLocation(), clang::Rewriter::setSourceMgr(), clang::html::SyntaxHighlight(), and clang::arcmt::trans::BlockObjCVariableTraverser::traverseBody().