Lines Matching refs:Qualifiers
2139 ASTContext::getExtQualType(const Type *baseType, Qualifiers quals) const {
2174 // If we are composing extended qualifiers together, merge together
2189 Qualifiers::GC GCAttr) const {
2202 // If we are composing extended qualifiers together, merge together
2391 // qualifiers (if any) are those specified within the [ and ] of
2585 // If the element type isn't canonical or has qualifiers, this won't
2735 // Apply the top-level qualifiers from the original.
2750 // Be sure to pull qualifiers off the element type.
2817 // Apply qualifiers from the element type to the array.
2850 // qualifiers off the element type.
3015 (T.getObjCLifetime() == Qualifiers::OCL_None ||
3016 T.getObjCLifetime() == Qualifiers::OCL_ExplicitNone);
3023 // Canonical result types do not have ARC lifetime qualifiers.
3025 Qualifiers Qs = CanResultType.getQualifiers();
3778 // If both the right and left sides have qualifiers.
3822 // If both the right and left sides have qualifiers.
4118 // Push qualifiers into arrays, and then discard any remaining
4119 // qualifiers.
4136 Qualifiers &quals) {
4156 // If that didn't change the element type, AT has no qualifiers, so we
4164 // Otherwise, add in the qualifiers from the outermost type, then
4196 /// qualifiers on T1 and T2 are ignored. This function will typically
4451 // Apply any qualifiers from the array type to the element type. This
4453 // any type qualifiers, the element type is so qualified, not the array type."
4455 // If we get here, we either have type qualifiers on the type, or we have
4456 // sugar such as a typedef in the way. If we have type qualifiers on the type
4460 Qualifiers qs = split.Quals;
4467 // Otherwise, we have an array and we have qualifiers on it. Push the
4468 // qualifiers into the array element type and return a new array type.
4513 // cv-qualifiers from the static type of the operand of throw and adjusting
4531 // of type qualifiers from the array type into the element type if present
4547 Qualifiers qs;
4757 Qualifiers::ObjCLifetime ASTContext::getInnerObjCOwnership(QualType T) const {
4759 if (T.getObjCLifetime() != Qualifiers::OCL_None)
4771 return Qualifiers::OCL_None;
4969 Qualifiers qs = Ty.getQualifiers();
4972 if (Qualifiers::ObjCLifetime lifetime = qs.getObjCLifetime()) {
4974 case Qualifiers::OCL_None: llvm_unreachable("impossible");
4977 case Qualifiers::OCL_ExplicitNone:
4978 case Qualifiers::OCL_Autoreleasing:
4983 case Qualifiers::OCL_Weak:
4985 case Qualifiers::OCL_Strong:
4995 Qualifiers::ObjCLifetime &LifeTime,
5005 LifeTime = Qualifiers::OCL_None;
5007 // Honor the ARC qualifiers.
5010 LifeTime = Qualifiers::OCL_ExplicitNone;
5012 LifeTime = Qualifiers::OCL_None;
5735 // Ignore protocol qualifiers when mangling at this level.
5765 // FIXME: Consider if we need to output qualifiers for 'Class<p>'.
6620 Qualifiers::GC ASTContext::getObjCGCAttrKind(QualType Ty) const {
6622 return Qualifiers::GCNone;
6625 Qualifiers::GC GCAttrs = Ty.getObjCGCAttr();
6630 if (GCAttrs == Qualifiers::GCNone) {
6632 return Qualifiers::Strong;
6752 // If there are no qualifiers and no interface, we have an 'id'.
6755 // Both the right and left sides have qualifiers.
6794 // If both the right and left sides have qualifiers.
6844 /// protocol qualifiers on the LHS or RHS.
6865 // Strip off __kindof and protocol qualifiers, then check whether
6910 // Strip off __kindof and protocol qualifiers, then check whether
6974 // Start with the protocol qualifiers.
6985 // Start with the protocol qualifiers.
7208 // If the LHS has protocol qualifiers, determine whether all of them are
7219 // qualifiers.
7544 // If the qualifiers are different, the types aren't compatible... mostly.
7545 Qualifiers LQuals = LHSCan.getLocalQualifiers();
7546 Qualifiers RQuals = RHSCan.getLocalQualifiers();
7548 // If any of these qualifiers are different, we have a type
7560 Qualifiers::GC GC_L = LQuals.getObjCGCAttr();
7561 Qualifiers::GC GC_R = RQuals.getObjCGCAttr();
7564 if (GC_L == Qualifiers::Weak || GC_R == Qualifiers::Weak)
7567 if (GC_L == Qualifiers::Strong && RHSCan->isObjCObjectPointerType()) {
7568 return mergeTypes(LHS, getObjCGCQualType(RHS, Qualifiers::Strong));
7570 if (GC_R == Qualifiers::Strong && LHSCan->isObjCObjectPointerType()) {
7571 return mergeTypes(getObjCGCQualType(LHS, Qualifiers::Strong), RHS);
7576 // Okay, qualifiers are equal.
7846 // If the qualifiers are different, the types can still be merged.
7847 Qualifiers LQuals = LHSCan.getLocalQualifiers();
7848 Qualifiers RQuals = RHSCan.getLocalQualifiers();
7850 // If any of these qualifiers are different, we have a type mismatch.
7860 Qualifiers::GC GC_L = LQuals.getObjCGCAttr();
7861 Qualifiers::GC GC_R = RQuals.getObjCGCAttr();
7864 if (GC_L == Qualifiers::Weak || GC_R == Qualifiers::Weak)
7867 if (GC_L == Qualifiers::Strong)
7869 if (GC_R == Qualifiers::Strong)