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

Derived Classes

tools/clang/include/clang/AST/Type.h
 2768 class LValueReferenceType : public ReferenceType {
 2786 class RValueReferenceType : public ReferenceType {

Declarations

gen/tools/clang/include/clang/AST/TypeNodes.inc
   61 ABSTRACT_TYPE(Reference, Type)

References

include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&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,
  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;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  219     return cast_convert_val<To, SimpleFrom,
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  248                                typename cast_retty<X, const Y>::ret_type>::type
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  331                             typename cast_retty<X, const Y>::ret_type>::type
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  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;
tools/clang/include/clang/AST/ASTNodeTraverser.h
  282   void VisitReferenceType(const ReferenceType *T) {
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);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  479     : public DynCastPtrConverter<T, Type> {};
tools/clang/include/clang/AST/CanonicalType.h
   76   CanQual(const CanQual<U> &Other,
   77           typename std::enable_if<std::is_base_of<T, U>::value, int>::type = 0);
   77           typename std::enable_if<std::is_base_of<T, U>::value, int>::type = 0);
   83   const T *getTypePtr() const { return cast<T>(Stored.getTypePtr()); }
   83   const T *getTypePtr() const { return cast<T>(Stored.getTypePtr()); }
   87   const T *getTypePtrOrNull() const {
  120   template<typename U> CanProxy<U> getAs() const;
  126   CanProxy<T> operator->() const;
  157   CanQual<T> getUnqualifiedType() const;
  167   bool isMoreQualifiedThan(CanQual<T> Other) const {
  173   bool isAtLeastAsQualifiedAs(CanQual<T> Other) const {
  185   static CanQual<T> getFromOpaquePtr(void *Ptr);
  192   static CanQual<T> CreateUnsafe(QualType Other);
  241   CanQual<T> Stored;
  245   const T *getTypePtr() const { return Stored.getTypePtr(); }
  254   operator const T*() const { return this->Stored.getTypePtrOrNull(); }
  258   template<typename U> CanProxy<U> getAs() const {
  259     return this->Stored.template getAs<U>();
  321   const CanProxyAdaptor<T> *operator->() const {
  347 class CanProxy : public CanProxyAdaptor<T> {
  353   CanProxy(CanQual<T> Stored) { this->Stored = Stored; }
  356   operator CanQual<T>() const { return this->Stored; }
  433 struct CanProxyAdaptor<ReferenceType> : public CanProxyBase<ReferenceType> {
  624   if (CanQual<ReferenceType> RefType = getAs<ReferenceType>())
  624   if (CanQual<ReferenceType> RefType = getAs<ReferenceType>())
  644   CanQual<T> Result;
  658   if (isa<U>(Stored.getTypePtr()))
  659     return CanQual<U>::CreateUnsafe(Stored);
tools/clang/include/clang/AST/Expr.h
  405     if (const ReferenceType *RT = T->getAs<ReferenceType>())
  405     if (const ReferenceType *RT = T->getAs<ReferenceType>())
tools/clang/include/clang/AST/JSONNodeDumper.h
  205   void VisitRValueReferenceType(const ReferenceType *RT);
tools/clang/include/clang/AST/TextNodeDumper.h
  277   void VisitRValueReferenceType(const ReferenceType *T);
tools/clang/include/clang/AST/Type.h
 2237   template <typename T> const T *getAs() const;
 2256   template <typename T> const T *castAs() const;
 2744     const ReferenceType *T = this;
 2746       T = T->PointeeType->castAs<ReferenceType>();
 2768 class LValueReferenceType : public ReferenceType {
 2786 class RValueReferenceType : public ReferenceType {
 6340   if (const auto *RefType = (*this)->getAs<ReferenceType>())
 6340   if (const auto *RefType = (*this)->getAs<ReferenceType>())
 6404   return isa<ReferenceType>(CanonicalType);
 6423   if (const auto *T = getAs<ReferenceType>())
 6423   if (const auto *T = getAs<ReferenceType>())
 6859   static_assert(!TypeIsArrayType<T>::value,
 6863   if (const auto *Ty = dyn_cast<T>(this))
 6863   if (const auto *Ty = dyn_cast<T>(this))
 6867   if (!isa<T>(CanonicalType))
 6872   return cast<T>(getUnqualifiedDesugaredType());
 6924   static_assert(!TypeIsArrayType<T>::value,
 6927   if (const auto *ty = dyn_cast<T>(this)) return ty;
 6927   if (const auto *ty = dyn_cast<T>(this)) return ty;
 6929   return cast<T>(getUnqualifiedDesugaredType());
tools/clang/include/clang/AST/TypeLoc.h
  370     return TypeClass::classof(Ty);
  405   const TypeClass *getTypePtr() const {
  406     return cast<TypeClass>(Base::getTypePtr());
 1209                                                   TypeClass, LocalData> {
 1319                                                    ReferenceType> {
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
 5703 extern const AstTypeMatcher<ReferenceType> referenceType;
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  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>();
  479 class WrapperMatcherInterface : public MatcherInterface<T> {
  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>());
 1067   using head = T1;
 1073   using tail = TypeList<Ts...>;
 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>> {
 1625 class TypeTraverseMatcher : public WrapperMatcherInterface<T> {
 1632   bool matches(const T &Node, ASTMatchFinder *Finder,
 1693   template <typename OuterT> operator Matcher<OuterT>() const {
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/lib/ARCMigrate/Transforms.cpp
  370     else if (const ReferenceType *RT = T->getAs<ReferenceType>())
  370     else if (const ReferenceType *RT = T->getAs<ReferenceType>())
tools/clang/lib/AST/ASTContext.cpp
 1629     if (const auto *RT = T->getAs<ReferenceType>()) {
 1629     if (const auto *RT = T->getAs<ReferenceType>()) {
 2065     AS = getTargetAddressSpace(cast<ReferenceType>(T)->getPointeeType());
 3071   ReferenceType::Profile(ID, T, SpelledAsLValue);
 3078   const auto *InnerRef = T->getAs<ReferenceType>();
 3078   const auto *InnerRef = T->getAs<ReferenceType>();
 3107   ReferenceType::Profile(ID, T, false);
 3114   const auto *InnerRef = T->getAs<ReferenceType>();
 3114   const auto *InnerRef = T->getAs<ReferenceType>();
 5897     else if (const auto *RT = T->getAs<ReferenceType>())
 5897     else if (const auto *RT = T->getAs<ReferenceType>())
 6845       PointeeTy = T->castAs<ReferenceType>()->getPointeeType();
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  506     const auto *Ref1 = cast<ReferenceType>(T1);
  506     const auto *Ref1 = cast<ReferenceType>(T1);
  507     const auto *Ref2 = cast<ReferenceType>(T2);
  507     const auto *Ref2 = cast<ReferenceType>(T2);
tools/clang/lib/AST/Decl.cpp
 1887       QT = cast<ReferenceType>(T)->getPointeeType();
tools/clang/lib/AST/DeclBase.cpp
  964     Ty = Ty->castAs<ReferenceType>()->getPointeeType();
tools/clang/lib/AST/DeclCXX.cpp
  820       const auto *ParamTy =
  821           Method->getParamDecl(0)->getType()->getAs<ReferenceType>();
 2538   const auto *ParamRefType = Param->getType()->getAs<ReferenceType>();
 2538   const auto *ParamRefType = Param->getType()->getAs<ReferenceType>();
tools/clang/lib/AST/DeclPrinter.cpp
  157     else if (const ReferenceType *RTy = BaseType->getAs<ReferenceType>())
  157     else if (const ReferenceType *RTy = BaseType->getAs<ReferenceType>())
tools/clang/lib/AST/ExprConstant.cpp
 8069   if (const ReferenceType *Ref = T->getAs<ReferenceType>())
 8069   if (const ReferenceType *Ref = T->getAs<ReferenceType>())
11931     if (const ReferenceType *Ref = SrcTy->getAs<ReferenceType>())
11931     if (const ReferenceType *Ref = SrcTy->getAs<ReferenceType>())
tools/clang/lib/AST/JSONNodeDumper.cpp
  550 void JSONNodeDumper::VisitRValueReferenceType(const ReferenceType *RT) {
tools/clang/lib/AST/ODRHash.cpp
  970   void VisitReferenceType(const ReferenceType *T) {
tools/clang/lib/AST/QualTypeNames.cpp
  397   if (isa<ReferenceType>(QT.getTypePtr())) {
tools/clang/lib/AST/RecordLayoutBuilder.cpp
 1770   } else if (const ReferenceType *RT = D->getType()->getAs<ReferenceType>()) {
 1770   } else if (const ReferenceType *RT = D->getType()->getAs<ReferenceType>()) {
tools/clang/lib/AST/TextNodeDumper.cpp
 1065 void TextNodeDumper::VisitRValueReferenceType(const ReferenceType *T) {
tools/clang/lib/AST/Type.cpp
  564   if (const auto *RT = getAs<ReferenceType>())
  564   if (const auto *RT = getAs<ReferenceType>())
 1677   else if (const auto *RT = getAs<ReferenceType>())
 1677   else if (const auto *RT = getAs<ReferenceType>())
 1752     Type *VisitReferenceType(const ReferenceType *T) {
 2915   if (const auto *RefType = getTypePtr()->getAs<ReferenceType>())
 2915   if (const auto *RefType = getTypePtr()->getAs<ReferenceType>())
 3674     return Cache::get(cast<ReferenceType>(T)->getPointeeType());
 3758     return computeTypeLinkageInfo(cast<ReferenceType>(T)->getPointeeType());
 4064   if (const auto *Ref = getAs<ReferenceType>())
 4064   if (const auto *Ref = getAs<ReferenceType>())
 4101   if (const auto *ref = getAs<ReferenceType>())
 4101   if (const auto *ref = getAs<ReferenceType>())
tools/clang/lib/AST/TypePrinter.cpp
  407   if (auto *Ref = T->getAs<ReferenceType>())
tools/clang/lib/AST/VTableBuilder.cpp
  291   if (isa<ReferenceType>(CanDerivedReturnType)) {
  293       CanDerivedReturnType->getAs<ReferenceType>()->getPointeeType();
  295       CanBaseReturnType->getAs<ReferenceType>()->getPointeeType();
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  824 const AstTypeMatcher<ReferenceType> referenceType;
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>());
  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/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGCall.cpp
 1989   if (const auto *RefTy = RetTy->getAs<ReferenceType>()) {
 1989   if (const auto *RefTy = RetTy->getAs<ReferenceType>()) {
 2099     if (const auto *RefTy = ParamType->getAs<ReferenceType>()) {
 2099     if (const auto *RefTy = ParamType->getAs<ReferenceType>()) {
tools/clang/lib/CodeGen/CGExpr.cpp
 1416   if (const auto *ref = dyn_cast<ReferenceType>(type)) {
 1416   if (const auto *ref = dyn_cast<ReferenceType>(type)) {
tools/clang/lib/CodeGen/CGExprCXX.cpp
 2204     DestRecordTy = DestTy->castAs<ReferenceType>()->getPointeeType();
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 7174     if (const auto *RefTy = ExprTy->getAs<ReferenceType>())
 7174     if (const auto *RefTy = ExprTy->getAs<ReferenceType>())
 8504       const auto *PtrTy = cast<ReferenceType>(RI.getType().getTypePtr());
 8504       const auto *PtrTy = cast<ReferenceType>(RI.getType().getTypePtr());
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
 4449   QualType PointeeTy = cast<ReferenceType>(NonQualTy)->getPointeeType();
 4488   QualType NativePointeeTy = cast<ReferenceType>(NonQualTy)->getPointeeType();
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
 1084         if (const auto *RefTy = PrivateVD->getType()->getAs<ReferenceType>())
 1084         if (const auto *RefTy = PrivateVD->getType()->getAs<ReferenceType>())
tools/clang/lib/CodeGen/CGVTables.cpp
   64            (isa<ReferenceType>(typeL) && isa<ReferenceType>(typeR))));
   64            (isa<ReferenceType>(typeL) && isa<ReferenceType>(typeR))));
tools/clang/lib/CodeGen/CodeGenFunction.cpp
 1910       type = cast<ReferenceType>(ty)->getPointeeType();
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  550     const ReferenceType *RTy = cast<ReferenceType>(Ty);
  550     const ReferenceType *RTy = cast<ReferenceType>(Ty);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
 4101   if (isa<ReferenceType>(CatchType)) {
 4102     QualType CaughtType = cast<ReferenceType>(CatchType)->getPointeeType();
tools/clang/lib/Index/USRGeneration.cpp
  795     if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
  795     if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaCast.cpp
  726   const ReferenceType *DestReference = nullptr;
  729   } else if ((DestReference = DestType->getAs<ReferenceType>())) {
 1359   const ReferenceType *DestReference = DestType->getAs<ReferenceType>();
 1359   const ReferenceType *DestReference = DestType->getAs<ReferenceType>();
 1710   if (const ReferenceType *DestTypeTmp =DestType->getAs<ReferenceType>()) {
 1710   if (const ReferenceType *DestTypeTmp =DestType->getAs<ReferenceType>()) {
 1824     if (!DestType->getAs<ReferenceType>()) {
 2038   if (const ReferenceType *DestTypeTmp = DestType->getAs<ReferenceType>()) {
 2038   if (const ReferenceType *DestTypeTmp = DestType->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaChecking.cpp
13018   if (const auto *ReferenceTy = dyn_cast<ReferenceType>(PType)) {
13018   if (const auto *ReferenceTy = dyn_cast<ReferenceType>(PType)) {
tools/clang/lib/Sema/SemaCodeComplete.cpp
  845     return getSimplifiedTypeClass(T->getAs<ReferenceType>()->getPointeeType());
  907     if (const auto *Ref = T->getAs<ReferenceType>()) {
  907     if (const auto *Ref = T->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaDecl.cpp
10548         if (auto *RT = T->getAs<ReferenceType>())
tools/clang/lib/Sema/SemaDeclAttr.cpp
 4592   } else if (const auto *RefType = Ty->getAs<ReferenceType>()) {
 4592   } else if (const auto *RefType = Ty->getAs<ReferenceType>()) {
 4604   } else if (const auto *RefType = Ty->getAs<ReferenceType>()) {
 4604   } else if (const auto *RefType = Ty->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1502   if (const ReferenceType *R = NewType->getAs<ReferenceType>()) {
 1502   if (const ReferenceType *R = NewType->getAs<ReferenceType>()) {
 1504     OldType = OldType->getAs<ReferenceType>()->getPointeeType();
 7213       if (const ReferenceType *RT =
 7214               MD->getParamDecl(0)->getType()->getAs<ReferenceType>())
 8068     const ReferenceType *RT = Param0->getType()->getAs<ReferenceType>();
 8068     const ReferenceType *RT = Param0->getType()->getAs<ReferenceType>();
 9088   if (const ReferenceType *ConvTypeRef = ConvType->getAs<ReferenceType>())
 9088   if (const ReferenceType *ConvTypeRef = ConvType->getAs<ReferenceType>())
 9765   if (const ReferenceType *RT = ArgType->getAs<ReferenceType>())
 9765   if (const ReferenceType *RT = ArgType->getAs<ReferenceType>())
14293   } else if (const ReferenceType *Ref = BaseType->getAs<ReferenceType>()) {
14293   } else if (const ReferenceType *Ref = BaseType->getAs<ReferenceType>()) {
14313     if (const ReferenceType *RT = T->getAs<ReferenceType>())
14313     if (const ReferenceType *RT = T->getAs<ReferenceType>())
15373   } else if (const ReferenceType *NewRT = NewTy->getAs<ReferenceType>()) {
15373   } else if (const ReferenceType *NewRT = NewTy->getAs<ReferenceType>()) {
15374     if (const ReferenceType *OldRT = OldTy->getAs<ReferenceType>()) {
15374     if (const ReferenceType *OldRT = OldTy->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaDeclObjC.cpp
  348   } else if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
  348   } else if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaExceptionSpec.cpp
   30   else if (const ReferenceType *RefTy = T->getAs<ReferenceType>())
   30   else if (const ReferenceType *RefTy = T->getAs<ReferenceType>())
  129   } else if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
  129   } else if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
  662   const ReferenceType *RefTy = HandlerType->getAs<ReferenceType>();
  662   const ReferenceType *RefTy = HandlerType->getAs<ReferenceType>();
  818     if (const ReferenceType *RefTy = SubI->getAs<ReferenceType>())
  818     if (const ReferenceType *RefTy = SubI->getAs<ReferenceType>())
 1019   else if (const ReferenceType *RT = T->getAs<ReferenceType>())
 1019   else if (const ReferenceType *RT = T->getAs<ReferenceType>())
tools/clang/lib/Sema/SemaExpr.cpp
 3047       if (const ReferenceType *reftype = type->getAs<ReferenceType>()) {
 3047       if (const ReferenceType *reftype = type->getAs<ReferenceType>()) {
 3937   if (const ReferenceType *Ref = ExprType->getAs<ReferenceType>())
 3937   if (const ReferenceType *Ref = ExprType->getAs<ReferenceType>())
 4085       T = cast<ReferenceType>(Ty)->getPointeeType();
 8195   if (const ReferenceType *LHSTypeRef = LHSType->getAs<ReferenceType>()) {
 8195   if (const ReferenceType *LHSTypeRef = LHSType->getAs<ReferenceType>()) {
11856     if (const ReferenceType *RefTy = LHSDecl->getType()->getAs<ReferenceType>())
11856     if (const ReferenceType *RefTy = LHSDecl->getType()->getAs<ReferenceType>())
12668   if (const ReferenceType *RefTy = LHSDecl->getType()->getAs<ReferenceType>())
12668   if (const ReferenceType *RefTy = LHSDecl->getType()->getAs<ReferenceType>())
15968     if (const ReferenceType *RefType = CaptureType->getAs<ReferenceType>()){
15968     if (const ReferenceType *RefType = CaptureType->getAs<ReferenceType>()){
17740     if (const ReferenceType *RefTy = Type->getAs<ReferenceType>()) {
17740     if (const ReferenceType *RefTy = Type->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaExprMember.cpp
 1777   if (const ReferenceType *Ref = MemberType->getAs<ReferenceType>()) {
 1777   if (const ReferenceType *Ref = MemberType->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaExprObjC.cpp
 3274   if (const ReferenceType *ref = type->getAs<ReferenceType>()) {
 3274   if (const ReferenceType *ref = type->getAs<ReferenceType>()) {
 4202   if (const ReferenceType *ref = castType->getAs<ReferenceType>())
 4202   if (const ReferenceType *ref = castType->getAs<ReferenceType>())
tools/clang/lib/Sema/SemaInit.cpp
 4210   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 4467   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 4665   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 8672     QualType T = DestType->castAs<ReferenceType>()->getPointeeType();
tools/clang/lib/Sema/SemaLookup.cpp
 2930       T = cast<ReferenceType>(T)->getPointeeType().getTypePtr();
tools/clang/lib/Sema/SemaOpenMP.cpp
 1787       Ty = Ty->castAs<ReferenceType>()->getPointeeType();
tools/clang/lib/Sema/SemaOverload.cpp
 4504         const ReferenceType *RefType
 4525       const ReferenceType *RefType =
 4526         Conv->getConversionType()->getAs<ReferenceType>();
 4604   QualType T1 = DeclType->castAs<ReferenceType>()->getPointeeType();
 4832     const ReferenceType *LValRefType =
 5028     QualType T1 = ToType->castAs<ReferenceType>()->getPointeeType();
 7757   if (const ReferenceType *RefTy = Ty->getAs<ReferenceType>())
 7757   if (const ReferenceType *RefTy = Ty->getAs<ReferenceType>())
 7879         if (const ReferenceType *ResTypeRef = CanTy->getAs<ReferenceType>())
 7879         if (const ReferenceType *ResTypeRef = CanTy->getAs<ReferenceType>())
 9961   if (CanQual<ReferenceType> RT = CToTy->getAs<ReferenceType>())
 9961   if (CanQual<ReferenceType> RT = CToTy->getAs<ReferenceType>())
10084   } else if (const ReferenceType *ToRefTy = ToTy->getAs<ReferenceType>()) {
10084   } else if (const ReferenceType *ToRefTy = ToTy->getAs<ReferenceType>()) {
10542       if (const ReferenceType *RT =
10543               Meth->getParamDecl(0)->getType()->getAs<ReferenceType>()) {
11260   else if (const ReferenceType *ToTypeRef =
11261     PossiblyAFunctionType->getAs<ReferenceType>())
tools/clang/lib/Sema/SemaTemplate.cpp
 5870     if (const ReferenceType *ParamRef = ParamType->getAs<ReferenceType>()) {
 5870     if (const ReferenceType *ParamRef = ParamType->getAs<ReferenceType>()) {
 6746        ParamType->castAs<ReferenceType>()->getPointeeType()->isFunctionType()) ||
 6798   if (const ReferenceType *ParamRefType = ParamType->getAs<ReferenceType>()) {
 6798   if (const ReferenceType *ParamRefType = ParamType->getAs<ReferenceType>()) {
 7046   if (const ReferenceType *TargetRef = ParamType->getAs<ReferenceType>()) {
 7046   if (const ReferenceType *TargetRef = ParamType->getAs<ReferenceType>()) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 1240     const ReferenceType *ParamRef = Param->getAs<ReferenceType>();
 1240     const ReferenceType *ParamRef = Param->getAs<ReferenceType>();
 1245     const ReferenceType *ArgRef = Arg->getAs<ReferenceType>();
 1245     const ReferenceType *ArgRef = Arg->getAs<ReferenceType>();
 3183   if (const ReferenceType *DeducedARef = DeducedA->getAs<ReferenceType>())
 3183   if (const ReferenceType *DeducedARef = DeducedA->getAs<ReferenceType>())
 3185   if (const ReferenceType *ARef = A->getAs<ReferenceType>())
 3185   if (const ReferenceType *ARef = A->getAs<ReferenceType>())
 3193   if (const ReferenceType *OriginalParamRef
 3194       = OriginalParamType->getAs<ReferenceType>()) {
 3593   const ReferenceType *ParamRefType = ParamType->getAs<ReferenceType>();
 3593   const ReferenceType *ParamRefType = ParamType->getAs<ReferenceType>();
 4162   if (const ReferenceType *PRef = P->getAs<ReferenceType>())
 4162   if (const ReferenceType *PRef = P->getAs<ReferenceType>())
 4168   if (const ReferenceType *ARef = A->getAs<ReferenceType>()) {
 4168   if (const ReferenceType *ARef = A->getAs<ReferenceType>()) {
 4173     if (!FromType->getAs<ReferenceType>()) {
 5378                                cast<ReferenceType>(T)->getPointeeType(),
tools/clang/lib/Sema/SemaType.cpp
 6353         } else if (isa<ReferenceType>(Ty)) {
 6354           T = cast<ReferenceType>(Ty)->getPointeeType();
 6432         const ReferenceType *OldRef = cast<ReferenceType>(Old);
 6432         const ReferenceType *OldRef = cast<ReferenceType>(Old);
tools/clang/lib/Sema/TreeTransform.h
 4649   const ReferenceType *T = TL.getTypePtr();
 4672       Result->castAs<ReferenceType>()->getPointeeTypeAsWritten());
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
  275     if (VD->getType()->getAs<ReferenceType>())
  386           if (V->getType()->getAs<ReferenceType>())
tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp
  229     auto *RefTy = CtorDecl->getParamDecl(0)->getType()->getAs<ReferenceType>();
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
 1919   if (const auto *RefT = Type->getAs<ReferenceType>()) {
 1919   if (const auto *RefT = Type->getAs<ReferenceType>()) {
tools/clang/tools/extra/clang-tidy/cert/PostfixOperatorCheck.cpp
   50   if (const auto *RefType = ReturnType->getAs<ReferenceType>()) {
   50   if (const auto *RefType = ReturnType->getAs<ReferenceType>()) {
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
  256                            Type->castAs<ReferenceType>()->getPointeeType());
tools/clang/tools/extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
   21   if (const auto *LeftRefType = Left->getAs<ReferenceType>())
   21   if (const auto *LeftRefType = Left->getAs<ReferenceType>())
   23   if (const auto *RightRefType = Right->getAs<ReferenceType>())
   23   if (const auto *RightRefType = Right->getAs<ReferenceType>())
tools/clang/tools/extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
   74   if (isa<PointerType>(T) || isa<ReferenceType>(T))
   85   if ((isa<PointerType>(T) || isa<ReferenceType>(T)) &&
tools/clang/tools/extra/clang-tidy/utils/ExceptionAnalyzer.cpp
  148         ThrownType = ThrownType->castAs<ReferenceType>()
  174           CaughtType = CaughtType->castAs<ReferenceType>()
tools/clang/tools/libclang/CXType.cpp
  459       T = cast<ReferenceType>(TP)->getPointeeType();
tools/lldb/source/Symbol/ClangASTContext.cpp
 3053       const clang::ReferenceType *reference_type =
 3054           llvm::cast<clang::ReferenceType>(qual_type.getTypePtr());
 3222       const clang::ReferenceType *reference_type =
 3223           llvm::cast<clang::ReferenceType>(qual_type.getTypePtr());
 3278       const clang::ReferenceType *reference_type =
 3279           llvm::cast<clang::ReferenceType>(qual_type.getTypePtr());
 3713           llvm::cast<clang::ReferenceType>(qual_type)->getPointeeType();
 4098           this, llvm::cast<clang::ReferenceType>(qual_type.getTypePtr())
 5659     const clang::ReferenceType *reference_type =
 5660         llvm::cast<clang::ReferenceType>(qual_type.getTypePtr());
 6972       const clang::ReferenceType *reference_type =
 6973           llvm::cast<clang::ReferenceType>(parent_qual_type.getTypePtr());
 7358       const clang::ReferenceType *reference_type =
 7359           llvm::cast<clang::ReferenceType>(qual_type.getTypePtr());
 7570       const clang::ReferenceType *reference_type =
 7571           llvm::cast<clang::ReferenceType>(qual_type.getTypePtr());
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
 1447     : public __and_<is_destructible<_Tp>, integral_constant<bool,
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };