reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  469 PARMVAR(ParmVar, VarDecl)
tools/clang/include/clang/AST/ASTMutationListener.h
   34   class ParmVarDecl;
tools/clang/include/clang/AST/Comment.h
   25 class ParmVarDecl;
tools/clang/include/clang/AST/Decl.h
   67 class ParmVarDecl;
tools/clang/include/clang/AST/Expr.h
   53   class ParmVarDecl;
tools/clang/include/clang/AST/SelectorLocationsKind.h
   23   class ParmVarDecl;
tools/clang/include/clang/Sema/ScopeInfo.h
   53 class ParmVarDecl;
tools/clang/include/clang/Sema/Sema.h
  167   class ParmVarDecl;
tools/clang/include/clang/Sema/Template.h
   39 class ParmVarDecl;
tools/lldb/include/lldb/Core/ClangForward.h
   92 class ParmVarDecl;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
  518   if (!D || (!isa<ParmVarDecl>(D))) {
  754   if (!D || (!isa<ParmVarDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<FunctionDecl>(D))) {
  770     return S->hasLocalStorage() && !isa<ParmVarDecl>(S);
 1318   if (!D || (!isa<ParmVarDecl>(D) && !isImplicitObjectParameter(D))) {
 1593   if (!D || (!isa<ParmVarDecl>(D))) {
 1702   if (!D || (!isa<ParmVarDecl>(D))) {
 1882   if (!D || (!isa<ObjCMethodDecl>(D) && !isHasFunctionProto(D) && !isa<ParmVarDecl>(D))) {
 1904   if (!D || (!isa<ParmVarDecl>(D))) {
 1932   if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D) && !isa<ParmVarDecl>(D))) {
 1948   if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D) && !isa<ParmVarDecl>(D))) {
 1964   if (!D || (!isa<ParmVarDecl>(D))) {
 1977   if (!D || (!isa<ParmVarDecl>(D))) {
 2271   if (!D || (!isa<ParmVarDecl>(D) && !isa<TypedefNameDecl>(D))) {
 2424   if (!D || (!isa<ParmVarDecl>(D))) {
 2437   if (!D || (!isa<ParmVarDecl>(D))) {
 2705   if (!D || (!isa<FunctionDecl>(D) && !isa<ParmVarDecl>(D))) {
 2829   if (!D || (!isa<ParmVarDecl>(D))) {
 2842   if (!D || (!isa<ParmVarDecl>(D))) {
 2855   if (!D || (!isa<ParmVarDecl>(D))) {
 3569     return isa<ParmVarDecl>(D);
include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  127     ArrayRef(const std::vector<U *, A> &Vec,
  129                  std::is_convertible<U *const *, T const *>::value>::type* = 0)
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
   77     return isa_impl<To, From>::doit(Val);
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/AST/ASTContext.h
 2824   void setParameterIndex(const ParmVarDecl *D, unsigned index);
 2828   unsigned getParameterIndex(const ParmVarDecl *D) const;
tools/clang/include/clang/AST/ASTImporter.h
  391     llvm::Optional<DeclT *> getImportedFromDecl(const DeclT *ToD) const {
  391     llvm::Optional<DeclT *> getImportedFromDecl(const DeclT *ToD) const {
  395       auto *FromD = dyn_cast<DeclT>(FromI->second);
  395       auto *FromD = dyn_cast<DeclT>(FromI->second);
tools/clang/include/clang/AST/ASTMutationListener.h
  102   virtual void DefaultArgumentInstantiated(const ParmVarDecl *D) {}
tools/clang/include/clang/AST/ASTNodeTraverser.h
  361       for (const auto *Parameter : D->parameters())
  554       for (const ParmVarDecl *Parameter : D->parameters())
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  234   static DynTypedNode create(const T &Node) {
  235     return BaseConverter<T>::create(Node);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  469     : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/Comment.h
  997   ArrayRef<const ParmVarDecl *> ParamVars;
tools/clang/include/clang/AST/CommentSema.h
  226   ArrayRef<const ParmVarDecl *> getParamVars();
  234                                    ArrayRef<const ParmVarDecl *> ParamVars);
  239                                          ArrayRef<const ParmVarDecl *> ParamVars);
tools/clang/include/clang/AST/Decl.h
 1326     return isa<ParmVarDecl>(this) ? false :
 1344     return isa<ParmVarDecl>(this) ? false : NonParmVarDeclBits.ExceptionVar;
 1362     return isa<ParmVarDecl>(this) ? false : NonParmVarDeclBits.NRVOVariable;
 1372     return isa<ParmVarDecl>(this) ? false : NonParmVarDeclBits.CXXForRangeDecl;
 1401     return isa<ParmVarDecl>(this) ? false : NonParmVarDeclBits.IsInline;
 1404     return isa<ParmVarDecl>(this) ? false
 1419     return isa<ParmVarDecl>(this) ? false : NonParmVarDeclBits.IsConstexpr;
 1428     return isa<ParmVarDecl>(this) ? false : NonParmVarDeclBits.IsInitCapture;
 1442     return isa<ParmVarDecl>(this)
 1619   static ParmVarDecl *Create(ASTContext &C, DeclContext *DC,
 1625   static ParmVarDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 1813   ParmVarDecl **ParamInfo = nullptr;
 1884   void setParams(ASTContext &C, ArrayRef<ParmVarDecl *> NewParamInfo);
 2326   ArrayRef<ParmVarDecl *> parameters() const {
 2329   MutableArrayRef<ParmVarDecl *> parameters() {
 2334   using param_iterator = MutableArrayRef<ParmVarDecl *>::iterator;
 2335   using param_const_iterator = ArrayRef<ParmVarDecl *>::const_iterator;
 2349   const ParmVarDecl *getParamDecl(unsigned i) const {
 2353   ParmVarDecl *getParamDecl(unsigned i) {
 2357   void setParams(ArrayRef<ParmVarDecl *> NewParamInfo) {
 4012   ParmVarDecl **ParamInfo = nullptr;
 4044   ArrayRef<ParmVarDecl *> parameters() const {
 4047   MutableArrayRef<ParmVarDecl *> parameters() {
 4052   using param_iterator = MutableArrayRef<ParmVarDecl *>::iterator;
 4053   using param_const_iterator = ArrayRef<ParmVarDecl *>::const_iterator;
 4064   const ParmVarDecl *getParamDecl(unsigned i) const {
 4068   ParmVarDecl *getParamDecl(unsigned i) {
 4073   void setParams(ArrayRef<ParmVarDecl *> NewParamInfo);
tools/clang/include/clang/AST/DeclBase.h
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclObjC.h
  202   ParmVarDecl **getParams() {
  205   const ParmVarDecl *const *getParams() const {
  218                            ArrayRef<ParmVarDecl*> Params,
  342   using param_const_iterator = const ParmVarDecl *const *;
  343   using param_iterator = ParmVarDecl *const *;
  366   ArrayRef<ParmVarDecl*> parameters() const {
  371   ParmVarDecl *getParamDecl(unsigned Idx) {
  375   const ParmVarDecl *getParamDecl(unsigned Idx) const {
  383                        ArrayRef<ParmVarDecl*> Params,
  388     QualType operator()(const ParmVarDecl *PD) const { return PD->getType(); }
tools/clang/include/clang/AST/ExprCXX.h
 1206   ParmVarDecl *Param;
 1211   CXXDefaultArgExpr(StmtClass SC, SourceLocation Loc, ParmVarDecl *Param,
 1230                                    ParmVarDecl *Param,
 1237   const ParmVarDecl *getParam() const { return Param; }
 1238   ParmVarDecl *getParam() { return Param; }
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 2022     for (ParmVarDecl *Parameter : D->parameters()) {
 2095   if (!isa<ParmVarDecl>(D) &&
 2113   TRY_TO(TraverseVarHelper(D));
 2115   if (D->hasDefaultArg() && D->hasUninstantiatedDefaultArg() &&
 2115   if (D->hasDefaultArg() && D->hasUninstantiatedDefaultArg() &&
 2116       !D->hasUnparsedDefaultArg())
 2117     TRY_TO(TraverseStmt(D->getUninstantiatedDefaultArg()));
 2119   if (D->hasDefaultArg() && !D->hasUninstantiatedDefaultArg() &&
 2119   if (D->hasDefaultArg() && !D->hasUninstantiatedDefaultArg() &&
 2120       !D->hasUnparsedDefaultArg())
 2121     TRY_TO(TraverseStmt(D->getDefaultArg()));
tools/clang/include/clang/AST/SelectorLocationsKind.h
   65                                               ArrayRef<ParmVarDecl *> Args,
   77                                       ArrayRef<ParmVarDecl *> Args,
tools/clang/include/clang/AST/TypeLoc.h
 1428   ArrayRef<ParmVarDecl *> getParams() const {
 1433   ParmVarDecl **getParmArray() const {
 1443   ParmVarDecl *getParam(unsigned i) const { return getParmArray()[i]; }
 1444   void setParam(unsigned i, ParmVarDecl *VD) { getParmArray()[i] = VD; }
 1469     return (getNumParams() * sizeof(ParmVarDecl *)) + ExceptSpecSize;
 1472   unsigned getExtraLocalDataAlignment() const { return alignof(ParmVarDecl *); }
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
  454 extern const internal::VariadicDynCastAllOfMatcher<Decl, ParmVarDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  454   template <typename T> Matcher<T> unconditionalConvertTo() const;
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1202   operator Matcher<T>() const {
 1203     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1335   template <typename T> operator Matcher<T>() const {
 1337                Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1338                getMatchers<T>(std::index_sequence_for<Ps...>()))
 1339         .template unconditionalConvertTo<T>();
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
   83   bool isMutated(const ParmVarDecl *Parm) {
   86   const Stmt *findMutation(const ParmVarDecl *Parm);
   90   llvm::DenseMap<const ParmVarDecl *, const Stmt *> Results;
tools/clang/include/clang/Analysis/AnyCall.h
  135   ArrayRef<ParmVarDecl *> parameters() const {
  150   using param_const_iterator = ArrayRef<ParmVarDecl *>::const_iterator;
tools/clang/include/clang/Analysis/RetainSummaryManager.h
  619   bool applyParamAnnotationEffect(const ParmVarDecl *pd, unsigned parm_idx,
tools/clang/include/clang/Sema/Initialization.h
  249                                                const ParmVarDecl *Parm) {
  256                                                const ParmVarDecl *Parm,
tools/clang/include/clang/Sema/ScopeInfo.h
  197   llvm::SmallMapVector<ParmVarDecl *, Stmt *, 4> CoroutineParameterMoves;
  219   llvm::SmallPtrSet<const ParmVarDecl *, 8> ModifiedNonNullParams;
tools/clang/include/clang/Sema/Sema.h
 1167   typedef llvm::DenseMap<ParmVarDecl *, llvm::TinyPtrVector<ParmVarDecl *>>
 1167   typedef llvm::DenseMap<ParmVarDecl *, llvm::TinyPtrVector<ParmVarDecl *>>
 1181   llvm::DenseMap<ParmVarDecl *, SourceLocation> UnparsedDefaultArgLocs;
 2202   ParmVarDecl *BuildParmVarDeclForTypedef(DeclContext *DC,
 2205   ParmVarDecl *CheckParameter(DeclContext *DC, SourceLocation StartLoc,
 2216   bool SetParamDefaultArgument(ParmVarDecl *Param, Expr *DefaultArg,
 2330   void DiagnoseUnusedParameters(ArrayRef<ParmVarDecl *> Parameters);
 2336   DiagnoseSizeOfParametersAndReturnValue(ArrayRef<ParmVarDecl *> Parameters,
 3340   bool CheckParmsForFunctionDef(ArrayRef<ParmVarDecl *> Parameters,
 4772                                 ParmVarDecl *Param,
 5146                               ParmVarDecl *Param);
 5152                                     ParmVarDecl *Param);
 5996                                        ArrayRef<ParmVarDecl *> Params,
 6383   void ActOnReenterCXXMethodParameter(Scope *S, ParmVarDecl *Param);
 7987                           ParmVarDecl *Param,
 8328   ParmVarDecl *SubstParmVarDecl(ParmVarDecl *D,
 8328   ParmVarDecl *SubstParmVarDecl(ParmVarDecl *D,
 8333   bool SubstParmTypes(SourceLocation Loc, ArrayRef<ParmVarDecl *> Params,
 8337                       SmallVectorImpl<ParmVarDecl *> *OutParams,
tools/clang/include/clang/Sema/SemaInternal.h
   32          cast<ParmVarDecl>(FTI.Params[0].Param)->getType()->isVoidType();
tools/clang/include/clang/Sema/Template.h
  533                              SmallVectorImpl<ParmVarDecl *> &Params);
tools/clang/include/clang/Serialization/ASTReader.h
 1887   T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
 1888     return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
 2541   T *readDeclAs() {
 2542     return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/include/clang/Serialization/ASTWriter.h
  733   void DefaultArgumentInstantiated(const ParmVarDecl *D) override;
tools/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
   94       if (auto D = dyn_cast<ParmVarDecl>(V->getDecl()))
  184     if (isa<ParmVarDecl>(VD))
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  427     QualType operator()(ParmVarDecl *PD) const { return PD->getType(); }
  436   virtual ArrayRef<ParmVarDecl *> parameters() const = 0;
  439       llvm::mapped_iterator<ArrayRef<ParmVarDecl *>::iterator, GetTypeFn>;
  485   ArrayRef<ParmVarDecl *> parameters() const override;
  627   ArrayRef<ParmVarDecl*> parameters() const override;
 1039   ArrayRef<ParmVarDecl*> parameters() const override;
tools/clang/lib/ARCMigrate/ObjCMT.cpp
  509     const ParmVarDecl *argDecl = *Setter->param_begin();
 1228     const ParmVarDecl *argDecl = *SetterMethod->param_begin();
 1495     const ParmVarDecl *pd = *pi;
 1547     const ParmVarDecl *pd = *pi;
 1620     const ParmVarDecl *pd = *pi;
 1679     const ParmVarDecl *pd = *pi;
tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
  439           ParmVarDecl *PD = FD->getParamDecl(i);
tools/clang/lib/AST/ASTContext.cpp
  147   if (isa<ParmVarDecl>(D))
 6468     const ParmVarDecl *PVDecl = *PI;
10316 void ASTContext::setParameterIndex(const ParmVarDecl *D, unsigned int index) {
10320 unsigned ASTContext::getParameterIndex(const ParmVarDecl *D) const {
10539     const ParmVarDecl *DeclVar = (*IF);
10540     const ParmVarDecl *ImplVar = (*IM);
tools/clang/lib/AST/ASTImporter.cpp
  162     Expected<T *> import(T *From) {
  162     Expected<T *> import(T *From) {
  166       return cast_or_null<T>(*ToOrErr);
  170     Expected<T *> import(const T *From) {
  170     Expected<T *> import(const T *From) {
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  234       CallOverloadedCreateFun<ToDeclT> OC;
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  257                                    FromDeclT *FromD, Args &&... args) {
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
  430     Error ImportDefaultArgOfParmVarDecl(const ParmVarDecl *FromParam,
  431                                         ParmVarDecl *ToParam);
  475     ExpectedDecl VisitParmVarDecl(ParmVarDecl *D);
 1556     for (const ParmVarDecl *P : FunDecl->parameters()) {
 3147   SmallVector<ParmVarDecl *, 8> Parameters;
 3149     if (Expected<ParmVarDecl *> ToPOrErr = import(P))
 3250   for (auto *Param : Parameters) {
 3813     const ParmVarDecl *FromParam, ParmVarDecl *ToParam) {
 3813     const ParmVarDecl *FromParam, ParmVarDecl *ToParam) {
 3834 ExpectedDecl ASTNodeImporter::VisitParmVarDecl(ParmVarDecl *D) {
 3852   ParmVarDecl *ToParm;
 3975   SmallVector<ParmVarDecl *, 5> ToParams;
 3976   for (auto *FromP : D->parameters()) {
 3977     if (Expected<ParmVarDecl *> ToPOrErr = import(FromP))
 3984   for (auto *ToParam : ToParams) {
 6923   ParmVarDecl *ToParam = *ToParamOrErr;
 6925     Optional<ParmVarDecl *> FromParam = Importer.getImportedFromDecl(ToParam);
tools/clang/lib/AST/CommentSema.cpp
  726   ArrayRef<const ParmVarDecl *> ParamVars = getParamVars();
  761   SmallVector<const ParmVarDecl *, 8> OrphanedParamDecls;
  793       const ParmVarDecl *CorrectedPVD = OrphanedParamDecls[CorrectedParamIndex];
  969 ArrayRef<const ParmVarDecl *> Sema::getParamVars() {
  980                                        ArrayRef<const ParmVarDecl *> ParamVars) {
 1046                                     ArrayRef<const ParmVarDecl *> ParamVars) {
tools/clang/lib/AST/Decl.cpp
 1188   else if (isa<ParmVarDecl>(ContextDecl))
 1709   if (isa<ParmVarDecl>(this))
 2212   if (auto *P = dyn_cast<ParmVarDecl>(this))
 2284   if (isa<ParmVarDecl>(this))
 2657 ParmVarDecl *ParmVarDecl::Create(ASTContext &C, DeclContext *DC,
 2662   return new (C, DC) ParmVarDecl(ParmVar, C, DC, StartLoc, IdLoc, Id, T, TInfo,
 2674 ParmVarDecl *ParmVarDecl::CreateDeserialized(ASTContext &C, unsigned ID) {
 2676       ParmVarDecl(ParmVar, C, nullptr, SourceLocation(), SourceLocation(),
 3192                              ArrayRef<ParmVarDecl *> NewParamInfo) {
 3198     ParamInfo = new (C) ParmVarDecl*[NewParamInfo.size()];
 3212   for (auto *Param : parameters())
 4467 void BlockDecl::setParams(ArrayRef<ParmVarDecl *> NewParamInfo) {
 4473     ParamInfo = new (getASTContext()) ParmVarDecl*[NewParamInfo.size()];
tools/clang/lib/AST/DeclBase.cpp
  139   if (!isa<ParmVarDecl>(this)) {
  932       isa<ParmVarDecl>(this) ||
tools/clang/lib/AST/DeclCXX.cpp
 2535   const ParmVarDecl *Param = getParamDecl(0);
 2583   const ParmVarDecl *Param = getParamDecl(0);
tools/clang/lib/AST/DeclObjC.cpp
  863                                          ArrayRef<ParmVarDecl*> Params,
  870   static_assert(alignof(ParmVarDecl *) >= alignof(SourceLocation),
  873   unsigned Size = sizeof(ParmVarDecl *) * NumParams +
  887                                      ArrayRef<ParmVarDecl*> Params,
tools/clang/lib/AST/DeclPrinter.cpp
   73     void VisitParmVarDecl(ParmVarDecl *D);
  895 void DeclPrinter::VisitParmVarDecl(ParmVarDecl *D) {
 1275   for (const auto *PI : OMD->parameters()) {
tools/clang/lib/AST/Expr.cpp
 4663     if (auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl()))
tools/clang/lib/AST/ExprConstant.cpp
 1827     const ParmVarDecl *Param = *I;
 2828   if (const ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(VD)) {
 2828   if (const ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(VD)) {
13971       if (isa<ParmVarDecl>(D))
tools/clang/lib/AST/Interp/ByteCodeEmitter.cpp
   41   for (const ParmVarDecl *PD : F->parameters()) {
tools/clang/lib/AST/Interp/ByteCodeEmitter.h
   72   llvm::DenseMap<const ParmVarDecl *, unsigned> Params;
tools/clang/lib/AST/Interp/ByteCodeExprGen.cpp
  265           if (auto *PD = dyn_cast<ParmVarDecl>(DE->getDecl()))
  283     const Expr *LV, PrimType T, const ParmVarDecl *PD, DerefKind AK,
tools/clang/lib/AST/Interp/ByteCodeExprGen.h
  184   bool dereferenceParam(const Expr *LV, PrimType T, const ParmVarDecl *PD,
tools/clang/lib/AST/Interp/EvalEmitter.h
   79   llvm::DenseMap<const ParmVarDecl *, unsigned> Params;
tools/clang/lib/AST/Interp/Program.cpp
  122 llvm::Optional<unsigned> Program::getOrCreateDummy(const ParmVarDecl *PD) {
tools/clang/lib/AST/Interp/Program.h
   66   llvm::Optional<unsigned> getOrCreateDummy(const ParmVarDecl *PD);
  185   llvm::DenseMap<const ParmVarDecl *, unsigned> DummyParams;
tools/clang/lib/AST/ItaniumMangle.cpp
   50       if (ParmVarDecl *ContextParam
   51             = dyn_cast_or_null<ParmVarDecl>(RD->getLambdaContextDecl()))
   57     if (ParmVarDecl *ContextParam
   58           = dyn_cast_or_null<ParmVarDecl>(BD->getBlockManglingContextDecl()))
  558   void mangleFunctionParam(const ParmVarDecl *parm);
 1587       if (const ParmVarDecl *Parm
 1588               = dyn_cast_or_null<ParmVarDecl>(CXXRD->getLambdaContextDecl())) {
 1616     if (const ParmVarDecl *Parm
 1617             = dyn_cast_or_null<ParmVarDecl>(BD->getBlockManglingContextDecl())) {
 1745         !isa<ParmVarDecl>(Context)) {
 3562     mangleFunctionParam(cast<ParmVarDecl>(D));
 4336       mangleFunctionParam(cast<ParmVarDecl>(Pack));
 4418 void CXXNameMangler::mangleFunctionParam(const ParmVarDecl *parm) {
tools/clang/lib/AST/MicrosoftMangle.cpp
   74       if (const auto *Parm =
   75               dyn_cast_or_null<ParmVarDecl>(RD->getLambdaContextDecl()))
   94     if (ParmVarDecl *ContextParam =
   95             dyn_cast_or_null<ParmVarDecl>(BD->getBlockManglingContextDecl()))
  916           const ParmVarDecl *Parm =
  917               dyn_cast_or_null<ParmVarDecl>(LambdaContextDecl);
 1079         if (const auto *P = dyn_cast<ParmVarDecl>(MC))
 1079         if (const auto *P = dyn_cast<ParmVarDecl>(MC))
 1094         if (!isa<ParmVarDecl>(MC))
tools/clang/lib/AST/ODRHash.cpp
  305   void VisitParmVarDecl(const ParmVarDecl *D) {
  307     Inherited::VisitParmVarDecl(D);
tools/clang/lib/AST/SelectorLocationsKind.cpp
   55 SourceLocation getArgLoc<ParmVarDecl>(ParmVarDecl *Arg) {
   55 SourceLocation getArgLoc<ParmVarDecl>(ParmVarDecl *Arg) {
   64 SourceLocation getArgLoc(unsigned Index, ArrayRef<T*> Args) {
   71                                          ArrayRef<T *> Args,
  115                                ArrayRef<ParmVarDecl *> Args,
  123                                              ArrayRef<ParmVarDecl *> Args,
tools/clang/lib/AST/StmtPrinter.cpp
 1963     for (const auto *P : Method->parameters()) {
tools/clang/lib/AST/StmtProfile.cpp
  101         if (const ParmVarDecl *Parm = dyn_cast<ParmVarDecl>(D)) {
  101         if (const ParmVarDecl *Parm = dyn_cast<ParmVarDecl>(D)) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  580 const internal::VariadicDynCastAllOfMatcher<Decl, ParmVarDecl> parmVarDecl;
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  361     RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/BodyFarm.cpp
  250                                                const ParmVarDecl *Callback,
  276                                               const ParmVarDecl *Callback,
  326   const ParmVarDecl *Flag = D->getParamDecl(0);
  327   const ParmVarDecl *Callback = D->getParamDecl(1);
  410     const ParmVarDecl *PDecl = D->getParamDecl(ParamIdx);
  483   const ParmVarDecl *Predicate = D->getParamDecl(0);
  493   const ParmVarDecl *Block = D->getParamDecl(1);
  566   const ParmVarDecl *PV = D->getParamDecl(1);
  608   const ParmVarDecl *OldValue = D->getParamDecl(0);
  611   const ParmVarDecl *NewValue = D->getParamDecl(1);
  616   const ParmVarDecl *TheValue = D->getParamDecl(2);
tools/clang/lib/Analysis/Consumed.cpp
  511   void VisitParmVarDecl(const ParmVarDecl *Param);
  623     const ParmVarDecl *Param = FunD->getParamDecl(Index - Offset);
  857 void ConsumedStmtVisitor::VisitParmVarDecl(const ParmVarDecl *Param) {
 1093     if (isa<ParmVarDecl>(DM.first)) {
 1094       const auto *Param = cast<ParmVarDecl>(DM.first);
 1094       const auto *Param = cast<ParmVarDecl>(DM.first);
 1324   for (const auto *PI : D->parameters())
tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp
  404     const auto *Parm = Nodes.getNodeAs<ParmVarDecl>("parm");
  404     const auto *Parm = Nodes.getNodeAs<ParmVarDecl>("parm");
  405     const ArrayRef<ParmVarDecl *> AllParams =
  442       for (const ParmVarDecl *Parm : Ctor->parameters()) {
  453 FunctionParmMutationAnalyzer::findMutation(const ParmVarDecl *Parm) {
tools/clang/lib/Analysis/RetainSummaryManager.cpp
  207   for (ParmVarDecl *Param : MD->parameters()) {
  906     const ParmVarDecl *pd, unsigned parm_idx, const NamedDecl *FD,
  959       const ParmVarDecl *OP = OD->parameters()[parm_idx];
tools/clang/lib/Analysis/ThreadSafety.cpp
 2018   const ArrayRef<ParmVarDecl *> Params = FD->parameters();
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
  278   if (const auto *PV = dyn_cast_or_null<ParmVarDecl>(VD)) {
  278   if (const auto *PV = dyn_cast_or_null<ParmVarDecl>(VD)) {
  829   for (auto *Pm : Parms) {
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBlocks.cpp
  416   if (isa<ParmVarDecl>(var))
 1278     if (!isa<ParmVarDecl>(E->getCalleeDecl()))
tools/clang/lib/CodeGen/CGBuiltin.cpp
  581     auto *Param = dyn_cast<ParmVarDecl>(D->getDecl());
tools/clang/lib/CodeGen/CGCUDANV.cpp
  292   ParmVarDecl *GridDimParam = cudaLaunchKernelFD->getParamDecl(1);
tools/clang/lib/CodeGen/CGCall.cpp
  477   for (const auto *I : MD->parameters()) {
 2184 static const NonNullAttr *getNonNullAttr(const Decl *FD, const ParmVarDecl *PVD,
 2291       isa<ParmVarDecl>(Arg) && cast<ParmVarDecl>(Arg)->isKNRPromoted();
 2291       isa<ParmVarDecl>(Arg) && cast<ParmVarDecl>(Arg)->isKNRPromoted();
 2359         if (const ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(Arg)) {
 2359         if (const ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(Arg)) {
 3098         CalleeDestructedParamCleanups.lookup(cast<ParmVarDecl>(param));
tools/clang/lib/CodeGen/CGClass.cpp
 2088     for (auto *P : Ctor->parameters())
 2207     for (const auto *Param : OuterCtor->parameters()) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 3339   for (const ParmVarDecl *Parm : FD->parameters())
 3506     for (const auto *PI : OMethod->parameters())
 4037     if (auto *PD = dyn_cast<ParmVarDecl>(VD))
 4645     llvm::DenseMap<const ParmVarDecl *, llvm::TrackingMDRef> &ParamCache) {
tools/clang/lib/CodeGen/CGDebugInfo.h
  140   llvm::DenseMap<const ParmVarDecl *, llvm::TrackingMDRef> ParamCache;
tools/clang/lib/CodeGen/CGDecl.cpp
 2407         CalleeDestructedParamCleanups[cast<ParmVarDecl>(&D)] =
tools/clang/lib/CodeGen/CGExpr.cpp
  897   auto *ParamDecl = dyn_cast<ParmVarDecl>(ArrayDeclRef->getDecl());
 1438   if (isa<ParmVarDecl>(value)) {
tools/clang/lib/CodeGen/CGExprScalar.cpp
  280         if (isa<ParmVarDecl>(VD) && !CGF.SanOpts.has(SanitizerKind::Alignment))
tools/clang/lib/CodeGen/CGObjC.cpp
   81   const ParmVarDecl *ArgDecl = *BoxingMethod->param_begin();
  101     const ParmVarDecl *EncodingDecl = BoxingMethod->parameters()[1];
  199   const ParmVarDecl *argDecl = *PI++;
 1214   ParmVarDecl *argVar = *OMD->param_begin();
 1260   ParmVarDecl *argVar = *OMD->param_begin();
 1443   ParmVarDecl *argDecl = *setterMethod->param_begin();
tools/clang/lib/CodeGen/CGObjCMac.cpp
 1755         const ParmVarDecl *ParamDecl = (*i);
 2223     for (const auto *ParamDecl : Method->parameters()) {
 7195     for (const auto *ParamDecl : method->parameters()) {
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
10678   for (const ParmVarDecl *P : FD->parameters()) {
10692           const auto *PVD = cast<ParmVarDecl>(cast<DeclRefExpr>(E)->getDecl())
10708           const auto *PVD = cast<ParmVarDecl>(cast<DeclRefExpr>(E)->getDecl())
10730           const auto *PVD = cast<ParmVarDecl>(cast<DeclRefExpr>(E)->getDecl())
10741               if (const auto *StridePVD = cast<ParmVarDecl>(DRE->getDecl())) {
10741               if (const auto *StridePVD = cast<ParmVarDecl>(DRE->getDecl())) {
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
  371       if (!isa<ParmVarDecl>(VarD) && VarD->hasInit()) {
 4469   return ParmVarDecl::Create(
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  443       Arg = ParmVarDecl::Create(
tools/clang/lib/CodeGen/CGVTables.cpp
  335   for (const ParmVarDecl *PD : MD->parameters())
tools/clang/lib/CodeGen/CodeGenFunction.cpp
 1020     if (const ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(VD))
 1020     if (const ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(VD))
 1109     for (auto *Param : FD->parameters()) {
tools/clang/lib/CodeGen/CodeGenFunction.h
  445     const ParmVarDecl *getParamDecl(unsigned I) const {
 1229   llvm::DenseMap<const ParmVarDecl *, EHScopeStack::stable_iterator>
 1235   llvm::SmallDenseMap<const ParmVarDecl *, const ImplicitParamDecl *, 2>
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1294       const ParmVarDecl *parm = FD->getParamDecl(i);
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
 3966   ArrayRef<ParmVarDecl *> params = CD->parameters().drop_front(IsCopy ? 1 : 0);
 3967   for (const ParmVarDecl *PD : params) {
tools/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
  105     if (isa<FieldDecl>(ND) || isa<ParmVarDecl>(ND))
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
 1289   for (const auto *PDecl : OMD->parameters()) {
 2784   for (const auto *PI : ArrayMethod->parameters())
 2928   for (const auto *PI : DictMethod->parameters()) {
 3491     for (const auto *PI : OMD->parameters()) {
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
 1121   for (const auto *PDecl : OMD->parameters()) {
 2920     for (const auto *PI : OMD->parameters()) {
tools/clang/lib/Index/IndexBody.cpp
  458   bool VisitParmVarDecl(ParmVarDecl* D) {
tools/clang/lib/Index/IndexDecl.cpp
   91       if (const ParmVarDecl *Parm = dyn_cast<ParmVarDecl>(D)) {
   91       if (const ParmVarDecl *Parm = dyn_cast<ParmVarDecl>(D)) {
  115           for (const auto *PV : FD->parameters()) {
  170     for (const auto *I : D->parameters()) {
tools/clang/lib/Index/IndexSymbol.cpp
   55   if (isa<ParmVarDecl>(D))
  145     if (isa<ParmVarDecl>(D)) {
tools/clang/lib/Index/IndexTypeSourceInfo.cpp
   79   bool traverseParamVarHelper(ParmVarDecl *D) {
   86   bool TraverseParmVarDecl(ParmVarDecl *D) {
   99     return base::TraverseParmVarDecl(D);
tools/clang/lib/Index/IndexingContext.cpp
  426     if (IsRef || (!isa<ParmVarDecl>(D) && isFunctionLocalSymbol(D))) {
tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
  306     auto Param = cast<ParmVarDecl>(LM.DefaultArgs[I].Param);
  374       ParmVarDecl *OldParam = Old->getParamDecl(I);
tools/clang/lib/Parse/ParseDecl.cpp
  475       ParmVarDecl *Param = cast<ParmVarDecl>(FTI.Params[i].Param);
  475       ParmVarDecl *Param = cast<ParmVarDecl>(FTI.Params[i].Param);
 6415       if (!ND || isa<ParmVarDecl>(ND))
tools/clang/lib/Parse/ParseDeclCXX.cpp
 2172       auto Param = cast<ParmVarDecl>(FTI.Params[ParamIdx].Param);
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
 1398           if (BaseVar->hasLocalStorage() && !isa<ParmVarDecl>(Base))
tools/clang/lib/Sema/SemaChecking.cpp
 4241     ArrayRef<ParmVarDecl*> parms;
 4248     for (ArrayRef<ParmVarDecl*>::iterator I = parms.begin(), E = parms.end();
 4250       const ParmVarDecl *PVD = *I;
 5003   ParmVarDecl *Param = Fn->getParamDecl(ArgIndex);
 5551                                              ParmVarDecl **LastParam = nullptr) {
 5555   ArrayRef<ParmVarDecl *> Params;
 5618   ParmVarDecl *LastParam;
 5634     if (const ParmVarDecl *PV = dyn_cast<ParmVarDecl>(DR->getDecl())) {
 5634     if (const ParmVarDecl *PV = dyn_cast<ParmVarDecl>(DR->getDecl())) {
 6934         if (const ParmVarDecl *PV = dyn_cast<ParmVarDecl>(VD)) {
 6934         if (const ParmVarDecl *PV = dyn_cast<ParmVarDecl>(VD)) {
12301   if (const auto* PV = dyn_cast<ParmVarDecl>(D)) {
12301   if (const auto* PV = dyn_cast<ParmVarDecl>(D)) {
13044 bool Sema::CheckParmsForFunctionDef(ArrayRef<ParmVarDecl *> Parameters,
13047   for (ParmVarDecl *Param : Parameters) {
tools/clang/lib/Sema/SemaCodeComplete.cpp
 2740 FormatFunctionParameter(const PrintingPolicy &Policy, const ParmVarDecl *Param,
 2887 static std::string GetDefaultValueString(const ParmVarDecl *Param,
 2928     const ParmVarDecl *Param = Function->getParamDecl(P);
 3620       const ParmVarDecl *Param = Function->getParamDecl(P);
 8366           ParmVarDecl *Param =
tools/clang/lib/Sema/SemaCoroutine.cpp
  522   for (auto *PD : FD->parameters()) {
 1167   for (auto *PD : FD.parameters()) {
 1532   for (auto *PD : FD->parameters()) {
tools/clang/lib/Sema/SemaDecl.cpp
 1381     ParmVarDecl *Param = FD->getParamDecl(P);
 1760   if (!isa<VarDecl>(D) || isa<ParmVarDecl>(D) || isa<ImplicitParamDecl>(D))
 2099     SmallVector<ParmVarDecl*, 16> Params;
 2101       ParmVarDecl *parm =
 2102           ParmVarDecl::Create(Context, New, SourceLocation(), SourceLocation(),
 2914 static void mergeParamDeclAttributes(ParmVarDecl *newDecl,
 2915                                      const ParmVarDecl *oldDecl,
 2929     const ParmVarDecl *FirstVD =
 2957 static void mergeParamDeclTypes(ParmVarDecl *NewParam,
 2958                                 const ParmVarDecl *OldParam,
 2989   ParmVarDecl *OldParm;
 2990   ParmVarDecl *NewParm;
 3632       SmallVector<ParmVarDecl*, 16> Params;
 3634         ParmVarDecl *Param = ParmVarDecl::Create(Context, New, SourceLocation(),
 3634         ParmVarDecl *Param = ParmVarDecl::Create(Context, New, SourceLocation(),
 3677       ParmVarDecl *OldParm = Old->getParamDecl(Idx);
 3678       ParmVarDecl *NewParm = New->getParamDecl(Idx);
 3775         ParmVarDecl *NewParam = New->getParamDecl(i);
 3776         ParmVarDecl *OldParam = Old->getParamDecl(i);
 7272       if (const auto PVD = dyn_cast<ParmVarDecl>(D)) {
 8090       ParmVarDecl *FDParam = FD->getParamDecl(Idx-1);
 8374   ParmVarDecl *Param,
 8942   SmallVector<ParmVarDecl*, 16> Params;
 8954         ParmVarDecl *Param = cast<ParmVarDecl>(FTI.Params[i].Param);
 8954         ParmVarDecl *Param = cast<ParmVarDecl>(FTI.Params[i].Param);
 9010       ParmVarDecl *Param =
 9488   for (const ParmVarDecl *Param : NewFD->parameters()) {
11077     if (isa<ParmVarDecl>(OrigDecl))
13056   ParmVarDecl *New =
13089 ParmVarDecl *Sema::BuildParmVarDeclForTypedef(DeclContext *DC,
13095   ParmVarDecl *Param = ParmVarDecl::Create(Context, DC, Loc, Loc, nullptr,
13095   ParmVarDecl *Param = ParmVarDecl::Create(Context, DC, Loc, Loc, nullptr,
13102 void Sema::DiagnoseUnusedParameters(ArrayRef<ParmVarDecl *> Parameters) {
13108   for (const ParmVarDecl *Parameter : Parameters) {
13118     ArrayRef<ParmVarDecl *> Parameters, QualType ReturnTy, NamedDecl *D) {
13133   for (const ParmVarDecl *Parameter : Parameters) {
13144 ParmVarDecl *Sema::CheckParameter(DeclContext *DC, SourceLocation StartLoc,
13175   ParmVarDecl *New = ParmVarDecl::Create(Context, DC, StartLoc, NameLoc, Name,
13175   ParmVarDecl *New = ParmVarDecl::Create(Context, DC, StartLoc, NameLoc, Name,
tools/clang/lib/Sema/SemaDeclAttr.cpp
   96 static const ParmVarDecl *getFunctionOrMethodParam(const Decl *D,
  853   const ParmVarDecl *Param = FD->getParamDecl(Idx.getASTIndex());
 1008   llvm::SmallPtrSet<const ParmVarDecl *, 16> Parms;
 1036     if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl()))
 1036     if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl()))
 1096   if (!cast<ParmVarDecl>(D)->getType()->isPointerType()) {
 1490 static void handleNonNullAttrParameter(Sema &S, ParmVarDecl *D,
 1525   QualType T = cast<ParmVarDecl>(D)->getType();
 2075   if (isa<ParmVarDecl>(D)) {
 3365   for (const ParmVarDecl *PVD : FD->parameters())
 3660     if (isa<ParmVarDecl>(D)) {
 4617   QualType type = cast<ParmVarDecl>(D)->getType();
 4956   const auto *PVD = dyn_cast<ParmVarDecl>(D);
 4956   const auto *PVD = dyn_cast<ParmVarDecl>(D);
 4978   } else if (const auto *Param = dyn_cast<ParmVarDecl>(D)) {
 4978   } else if (const auto *Param = dyn_cast<ParmVarDecl>(D)) {
 5048     if (isa<ParmVarDecl>(D)) {
 6294   if (const auto *PDecl = dyn_cast<ParmVarDecl>(D)) {
 6294   if (const auto *PDecl = dyn_cast<ParmVarDecl>(D)) {
 6387     auto *PVD = const_cast<ParmVarDecl *>(getFunctionOrMethodParam(D, I));
 6686     if (auto *PVD = dyn_cast<ParmVarDecl>(D))
 6686     if (auto *PVD = dyn_cast<ParmVarDecl>(D))
 7355       SmallVector<ParmVarDecl*, 16> Params;
 7357         ParmVarDecl *Param = BuildParmVarDeclForTypedef(NewFD, Loc, AI);
tools/clang/lib/Sema/SemaDeclCXX.cpp
   88     if (ParmVarDecl *Param = dyn_cast<ParmVarDecl>(Decl)) {
   88     if (ParmVarDecl *Param = dyn_cast<ParmVarDecl>(Decl)) {
  250 Sema::SetParamDefaultArgument(ParmVarDecl *Param, Expr *Arg,
  304   ParmVarDecl *Param = cast<ParmVarDecl>(param);
  304   ParmVarDecl *Param = cast<ParmVarDecl>(param);
  350   ParmVarDecl *Param = cast<ParmVarDecl>(param);
  350   ParmVarDecl *Param = cast<ParmVarDecl>(param);
  362   ParmVarDecl *Param = cast<ParmVarDecl>(param);
  362   ParmVarDecl *Param = cast<ParmVarDecl>(param);
  397         ParmVarDecl *Param = cast<ParmVarDecl>(chunk.Fun.Params[argIdx].Param);
  397         ParmVarDecl *Param = cast<ParmVarDecl>(chunk.Fun.Params[argIdx].Param);
  423     const ParmVarDecl *PVD = FD->getParamDecl(NumParams-1);
  501     ParmVarDecl *OldParam = PrevForDefaultArgs->getParamDecl(p);
  502     ParmVarDecl *NewParam = New->getParamDecl(p);
  630       ParmVarDecl *NewParam = New->getParamDecl(New->getMinRequiredArguments());
 1535     ParmVarDecl *Param = FD->getParamDecl(p);
 1548     ParmVarDecl *Param = FD->getParamDecl(p);
 1570       ParmVarDecl *Param = FD->getParamDecl(p);
 1641     const ParmVarDecl *PD = FD->getParamDecl(ArgIndex);
 4530     ParmVarDecl *Param = Constructor->getParamDecl(0);
 4600     ParmVarDecl *Param = Constructor->getParamDecl(0);
 5835       for (ParmVarDecl *PD : CD->parameters()) {
 7064   for (const ParmVarDecl *Param : FD->parameters()) {
 8067     const ParmVarDecl *Param0 = MD->getParamDecl(0);
 8083     const ParmVarDecl *Param0 = MD->getParamDecl(0);
 8533 void Sema::ActOnReenterCXXMethodParameter(Scope *S, ParmVarDecl *Param) {
 8562   ParmVarDecl *Param = cast<ParmVarDecl>(ParamD);
 8562   ParmVarDecl *Param = cast<ParmVarDecl>(ParamD);
11595   SmallVector<ParmVarDecl *, 16> ParamDecls;
11599     ParmVarDecl *PD = ParmVarDecl::Create(
11599     ParmVarDecl *PD = ParmVarDecl::Create(
12370   ParmVarDecl *FromParam = ParmVarDecl::Create(Context, CopyAssignment,
12370   ParmVarDecl *FromParam = ParmVarDecl::Create(Context, CopyAssignment,
12489   ParmVarDecl *Other = CopyAssignOperator->getParamDecl(0);
12694   ParmVarDecl *FromParam = ParmVarDecl::Create(Context, MoveAssignment,
12694   ParmVarDecl *FromParam = ParmVarDecl::Create(Context, MoveAssignment,
12851   ParmVarDecl *Other = MoveAssignOperator->getParamDecl(0);
13072   ParmVarDecl *FromParam = ParmVarDecl::Create(Context, CopyConstructor,
13072   ParmVarDecl *FromParam = ParmVarDecl::Create(Context, CopyConstructor,
13204   ParmVarDecl *FromParam = ParmVarDecl::Create(Context, MoveConstructor,
13204   ParmVarDecl *FromParam = ParmVarDecl::Create(Context, MoveConstructor,
13962     ParmVarDecl *LastParam = FnDecl->getParamDecl(FnDecl->getNumParams() - 1);
14057     const ParmVarDecl *Param = FnDecl->getParamDecl(0);
tools/clang/lib/Sema/SemaDeclObjC.cpp
  113 static bool diagnoseNoescape(const ParmVarDecl *NewD, const ParmVarDecl *OldD,
  113 static bool diagnoseNoescape(const ParmVarDecl *NewD, const ParmVarDecl *OldD,
  126 static void diagnoseNoescape(const ParmVarDecl *NewD, const ParmVarDecl *OldD,
  126 static void diagnoseNoescape(const ParmVarDecl *NewD, const ParmVarDecl *OldD,
  207     const ParmVarDecl *oldDecl = (*oi);
  208     ParmVarDecl *newDecl = (*ni);
  343 HasExplicitOwnershipAttr(Sema &S, ParmVarDecl *Param) {
  397   for (auto *Param : MDecl->parameters()) {
 2395                                      ParmVarDecl *ImplVar,
 2396                                      ParmVarDecl *IfaceVar,
 3249     const ParmVarDecl *lparm = *li, *rparm = *ri;
 4482     ParmVarDecl *param = method->param_begin()[i];
 4483     ParmVarDecl *prevParam = prevMethod->param_begin()[i];
 4505   for (const ParmVarDecl *P : Method->parameters()) {
 4583   SmallVector<ParmVarDecl*, 16> Params;
 4615     ParmVarDecl* Param = CheckParameter(ObjCMethod, StartLoc,
 4639     ParmVarDecl *Param = cast<ParmVarDecl>(CParamInfo[i].Param);
 4639     ParmVarDecl *Param = cast<ParmVarDecl>(CParamInfo[i].Param);
tools/clang/lib/Sema/SemaExpr.cpp
 3884       if (ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(DeclRef->getFoundDecl())) {
 3884       if (ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(DeclRef->getFoundDecl())) {
 4805                                   ParmVarDecl *Param) {
 5156     ParmVarDecl *Param = FDecl ? FDecl->getParamDecl(i) : nullptr;
 5245 static void DiagnoseCalleeStaticArrayParam(Sema &S, ParmVarDecl *PVD) {
 5264                                ParmVarDecl *Param,
 5461   SmallVector<ParmVarDecl*, 16> Params;
 5465     ParmVarDecl *Parm =
 5466         ParmVarDecl::Create(Context, OverloadDecl, SourceLocation(),
11751                      isa<ParmVarDecl>(var)) {
12508   const ParmVarDecl *Param = dyn_cast<ParmVarDecl>(D);
12508   const ParmVarDecl *Param = dyn_cast<ParmVarDecl>(D);
14180   SmallVector<ParmVarDecl*, 8> Params;
14183       ParmVarDecl *Param = ExplicitSignature.getParam(I);
14196       ParmVarDecl *Param = BuildParmVarDeclForTypedef(
14347         if (isa<ParmVarDecl>(Var))
15306     ParmVarDecl *Param;
15309     ParamIncompleteTypeDiagnoser(FunctionDecl *FD, ParmVarDecl *Param)
15334   for (ParmVarDecl *Param : FD->parameters()) {
15663   if (isa<ParmVarDecl>(var) &&
16122       if (ParmVarDecl *PVD = dyn_cast_or_null<ParmVarDecl>(Var))
16122       if (ParmVarDecl *PVD = dyn_cast_or_null<ParmVarDecl>(Var))
16140             if (ParmVarDecl *PVD = dyn_cast_or_null<ParmVarDecl>(Var))
16140             if (ParmVarDecl *PVD = dyn_cast_or_null<ParmVarDecl>(Var))
17715         SmallVector<ParmVarDecl*, 16> Params;
17717           ParmVarDecl *Param =
tools/clang/lib/Sema/SemaExprCXX.cpp
 2781         for (auto *P : Func->parameters())
 2828     llvm::SmallVector<ParmVarDecl *, 3> ParamDecls;
 2830       ParamDecls.push_back(ParmVarDecl::Create(
 7427   if (isa<ParmVarDecl>(Var)) return true;
tools/clang/lib/Sema/SemaExprObjC.cpp
  294     ParmVarDecl *value = ParmVarDecl::Create(S.Context, Method,
  294     ParmVarDecl *value = ParmVarDecl::Create(S.Context, Method,
  349   ParmVarDecl *ParamDecl = Method->parameters()[0];
  570           ParmVarDecl *value =
  571             ParmVarDecl::Create(Context, M,
  689         SmallVector<ParmVarDecl *, 2> Params;
  691         ParmVarDecl *bytes =
  692         ParmVarDecl::Create(Context, M,
  701         ParmVarDecl *type =
  702         ParmVarDecl::Create(Context, M,
  746     ParmVarDecl *ParamDecl = BoxingMethod->parameters()[0];
  821       SmallVector<ParmVarDecl *, 2> Params;
  822       ParmVarDecl *objects = ParmVarDecl::Create(Context, Method,
  822       ParmVarDecl *objects = ParmVarDecl::Create(Context, Method,
  830       ParmVarDecl *cnt = ParmVarDecl::Create(Context, Method,
  830       ParmVarDecl *cnt = ParmVarDecl::Create(Context, Method,
  929       SmallVector<ParmVarDecl *, 3> Params;
  930       ParmVarDecl *objects = ParmVarDecl::Create(Context, Method,
  930       ParmVarDecl *objects = ParmVarDecl::Create(Context, Method,
  938       ParmVarDecl *keys = ParmVarDecl::Create(Context, Method,
  938       ParmVarDecl *keys = ParmVarDecl::Create(Context, Method,
  946       ParmVarDecl *cnt = ParmVarDecl::Create(Context, Method,
  946       ParmVarDecl *cnt = ParmVarDecl::Create(Context, Method,
 1663     ParmVarDecl *param = Method->parameters()[i];
tools/clang/lib/Sema/SemaInit.cpp
 3259     ParmVarDecl *D = reinterpret_cast<ParmVarDecl*>(Parameter & ~0x1);
 5444   if (ParmVarDecl *param = cast_or_null<ParmVarDecl>(Entity.getDecl()))
 5444   if (ParmVarDecl *param = cast_or_null<ParmVarDecl>(Entity.getDecl()))
 5445     ShouldCopy = (param->getObjCDeclQualifier() != ParmVarDecl::OBJC_TQ_Out);
 5890     if (ParmVarDecl *Param = cast_or_null<ParmVarDecl>(Entity.getDecl()))
 5890     if (ParmVarDecl *Param = cast_or_null<ParmVarDecl>(Entity.getDecl()))
 5891       ShouldCopy = (Param->getObjCDeclQualifier() != ParmVarDecl::OBJC_TQ_Out);
 6189       ParmVarDecl *Parm = Constructor->getParamDecl(I);
 6969       } else if (isa<ParmVarDecl>(DRE->getDecl())) {
 7475               << Member << VD << isa<ParmVarDecl>(VD) << DiagRange;
 7508             << isa<ParmVarDecl>(DRE->getDecl()) << DiagRange;
 7635     if (isa<ParmVarDecl>(VD))
tools/clang/lib/Sema/SemaLambda.cpp
  294     if (ParmVarDecl *Param = dyn_cast<ParmVarDecl>(ManglingContextDecl)) {
  294     if (ParmVarDecl *Param = dyn_cast<ParmVarDecl>(ManglingContextDecl)) {
  325          !(ManglingContextDecl && isa<ParmVarDecl>(ManglingContextDecl))) ||
  363                                            ArrayRef<ParmVarDecl *> Params,
  543     ParmVarDecl *Param = CallOperator->getParamDecl(p);
  911   SmallVector<ParmVarDecl *, 8> Params;
  958         Params.push_back(cast<ParmVarDecl>(FTI.Params[i].Param));
 1356   SmallVector<ParmVarDecl *, 4> InvokerParams;
 1358     ParmVarDecl *From = CallOperator->getParamDecl(I);
 1360     InvokerParams.push_back(ParmVarDecl::Create(
 1891   SmallVector<ParmVarDecl *, 4> BlockParams;
 1893     ParmVarDecl *From = CallOperator->getParamDecl(I);
 1894     BlockParams.push_back(ParmVarDecl::Create(
tools/clang/lib/Sema/SemaLookup.cpp
  804         SmallVector<ParmVarDecl *, 16> ParmList;
  806           ParmVarDecl *Parm = ParmVarDecl::Create(
  806           ParmVarDecl *Parm = ParmVarDecl::Create(
 1723     } else if (isa<ParmVarDecl>(D) ||
tools/clang/lib/Sema/SemaObjCProperty.cpp
 1481       ParmVarDecl *Param = (*P);
 2475       ParmVarDecl *Argument = ParmVarDecl::Create(Context, SetterMethod,
 2475       ParmVarDecl *Argument = ParmVarDecl::Create(Context, SetterMethod,
tools/clang/lib/Sema/SemaOpenMP.cpp
  913     if (VD && !VD->isFunctionOrMethodVarDecl() && !isa<ParmVarDecl>(VD))
 4753       if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl()))
 4753       if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl()))
 4780       if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
 4780       if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
 4850       if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
 4850       if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
 4919       if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
 4919       if (const auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
tools/clang/lib/Sema/SemaOverload.cpp
 6322       ParmVarDecl *param = Method->parameters()[i];
 6438       ParmVarDecl *P = Function->getParamDecl(i);
tools/clang/lib/Sema/SemaPseudoObject.cpp
 1203     ParmVarDecl *Argument = ParmVarDecl::Create(S.Context, AtIndexGetter,
 1203     ParmVarDecl *Argument = ParmVarDecl::Create(S.Context, AtIndexGetter,
 1308     SmallVector<ParmVarDecl *, 2> Params;
 1309     ParmVarDecl *object = ParmVarDecl::Create(S.Context, AtIndexSetter,
 1309     ParmVarDecl *object = ParmVarDecl::Create(S.Context, AtIndexSetter,
 1317     ParmVarDecl *key = ParmVarDecl::Create(S.Context, AtIndexSetter,
 1317     ParmVarDecl *key = ParmVarDecl::Create(S.Context, AtIndexSetter,
tools/clang/lib/Sema/SemaStmt.cpp
 2542           if (ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
 2542           if (ParmVarDecl *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
tools/clang/lib/Sema/SemaStmtAsm.cpp
  144       if (isa<ParmVarDecl>(DRE->getDecl())) {
tools/clang/lib/Sema/SemaTemplate.cpp
 1818     SmallVector<ParmVarDecl*, 8> Params;
 1844     SmallVector<ParmVarDecl*, 4> Params;
 1846       ParmVarDecl *NewParam = ParmVarDecl::Create(
 1846       ParmVarDecl *NewParam = ParmVarDecl::Create(
 1905                                       SmallVectorImpl<ParmVarDecl*> &Params,
 1911     for (auto *OldParam : TL.getParams()) {
 1912       ParmVarDecl *NewParam = transformFunctionTypeParam(OldParam, Args);
 1954   ParmVarDecl *
 1955   transformFunctionTypeParam(ParmVarDecl *OldParam,
 1990     ParmVarDecl *NewParam = ParmVarDecl::Create(SemaRef.Context, DC,
 1990     ParmVarDecl *NewParam = ParmVarDecl::Create(SemaRef.Context, DC,
 2009     ArrayRef<ParmVarDecl *> Params =
 2019     for (auto *Param : Params)
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 3287   for (auto *PD : FunctionTemplate->getTemplatedDecl()->parameters()) {
 4870   ParmVarDecl *Last = Function->getParamDecl(NumParams - 1);
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  327     Sema &SemaRef, SourceLocation PointOfInstantiation, ParmVarDecl *Param,
  598       ParmVarDecl *Param = cast<ParmVarDecl>(Active->Entity);
  598       ParmVarDecl *Param = cast<ParmVarDecl>(Active->Entity);
  839     void ExpandingFunctionParameterPack(ParmVarDecl *Pack) {
  987     ParmVarDecl *TransformFunctionTypeParam(ParmVarDecl *OldParm,
  987     ParmVarDecl *TransformFunctionTypeParam(ParmVarDecl *OldParm,
 1512 ParmVarDecl *
 1513 TemplateInstantiator::TransformFunctionTypeParam(ParmVarDecl *OldParm,
 1722   for (ParmVarDecl *P : FP.getParams()) {
 1806 ParmVarDecl *Sema::SubstParmVarDecl(ParmVarDecl *OldParm,
 1806 ParmVarDecl *Sema::SubstParmVarDecl(ParmVarDecl *OldParm,
 1853   ParmVarDecl *NewParm = CheckParameter(Context.getTranslationUnitDecl(),
 1916     SourceLocation Loc, ArrayRef<ParmVarDecl *> Params,
 1920     SmallVectorImpl<ParmVarDecl *> *OutParams,
 2981   if (const ParmVarDecl *PV = dyn_cast<ParmVarDecl>(D)) {
 2981   if (const ParmVarDecl *PV = dyn_cast<ParmVarDecl>(D)) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  282       if (auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
  282       if (auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
  363       if (auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
  363       if (auto *PVD = dyn_cast<ParmVarDecl>(DRE->getDecl())) {
 1801   SmallVector<ParmVarDecl *, 4> Params;
 2118   SmallVector<ParmVarDecl *, 4> Params;
 2396 Decl *TemplateDeclInstantiator::VisitParmVarDecl(ParmVarDecl *D) {
 3814                               SmallVectorImpl<ParmVarDecl *> &Params) {
 3843         ParmVarDecl *OldParam = OldProtoLoc.getParam(OldIdx);
 3854           ParmVarDecl *NewParam = NewProtoLoc.getParam(NewIdx++);
 3861             ParmVarDecl *NewParam = NewProtoLoc.getParam(NewIdx++);
 3875         ParmVarDecl *OldParam = OldProtoLoc.getParam(i);
 3882         ParmVarDecl *Parm =
 3883             cast_or_null<ParmVarDecl>(VisitParmVarDecl(OldParam));
 3920     const ParmVarDecl *PatternParam = PatternDecl->getParamDecl(I);
 3924       ParmVarDecl *FunctionParam = Function->getParamDecl(FParamIdx);
 3954         ParmVarDecl *FunctionParam = Function->getParamDecl(FParamIdx);
 5325   if (isa<ParmVarDecl>(D) && !ParentDC->isDependentContext() &&
 5326       !cast<ParmVarDecl>(D)->getType()->isInstantiationDependentType())
 5328   if (isa<ParmVarDecl>(D) || isa<NonTypeTemplateParmDecl>(D) ||
tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  908         ParmVarDecl *Param = cast<ParmVarDecl>(Chunk.Fun.Params[i].Param);
  908         ParmVarDecl *Param = cast<ParmVarDecl>(Chunk.Fun.Params[i].Param);
tools/clang/lib/Sema/SemaType.cpp
 4809           ParmVarDecl *Param = cast<ParmVarDecl>(FTI.Params[i].Param);
 4809           ParmVarDecl *Param = cast<ParmVarDecl>(FTI.Params[i].Param);
 5697         ParmVarDecl *Param = cast<ParmVarDecl>(FTI.Params[i].Param);
 5697         ParmVarDecl *Param = cast<ParmVarDecl>(FTI.Params[i].Param);
tools/clang/lib/Sema/TreeTransform.h
  286   void ExpandingFunctionParameterPack(ParmVarDecl *Pack) { }
  646       SourceLocation Loc, ArrayRef<ParmVarDecl *> Params,
  649       SmallVectorImpl<QualType> &PTypes, SmallVectorImpl<ParmVarDecl *> *PVars,
  657   ParmVarDecl *TransformFunctionTypeParam(ParmVarDecl *OldParm,
  657   ParmVarDecl *TransformFunctionTypeParam(ParmVarDecl *OldParm,
 5096 ParmVarDecl *TreeTransform<Derived>::TransformFunctionTypeParam(
 5097     ParmVarDecl *OldParm, int indexAdjustment, Optional<unsigned> NumExpansions,
 5136   ParmVarDecl *newParm = ParmVarDecl::Create(SemaRef.Context,
 5136   ParmVarDecl *newParm = ParmVarDecl::Create(SemaRef.Context,
 5152     SourceLocation Loc, ArrayRef<ParmVarDecl *> Params,
 5156     SmallVectorImpl<ParmVarDecl *> *PVars,
 5162     if (ParmVarDecl *OldParm = Params[i]) {
 5166       ParmVarDecl *NewParm = nullptr;
 5199             ParmVarDecl *NewParm
 5218             ParmVarDecl *NewParm
 5360       if (ParmVarDecl *parm = (*PVars)[i])
 5395   SmallVector<ParmVarDecl*, 4> ParamDecls;
10569   ParmVarDecl *Param = cast_or_null<ParmVarDecl>(
10569   ParmVarDecl *Param = cast_or_null<ParmVarDecl>(
11517     auto *P = NewCallOperator->getParamDecl(I);
12735   SmallVector<ParmVarDecl*, 4> params;
tools/clang/lib/Serialization/ASTReader.cpp
 7069     TL.setParam(i, Reader->ReadDeclAs<ParmVarDecl>(*F, Record, Idx));
11094           const ParmVarDecl *FirstParam = FirstMethod->getParamDecl(I);
11095           const ParmVarDecl *SecondParam = SecondMethod->getParamDecl(I);
11842         auto *FirstParam = FirstFunction->getParamDecl(I);
11843         auto *SecondParam = SecondFunction->getParamDecl(I);
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  144     T *ReadDeclAs() {
  145       return Record.readDeclAs<T>();
  380     void VisitParmVarDecl(ParmVarDecl *PD);
  558       isa<ParmVarDecl>(D)) {
 1002   SmallVector<ParmVarDecl *, 16> Params;
 1005     Params.push_back(ReadDeclAs<ParmVarDecl>());
 1039   SmallVector<ParmVarDecl *, 16> Params;
 1042     Params.push_back(ReadDeclAs<ParmVarDecl>());
 1368   if (!isa<ParmVarDecl>(VD)) {
 1417     if (!isa<ParmVarDecl>(VD) && !isa<ImplicitParamDecl>(VD) &&
 1442 void ASTDeclReader::VisitParmVarDecl(ParmVarDecl *PD) {
 1489   SmallVector<ParmVarDecl *, 16> Params;
 1492     Params.push_back(ReadDeclAs<ParmVarDecl>());
 3825     D = ParmVarDecl::CreateDeserialized(Context, ID);
 4310       auto *Param = cast<ParmVarDecl>(D);
 4310       auto *Param = cast<ParmVarDecl>(D);
tools/clang/lib/Serialization/ASTReaderStmt.cpp
   95     T *ReadDeclAs() {
   96       return Record.readDeclAs<T>();
 1588   E->Param = ReadDeclAs<ParmVarDecl>();
 1894   E->ParamPack = ReadDeclAs<ParmVarDecl>();
tools/clang/lib/Serialization/ASTWriter.cpp
 5307             cast<ParmVarDecl>(Update.getDecl())->getDefaultArg()));
 5734   if (isa<ParmVarDecl>(D) || isa<TemplateTemplateParmDecl>(D))
 6487 void ASTWriter::DefaultArgumentInstantiated(const ParmVarDecl *D) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  100     void VisitParmVarDecl(ParmVarDecl *D);
  696   for (const auto *P : D->parameters())
  951   if (!isa<ParmVarDecl>(D)) {
 1057 void ASTDeclWriter::VisitParmVarDecl(ParmVarDecl *D) {
 1139   for (ParmVarDecl *P : D->parameters())
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
   70                           const ParmVarDecl *ParamDecl) const;
   87                           const ParmVarDecl *ParamDecl, const char *BD,
  145     std::unique_ptr<BugType> &BT, const ParmVarDecl *ParamDecl, const char *BD,
  240                                                const ParmVarDecl *ParamDecl
  443     const ParmVarDecl *ParamDecl = nullptr;
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
  435                   if (isa<ParmVarDecl>(VD) && VD->getType()->isScalarType())
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  768     const ParmVarDecl *Param = Method->parameters()[i];
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
  542         const auto *Param = Func->getParamDecl(J);
tools/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
  117 static const ParmVarDecl *getOriginParam(SVal V, CheckerContext &C,
  133       return cast<ParmVarDecl>(VR->getDecl());
  186     if (const ParmVarDecl *PVD =
  208   const ParmVarDecl *PVD = getOriginParam(Arg, C);
tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
  163     if (isa<ImplicitParamDecl>(VD) || isa<ParmVarDecl>(VD))
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
 1318   for (const auto *CtorParam : CtorD->parameters()) {
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
   63   for (const auto *I : D->parameters())  {
tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
   77   ArrayRef<ParmVarDecl*> parms = Call.parameters();
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
  357 checkParamsForPreconditionViolation(ArrayRef<ParmVarDecl *> Params,
  360   for (const auto *ParamDecl : Params) {
  414   ArrayRef<ParmVarDecl*> Params;
  652   for (const ParmVarDecl *Param : Call.parameters()) {
tools/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
  113   const auto *PVD = Match.getNodeAs<ParmVarDecl>(ParamBind);
  113   const auto *PVD = Match.getNodeAs<ParmVarDecl>(ParamBind);
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
 1348     const ParmVarDecl *Param = C->parameters()[idx];
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
  293     const ParmVarDecl *PVD = (*CE)->parameters()[*Idx];
  385   ArrayRef<const ParmVarDecl *> Parameters = Call->parameters();
  387     const ParmVarDecl *PVD = Parameters[I];
  436   const auto *PVD = cast<ParmVarDecl>(VR->getDecl());
  436   const auto *PVD = cast<ParmVarDecl>(VR->getDecl());
  836     if (PDecl && isa<ParmVarDecl>(PDecl)) {
tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
  177     if (isa<ParmVarDecl>(DeclReg->getDecl()))
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  469 static ArrayRef<ParmVarDecl *> getCallParameters(CallEventRef<> Call) {
  585   ArrayRef<ParmVarDecl *> parameters = getCallParameters(Call);
  587     const ParmVarDecl *PVD = parameters[I];
 1289   const auto *Param = cast<ParmVarDecl>(VR->getDecl());
 1289   const auto *Param = cast<ParmVarDecl>(VR->getDecl());
 1421         if (const auto *Param = dyn_cast<ParmVarDecl>(VR->getDecl())) {
 1421         if (const auto *Param = dyn_cast<ParmVarDecl>(VR->getDecl())) {
 2777   ArrayRef<ParmVarDecl *> parms = Call->parameters();
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  238   const ParmVarDecl *PVD = nullptr;
  508                                          ArrayRef<ParmVarDecl*> parameters) {
  515   ArrayRef<ParmVarDecl*>::iterator I = parameters.begin(), E = parameters.end();
  517     const ParmVarDecl *ParamDecl = *I;
  538 ArrayRef<ParmVarDecl*> AnyFunctionCall::parameters() const {
  854 ArrayRef<ParmVarDecl*> BlockCall::parameters() const {
  871   ArrayRef<ParmVarDecl*> Params;
  937 ArrayRef<ParmVarDecl*> ObjCMethodCall::parameters() const {
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  247       const ParmVarDecl *PD = FD->getParamDecl(0);
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  892         sReg = isa<ParmVarDecl>(D) || isa<ImplicitParamDecl>(D)
tools/clang/tools/extra/clang-doc/Serialize.cpp
  308   for (const ParmVarDecl *P : D->parameters()) {
tools/clang/tools/extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
  126 static bool isLikelyTypo(llvm::ArrayRef<ParmVarDecl *> Params,
  264     const ParmVarDecl *PVD = Callee->getParamDecl(I);
tools/clang/tools/extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
   90   const auto *ParmVar = Result.Nodes.getNodeAs<ParmVarDecl>("parm-var");
   90   const auto *ParmVar = Result.Nodes.getNodeAs<ParmVarDecl>("parm-var");
tools/clang/tools/extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
   22                                    const ParmVarDecl *ParmVar,
  100   const auto *ParmVar = Result.Nodes.getNodeAs<ParmVarDecl>("parm-var");
  100   const auto *ParmVar = Result.Nodes.getNodeAs<ParmVarDecl>("parm-var");
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
   72       if (!isa<ParmVarDecl>(LengthVD))
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
  299   const auto *BadOwnerParameter =
  300       Nodes.getNodeAs<ParmVarDecl>("bad_owner_creation_parameter");
tools/clang/tools/extra/clang-tidy/darwin/DispatchOnceNonstaticCheck.cpp
   40     if (const auto *PD = dyn_cast<ParmVarDecl>(VD)) {
   40     if (const auto *PD = dyn_cast<ParmVarDecl>(VD)) {
tools/clang/tools/extra/clang-tidy/fuchsia/DefaultArgumentsDeclarationsCheck.cpp
   24   const auto *D = Result.Nodes.getNodeAs<ParmVarDecl>("decl");
   24   const auto *D = Result.Nodes.getNodeAs<ParmVarDecl>("decl");
tools/clang/tools/extra/clang-tidy/google/NonConstReferences.cpp
   48   const auto *Parameter = Result.Nodes.getNodeAs<ParmVarDecl>("param");
   48   const auto *Parameter = Result.Nodes.getNodeAs<ParmVarDecl>("param");
tools/clang/tools/extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
   51   return isa<ParmVarDecl>(declRefExpr->getDecl());
tools/clang/tools/extra/clang-tidy/misc/UnusedParametersCheck.cpp
   40                                   const T *PrevNode, const T *Node,
   40                                   const T *PrevNode, const T *Node,
   41                                   const T *NextNode) {
  134   const auto *Param = Function->getParamDecl(ParamIndex);
  178     const auto *Param = Function->getParamDecl(i);
tools/clang/tools/extra/clang-tidy/modernize/PassByValueCheck.cpp
   61                                      const ParmVarDecl *ParamDecl) {
   71     ExactlyOneUsageVisitor(const ParmVarDecl *ParamDecl)
   88       if (const ParmVarDecl *To = dyn_cast<ParmVarDecl>(D->getDecl())) {
   88       if (const ParmVarDecl *To = dyn_cast<ParmVarDecl>(D->getDecl())) {
  100     const ParmVarDecl *ParamDecl;
  109 static SmallVector<const ParmVarDecl *, 2>
  112   SmallVector<const ParmVarDecl *, 2> Results;
  182   const auto *ParamDecl = Result.Nodes.getNodeAs<ParmVarDecl>("Param");
  182   const auto *ParamDecl = Result.Nodes.getNodeAs<ParmVarDecl>("Param");
  201   for (const ParmVarDecl *ParmDecl : collectParamDecls(Ctor, ParamDecl)) {
tools/clang/tools/extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
   66   const auto *Param = Ctor->getParamDecl(0);
  120   const auto *Param = Operator->getParamDecl(0);
tools/clang/tools/extra/clang-tidy/modernize/UseNoexceptCheck.cpp
   72   } else if (const auto *ParmDecl =
   73                  Result.Nodes.getNodeAs<ParmVarDecl>("parmVarDecl")) {
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
   34     for (ParmVarDecl *Param : F.parameters())
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
   96   const auto *Param = Result.Nodes.getNodeAs<ParmVarDecl>("param");
   96   const auto *Param = Result.Nodes.getNodeAs<ParmVarDecl>("param");
  159     const auto &CurrentParam = *FunctionDecl->getParamDecl(Index);
  189 void UnnecessaryValueParamCheck::handleMoveFix(const ParmVarDecl &Var,
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
   36   void handleMoveFix(const ParmVarDecl &Var, const DeclRefExpr &CopyArgument,
tools/clang/tools/extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
   29   for (const ParmVarDecl *Parm : Node.parameters()) {
tools/clang/tools/extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
   22 SourceRange getTypeRange(const ParmVarDecl &Param) {
   79   const auto *Param = Result.Nodes.getNodeAs<ParmVarDecl>("param");
   79   const auto *Param = Result.Nodes.getNodeAs<ParmVarDecl>("param");
tools/clang/tools/extra/clang-tidy/readability/FunctionSizeCheck.cpp
   28         !(isa<ParmVarDecl>(VD) || isa<DecompositionDecl>(VD)))
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  492   if (const auto *Decl = dyn_cast<ParmVarDecl>(D)) {
  492   if (const auto *Decl = dyn_cast<ParmVarDecl>(D)) {
tools/clang/tools/extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
   65     const ParmVarDecl *SourceParam, const FunctionDecl *OriginalDeclaration) {
tools/clang/tools/extra/clang-tidy/readability/NamedParameterCheck.cpp
   46     const ParmVarDecl *Parm = Function->getParamDecl(I);
   86     const ParmVarDecl *FirstParm =
   99         const ParmVarDecl *OtherParm =
  108         const ParmVarDecl *DefParm = Definition->getParamDecl(P.second);
  117       const ParmVarDecl *Parm = P.first->getParamDecl(P.second);
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp
   41   if (const auto *Parm = Result.Nodes.getNodeAs<ParmVarDecl>("Parm")) {
   41   if (const auto *Parm = Result.Nodes.getNodeAs<ParmVarDecl>("Parm")) {
   51     for (const auto *Parm : Ctor->parameters())
   72         for (const auto *Par : FD->parameters()) {
  100 void NonConstParameterCheck::addParm(const ParmVarDecl *Parm) {
  118   auto It = Parameters.find(dyn_cast<ParmVarDecl>(Ref->getDecl()));
  129     const ParmVarDecl *Par = It.first;
  213       auto It = Parameters.find(dyn_cast<ParmVarDecl>(D->getDecl()));
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.h
   41   std::map<const ParmVarDecl *, ParmInfo> Parameters;
   44   void addParm(const ParmVarDecl *Parm);
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   72   if (isa<ParmVarDecl>(D))
tools/clang/tools/extra/clangd/XRefs.cpp
  653     for (const ParmVarDecl *PVD : FD->parameters()) {
tools/clang/tools/libclang/CIndex.cpp
  975   for (const auto *P : ND->parameters()) {
 4377         isa<ParmVarDecl>(SizeOfPack->getPack()))
 7113           for (const auto *P : Method->parameters()) {
 8155   else if (const ParmVarDecl *PD = dyn_cast<ParmVarDecl>(D))
 8155   else if (const ParmVarDecl *PD = dyn_cast<ParmVarDecl>(D))
tools/clang/unittests/AST/ASTTraverserTest.cpp
  228   const auto *Parm = Func->getParamDecl(0);
tools/clang/unittests/AST/ASTTypeTraitsTest.cpp
   25   return ASTNodeKind::getFromNodeKind<T>();
tools/clang/unittests/AST/MatchVerifier.h
   62                       const NodeType &Node) {}
  150   const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
  150   const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
  179 class LocationVerifier : public MatchVerifier<NodeType> {
  188               const NodeType &Node) override {
  203   virtual SourceLocation getLocation(const NodeType &Node) {
  216 class RangeVerifier : public MatchVerifier<NodeType> {
  228               const NodeType &Node) override {
  250   virtual SourceRange getRange(const NodeType &Node) {
tools/clang/unittests/AST/SourceLocationTest.cpp
   80   LocationVerifier<ParmVarDecl> Verifier;
   86   RangeVerifier<ParmVarDecl> Verifier;
  682 class ParmVarExceptionSpecRangeVerifier : public RangeVerifier<ParmVarDecl> {
  684   SourceRange getRange(const ParmVarDecl &Node) override {
tools/clang/unittests/ASTMatchers/ASTMatchersTest.h
  421     if (Nodes->getNodeAs<T>(Id)) {
tools/clang/unittests/Tooling/ASTSelectionTest.cpp
  118           typename std::enable_if<std::is_base_of<Decl, T>::value, T>::type
  118           typename std::enable_if<std::is_base_of<Decl, T>::value, T>::type
  120   checkNodeImpl(isa<T>(DeclNode.Node.get<Decl>()), DeclNode, SelectionKind,
  206         checkNode<ParmVarDecl>(Fn.Children[0],
  262         checkNode<ParmVarDecl>(Fn.Children[0],
tools/clang/unittests/Tooling/RecursiveASTVisitorTestDeclVisitor.cpp
   37   bool VisitParmVarDecl(ParmVarDecl *ParamVar) {
tools/clang/unittests/Tooling/RecursiveASTVisitorTests/CXXMethodDecl.cpp
   28   bool VisitParmVarDecl(ParmVarDecl *P) {
tools/lldb/include/lldb/Symbol/ClangASTContext.h
  391   clang::ParmVarDecl *CreateParameterDeclaration(clang::DeclContext *decl_ctx,
  398                              clang::ParmVarDecl **params, unsigned num_params);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
 2167     SmallVector<ParmVarDecl *, 5> parm_var_decls;
 2173           ParmVarDecl::Create(*ast, const_cast<DeclContext *>(context),
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
  383     std::vector<clang::ParmVarDecl *> parm_vars;
  395       parm_vars.push_back(clang::ParmVarDecl::Create(
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
  776     std::vector<clang::ParmVarDecl *> function_param_decls;
 2391         std::vector<clang::ParmVarDecl *> param_decls;
 3073     std::vector<clang::ParmVarDecl *> &function_param_decls,
 3156             clang::ParmVarDecl *param_var_decl =
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
  123                        std::vector<clang::ParmVarDecl *> &function_param_decls,
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
 1041   std::vector<clang::ParmVarDecl *> params;
 1085     clang::ParmVarDecl *param = m_clang.CreateParameterDeclaration(
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
  938     std::vector<clang::ParmVarDecl *> params;
  948           clang::ParmVarDecl *param = m_ast.CreateParameterDeclaration(
tools/lldb/source/Symbol/ClangASTContext.cpp
 2123 ParmVarDecl *ClangASTContext::CreateParameterDeclaration(
 2128   auto *decl =
 2129       ParmVarDecl::Create(*ast, decl_ctx, SourceLocation(), SourceLocation(),
 2140                                             ParmVarDecl **params,
 8253   llvm::SmallVector<clang::ParmVarDecl *, 12> params;
 8256     params.push_back(clang::ParmVarDecl::Create(
 8540           llvm::SmallVector<clang::ParmVarDecl *, 1> params;
 8542           params.push_back(clang::ParmVarDecl::Create(
 8665     llvm::SmallVector<clang::ParmVarDecl *, 12> params;
 8668       params.push_back(clang::ParmVarDecl::Create(
 9955       ParmVarDecl *var_decl = func_decl->getParamDecl(idx);
tools/lldb/tools/lldb-instr/Instrument.cpp
  192     for (auto *P : Decl->parameters()) {
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>
 2157     { typedef _Tp type; };