mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
interrogate: handle implicit destructors correctly
This commit is contained in:
parent
ac0e6b5c5c
commit
e1c916cdc3
@ -1133,7 +1133,8 @@ write_class_declarations(ostream &out, ostream *out_h, Object *obj) {
|
|||||||
// to a macro function.
|
// to a macro function.
|
||||||
out << "typedef " << c_class_name << " " << class_name << "_localtype;\n";
|
out << "typedef " << c_class_name << " " << class_name << "_localtype;\n";
|
||||||
if (obj->_itype.has_destructor() ||
|
if (obj->_itype.has_destructor() ||
|
||||||
obj->_itype.destructor_is_inherited()) {
|
obj->_itype.destructor_is_inherited() ||
|
||||||
|
obj->_itype.destructor_is_implicit()) {
|
||||||
|
|
||||||
if (TypeManager::is_reference_count(type)) {
|
if (TypeManager::is_reference_count(type)) {
|
||||||
out << "Define_Module_ClassRef";
|
out << "Define_Module_ClassRef";
|
||||||
|
@ -343,6 +343,14 @@ destructor_is_inherited() const {
|
|||||||
return (_flags & F_inherited_destructor) != 0;
|
return (_flags & F_inherited_destructor) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
INLINE bool InterrogateType::
|
||||||
|
destructor_is_implicit() const {
|
||||||
|
return (_flags & F_implicit_destructor) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -82,6 +82,7 @@ public:
|
|||||||
INLINE FunctionIndex get_constructor(int n) const;
|
INLINE FunctionIndex get_constructor(int n) const;
|
||||||
INLINE bool has_destructor() const;
|
INLINE bool has_destructor() const;
|
||||||
INLINE bool destructor_is_inherited() const;
|
INLINE bool destructor_is_inherited() const;
|
||||||
|
INLINE bool destructor_is_implicit() const;
|
||||||
INLINE FunctionIndex get_destructor() const;
|
INLINE FunctionIndex get_destructor() const;
|
||||||
INLINE int number_of_elements() const;
|
INLINE int number_of_elements() const;
|
||||||
INLINE ElementIndex get_element(int n) const;
|
INLINE ElementIndex get_element(int n) const;
|
||||||
|
@ -65,7 +65,6 @@ class btPoint2PointConstraint;
|
|||||||
class btPolyhedralConvexShape;
|
class btPolyhedralConvexShape;
|
||||||
class btQuaternion;
|
class btQuaternion;
|
||||||
class btSequentialImpulseConstraintSolver;
|
class btSequentialImpulseConstraintSolver;
|
||||||
class btScalar;
|
|
||||||
class btSliderConstraint;
|
class btSliderConstraint;
|
||||||
class btSoftBodyHelpers;
|
class btSoftBodyHelpers;
|
||||||
class btSoftBodyRigidBodyCollisionConfiguration;
|
class btSoftBodyRigidBodyCollisionConfiguration;
|
||||||
@ -80,11 +79,13 @@ class btTranslationalLimitMotor;
|
|||||||
class btTriangleMesh;
|
class btTriangleMesh;
|
||||||
class btTypedConstraint;
|
class btTypedConstraint;
|
||||||
class btTypedObject;
|
class btTypedObject;
|
||||||
class btVector3;
|
|
||||||
class btVehicleRaycaster;
|
class btVehicleRaycaster;
|
||||||
|
|
||||||
template <typename T> class btAlignedObjectArray;
|
template <typename T> class btAlignedObjectArray;
|
||||||
|
|
||||||
|
struct btVector3 {};
|
||||||
|
typedef double btScalar;
|
||||||
|
|
||||||
class btWheelInfo {
|
class btWheelInfo {
|
||||||
public:
|
public:
|
||||||
class RaycastInfo;
|
class RaycastInfo;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user