reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
64 return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...}); 76 static constexpr int Index = 1 + TypeIndex<T, Us...>::Index; 76 static constexpr int Index = 1 + TypeIndex<T, Us...>::Index; 93 static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>(); 124 PointerUnionMembers(Type V) 130 Derived &operator=(Type V) { 132 const_cast<void *>(PointerLikeTypeTraits<Type>::getAsVoidPointer(V)), 158 PointerUnion<PTs...>, 161 pointer_union_detail::PointerUnionUIntTraits<PTs...>>, 162 0, PTs...> { 168 using First = typename pointer_union_detail::GetFirstType<PTs...>::type; 185 constexpr int Index = pointer_union_detail::TypeIndex<T, PTs...>::Index; 185 constexpr int Index = pointer_union_detail::TypeIndex<T, PTs...>::Index; 194 template <typename T> T get() const { 196 return PointerLikeTypeTraits<T>::getFromVoidPointer(this->Val.getPointer()); 201 template <typename T> T dyn_cast() const { 202 if (is<T>()) 203 return get<T>(); 248 bool operator!=(PointerUnion<PTs...> lhs, PointerUnion<PTs...> rhs) { 248 bool operator!=(PointerUnion<PTs...> lhs, PointerUnion<PTs...> rhs) {tools/clang/include/clang/AST/APValue.h
48 static TypeInfoLValue getFromOpaqueValue(void *Value) { 49 TypeInfoLValue V; 88 static void *getAsVoidPointer(clang::TypeInfoLValue V) { 91 static clang::TypeInfoLValue getFromVoidPointer(void *P) { 92 return clang::TypeInfoLValue::getFromOpaqueValue(P); 139 typedef llvm::PointerUnion<const ValueDecl *, const Expr *, TypeInfoLValue, 148 static LValueBase getTypeInfo(TypeInfoLValue LV, QualType TypeInfo); 151 bool is() const { return Ptr.is<T>(); } 157 T dyn_cast() const { return Ptr.dyn_cast<T>(); } 157 T dyn_cast() const { return Ptr.dyn_cast<T>(); }tools/clang/lib/AST/APValue.cpp
36 1 << llvm::PointerLikeTypeTraits<TypeInfoLValue>::NumLowBitsAvailable <= 53 APValue::LValueBase APValue::LValueBase::getTypeInfo(TypeInfoLValue LV, 62 return (is<TypeInfoLValue>() || is<DynamicAllocLValue>()) ? 0 67 return (is<TypeInfoLValue>() || is<DynamicAllocLValue>()) ? 0 : Local.Version; 85 if (LHS.is<TypeInfoLValue>()) 128 if (Base.is<TypeInfoLValue>() || Base.is<DynamicAllocLValue>()) 551 else if (TypeInfoLValue TI = Base.dyn_cast<TypeInfoLValue>()) { 551 else if (TypeInfoLValue TI = Base.dyn_cast<TypeInfoLValue>()) { 582 } else if (TypeInfoLValue TI = Base.dyn_cast<TypeInfoLValue>()) { 582 } else if (TypeInfoLValue TI = Base.dyn_cast<TypeInfoLValue>()) {tools/clang/lib/AST/ExprConstant.cpp
96 if (B.is<TypeInfoLValue>()) 1872 if (B.is<TypeInfoLValue>() || B.is<DynamicAllocLValue>()) 7538 TypeInfoLValue TypeInfo; 10115 } else if (Base.is<TypeInfoLValue>()) { 10183 } else if (B.is<TypeInfoLValue>()) {tools/clang/lib/CodeGen/CGExprConstant.cpp
1890 if (TypeInfoLValue TI = base.dyn_cast<TypeInfoLValue>()) { 1890 if (TypeInfoLValue TI = base.dyn_cast<TypeInfoLValue>()) {