aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-04-01 15:50:10 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-04-08 08:04:16 +0000
commit967aa3a520cc19694f8952a1e857e121dbbf967b (patch)
tree2acca33fba261e70f15be88c458cf19b5a90bd5d /sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h
parente3a4eb2a96cd18a10f63e2afc97b68e95361b872 (diff)
shiboken: Remove member m_currentClass from AbstractMetaBuilderPrivate
Pass the current class as function parameter instead while traversing instead of setting and restoring m_currentClass. Change-Id: I38391dff9a52ff99593c25208e1e2bf7d98d17d6 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h')
-rw-r--r--sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h31
1 files changed, 20 insertions, 11 deletions
diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h b/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h
index 8d5b924dd..b7d4dc7bc 100644
--- a/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h
+++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder_p.h
@@ -60,14 +60,17 @@ public:
ScopeModelItem currentScope() const { return m_scopes.constLast(); }
- AbstractMetaClass *argumentToClass(const ArgumentModelItem &);
+ AbstractMetaClass *argumentToClass(const ArgumentModelItem &,
+ AbstractMetaClass *currentClass);
void addAbstractMetaClass(AbstractMetaClass *cls, const _CodeModelItem *item);
AbstractMetaClass *traverseTypeDef(const FileModelItem &dom,
- const TypeDefModelItem &typeDef);
+ const TypeDefModelItem &typeDef,
+ AbstractMetaClass *currentClass);
void traverseTypesystemTypedefs();
AbstractMetaClass *traverseClass(const FileModelItem &dom,
- const ClassModelItem &item);
+ const ClassModelItem &item,
+ AbstractMetaClass *currentClass);
void traverseScopeMembers(ScopeModelItem item, AbstractMetaClass *metaClass);
void traverseClassMembers(ClassModelItem scopeItem);
void traverseNamespaceMembers(NamespaceModelItem scopeItem);
@@ -79,24 +82,30 @@ public:
void traverseEnums(const ScopeModelItem &item, AbstractMetaClass *parent,
const QStringList &enumsDeclarations);
AbstractMetaFunctionList classFunctionList(const ScopeModelItem &scopeItem,
- AbstractMetaClass::Attributes *constructorAttributes);
+ AbstractMetaClass::Attributes *constructorAttributes,
+ AbstractMetaClass *currentClass);
AbstractMetaFunctionList templateClassFunctionList(const ScopeModelItem &scopeItem,
AbstractMetaClass *metaClass,
bool *constructorRejected);
void traverseFunctions(ScopeModelItem item, AbstractMetaClass *parent);
void applyFunctionModifications(AbstractMetaFunction* func);
void traverseFields(const ScopeModelItem &item, AbstractMetaClass *parent);
- void traverseStreamOperator(const FunctionModelItem &functionItem);
- void traverseOperatorFunction(const FunctionModelItem &item);
+ void traverseStreamOperator(const FunctionModelItem &functionItem,
+ AbstractMetaClass *currentClass);
+ void traverseOperatorFunction(const FunctionModelItem &item,
+ AbstractMetaClass *currentClass);
AbstractMetaFunction* traverseFunction(const AddedFunction &addedFunc);
AbstractMetaFunction* traverseFunction(const AddedFunction &addedFunc,
AbstractMetaClass *metaClass);
- AbstractMetaFunction *traverseFunction(const FunctionModelItem &function);
+ AbstractMetaFunction *traverseFunction(const FunctionModelItem &function,
+ AbstractMetaClass *currentClass);
AbstractMetaField *traverseField(const VariableModelItem &field,
- const AbstractMetaClass *cls);
+ AbstractMetaClass *cls);
void checkFunctionModifications();
- void registerHashFunction(const FunctionModelItem &functionItem);
- void registerToStringCapability(const FunctionModelItem &functionItem);
+ void registerHashFunction(const FunctionModelItem &functionItem,
+ AbstractMetaClass *currentClass);
+ void registerToStringCapability(const FunctionModelItem &functionItem,
+ AbstractMetaClass *currentClass);
/**
* A conversion operator function should not have its owner class as
@@ -123,6 +132,7 @@ public:
int argumentIndex);
AbstractMetaType *translateType(const AddedFunction::TypeInfo &typeInfo);
AbstractMetaType *translateType(const TypeInfo &type,
+ AbstractMetaClass *currentClass,
bool resolveType = true,
QString *errorMessage = nullptr);
static AbstractMetaType *translateTypeStatic(const TypeInfo &type,
@@ -175,7 +185,6 @@ public:
QHash<const TypeEntry *, AbstractMetaEnum *> m_enums;
- AbstractMetaClass *m_currentClass;
QList<ScopeModelItem> m_scopes;
QString m_namespacePrefix;