diff options
-rw-r--r-- | shibokengenerator.cpp | 78 | ||||
-rw-r--r-- | shibokengenerator.h | 2 |
2 files changed, 8 insertions, 72 deletions
diff --git a/shibokengenerator.cpp b/shibokengenerator.cpp index 6821c709d..db73507ca 100644 --- a/shibokengenerator.cpp +++ b/shibokengenerator.cpp @@ -732,58 +732,6 @@ void ShibokenGenerator::writeArgumentNames(QTextStream &s, } } -AbstractMetaFunctionList ShibokenGenerator::queryGlobalOperators(const AbstractMetaClass *metaClass) -{ - AbstractMetaFunctionList result; - - foreach (AbstractMetaFunction *func, metaClass->functions()) { - if (func->isInGlobalScope() && func->isOperatorOverload()) - result.append(func); - } - return result; -} - -AbstractMetaFunctionList ShibokenGenerator::queryFunctions(const AbstractMetaClass *metaClass, bool allFunctions) -{ - AbstractMetaFunctionList result; - - if (allFunctions) { - int defaultFlags = AbstractMetaClass::NormalFunctions | AbstractMetaClass::Visible; - defaultFlags |= metaClass->isInterface() ? 0 : AbstractMetaClass::ClassImplements; - - // Constructors - result = metaClass->queryFunctions(AbstractMetaClass::Constructors - | defaultFlags); - - // put enum constructor first to avoid conflict with int contructor - result = sortConstructor(result); - - // Final functions - result += metaClass->queryFunctions(AbstractMetaClass::FinalInTargetLangFunctions - | AbstractMetaClass::NonStaticFunctions - | defaultFlags); - - //virtual - result += metaClass->queryFunctions(AbstractMetaClass::VirtualInTargetLangFunctions - | AbstractMetaClass::NonStaticFunctions - | defaultFlags); - - // Static functions - result += metaClass->queryFunctions(AbstractMetaClass::StaticFunctions | defaultFlags); - - // Empty, private functions, since they aren't caught by the other ones - result += metaClass->queryFunctions(AbstractMetaClass::Empty - | AbstractMetaClass::Invisible - | defaultFlags); - // Signals - result += metaClass->queryFunctions(AbstractMetaClass::Signals | defaultFlags); - } else { - result = metaClass->functionsInTargetLang(); - } - - return result; -} - void ShibokenGenerator::writeFunctionCall(QTextStream& s, const AbstractMetaFunction* func, Options options) const @@ -797,31 +745,21 @@ void ShibokenGenerator::writeFunctionCall(QTextStream& s, AbstractMetaFunctionList ShibokenGenerator::filterFunctions(const AbstractMetaClass* metaClass) { - AbstractMetaFunctionList lst = queryFunctions(metaClass, true); - foreach (AbstractMetaFunction *func, lst) { + AbstractMetaFunctionList result; + foreach (AbstractMetaFunction *func, metaClass->functions()) { //skip signals if (func->isSignal() || func->isDestructor() #ifndef AVOID_PROTECTED_HACK - || (func->isModifiedRemoved() && !func->isAbstract())) + || (func->isModifiedRemoved() && !func->isAbstract())) { #else - || (func->isModifiedRemoved() && !func->isAbstract() && !func->isProtected())) + || (func->isModifiedRemoved() && !func->isAbstract() && !func->isProtected())) { #endif - lst.removeOne(func); - } - - //virtual not implemented in current class - AbstractMetaFunctionList virtualLst = metaClass->queryFunctions(AbstractMetaClass::VirtualFunctions); - foreach (AbstractMetaFunction* func, virtualLst) { - if ((func->implementingClass() != metaClass) && !lst.contains(func)) - lst.append(func); + continue; + } + result << func; } - - //append global operators - lst += queryGlobalOperators(metaClass); - - return lst; - //return metaClass->functions(); + return result; } void ShibokenGenerator::writeCodeSnips(QTextStream& s, diff --git a/shibokengenerator.h b/shibokengenerator.h index 9b007202e..faf5546a7 100644 --- a/shibokengenerator.h +++ b/shibokengenerator.h @@ -293,13 +293,11 @@ protected: */ static void initPrimitiveTypesCorrespondences(); - AbstractMetaFunctionList queryFunctions(const AbstractMetaClass* metaClass, bool allFunction = false); void writeFunctionCall(QTextStream& s, const AbstractMetaFunction* metaFunc, Options options = NoOption) const; AbstractMetaFunctionList filterFunctions(const AbstractMetaClass* metaClass); - AbstractMetaFunctionList queryGlobalOperators(const AbstractMetaClass* metaClass); private: bool m_useCtorHeuristic; bool m_usePySideExtensions; |