From dff115603e6f093f9189977e29511b53a16ec0c6 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Sat, 14 Nov 2020 17:12:54 +0100 Subject: shiboken6: Move the base class search out of the generator The code was relying on class search by string and searched the default super class as specified in the typesystem on each invocation. Make the default super class a member of AbstractMetaClass that is set by the meta builder and move the functions to AbstractMetaClass. Change-Id: I15e4f193067d09f00e7dc17aef07c14c0e969884 Reviewed-by: Christian Tismer --- sources/shiboken6/ApiExtractor/abstractmetalang.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sources/shiboken6/ApiExtractor/abstractmetalang.h') diff --git a/sources/shiboken6/ApiExtractor/abstractmetalang.h b/sources/shiboken6/ApiExtractor/abstractmetalang.h index dd35e9ee2..da4465917 100644 --- a/sources/shiboken6/ApiExtractor/abstractmetalang.h +++ b/sources/shiboken6/ApiExtractor/abstractmetalang.h @@ -193,8 +193,15 @@ public: QString baseClassName() const; + AbstractMetaClass *defaultSuperclass() const; // Attribute "default-superclass" + void setDefaultSuperclass(AbstractMetaClass *s); + AbstractMetaClass *baseClass() const; const AbstractMetaClassList &baseClasses() const; + // base classes including defaultSuperclass + AbstractMetaClassList typeSystemBaseClasses() const; + // Recursive list of all base classes including defaultSuperclass + AbstractMetaClassList allTypeSystemAncestors() const; void addBaseClass(AbstractMetaClass *base_class); void setBaseClass(AbstractMetaClass *base_class); -- cgit v1.2.3