#include "NSInvocationArgumentLifetimeCheck.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/ComputeDependence.h"
#include "clang/AST/Decl.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeLoc.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/ASTMatchers/ASTMatchersMacros.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Lex/Lexer.h"
#include "llvm/ADT/StringRef.h"
#include <optional>
usingnamespaceclang::ast_matchers;
namespace clang::tidy::objc {
namespace {
static constexpr StringRef WeakText = …;
static constexpr StringRef StrongText = …;
static constexpr StringRef UnsafeUnretainedText = …;
AST_POLYMORPHIC_MATCHER(isObjCManagedLifetime,
AST_POLYMORPHIC_SUPPORTED_TYPES(ObjCIvarRefExpr,
DeclRefExpr,
MemberExpr)) { … }
static std::optional<FixItHint>
fixItHintReplacementForOwnershipString(StringRef Text, CharSourceRange Range,
StringRef Ownership) { … }
static std::optional<FixItHint>
fixItHintForVarDecl(const VarDecl *VD, const SourceManager &SM,
const LangOptions &LangOpts) { … }
}
void NSInvocationArgumentLifetimeCheck::registerMatchers(MatchFinder *Finder) { … }
void NSInvocationArgumentLifetimeCheck::check(
const MatchFinder::MatchResult &Result) { … }
}