Lines Matching defs:Class
400 /// same class. This is because CastsAwayConstness doesn't care.
532 /// checked downcasts in class hierarchies.
544 // C++ 5.2.7p1: T shall be a pointer or reference to a complete class type,
579 // complete class type, [...]. If T is an lvalue reference type, v shall be
580 // an lvalue of a complete class type, [...]. If T is an rvalue reference
581 // type, v shall be an expression having a complete class type, [...]
651 // If we are casting to or through a virtual base class, we need a
754 assert(BaseRD && "Base type should be a valid unqualified class type");
757 const CXXRecordDecl *Class = IElem->Class,
758 *ClassDefinition = Class->getDefinition();
759 if (Class->isInvalidDecl() || !ClassDefinition ||
764 Self.Context.getASTRecordLayout(Class);
1127 // C++ 5.2.9p5: An lvalue of type "cv1 B", where B is a class type, can be
1128 // cast to type "reference to cv2 D", where D is a class derived from B,
1130 // exists, cv2 >= cv1, and B is not a virtual base class of D.
1162 // C++ 5.2.9p8: An rvalue of type "pointer to cv1 B", where B is a class
1164 // is a class derived from B, if a valid standard conversion from "pointer
1166 // class of D.
1201 // Downcast can only happen in class hierarchies, so we need classes.
1252 // class subobject yet.
1304 /// where B is a base class of D [...].
1486 // -- if T1 is a class type, a prvalue of type T1 can be explicitly
1499 // Cannot const_cast non-class prvalue to rvalue reference type. But if
1505 // Materialize the class prvalue so that the const_cast can bind a
1574 // This is a const_cast from a class prvalue to an rvalue reference type.