aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix some clang-tidy warnings in shibokenFriedemann Kleint2018-07-231-46/+39
| | | | | | | | | | | | | | | | | - 'else if' after return/break/continue - Use const ref for complex arguments passed by value where possible - Fix 'if (foo) delete foo' to 'delete foo' - Use container.isEmpty() instead of container.size() in checks - Use ' = default' for trivial constructors/destructors - Use range based for where possible - Complete constructor initializer lists - Fix invocations of static methods - Replace some reinterpret_cast by static_cast - Remove unused variables/fields - Use initializer lists for return types Change-Id: Id5b44a2f9d429f66ef069d532a1cd31df796d38e Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Add comparison to AbstractMetaTypeFriedemann Kleint2018-07-231-8/+2
| | | | | | | | | | | Extend the existing rudimentary comparison function from the meta builder and provide comparison operators. This will be useful for later refactorings. Task-number: PYSIDE-672 Change-Id: I793656a733db676d9bc3ab8910869e50274f6a79 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Fix Clang warningsFriedemann Kleint2018-07-121-5/+7
| | | | | | | | | | | | - Add Q_FALLTHROUGH() - Fix warnings about passing messages as format to qFatal() - Fix warnings about old-style casts - Fix warnings about comma operator - Fix warning about unreachable return Change-Id: Iaf31259c0f8156204f4d10ee0e594b89abbba5d3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Move detection of template arguments to ClangBuilderFriedemann Kleint2018-07-111-16/+5
| | | | | | | | | | | | | | | | Obtain the template arguments from Clang and fall back to parsing the type name where this is not possible (which may be the case inside a template declaration). The string-based formatting and re-parsing of the type in AbstractMetaBuilder::translateType() can then be removed, opening the way to passing up more complex types from Clang into the MetaBuilder. Task-number: PYSIDE-672 Change-Id: I43ff285c5f3720319bf40c65b1c27302ef1b934e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Improve support for volatileFriedemann Kleint2018-07-111-0/+2
| | | | | | | | | | | Previously, the volatile keyword ended up as a part of the qualified type name while parsing in translateType(). Add the token to TypeParser and add it to AbstractMetaType. Task-number: PYSIDE-672 Change-Id: I553ea1b35e7e99ffde4442471b82e32be84731ba Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Introduce enumeration for C++ indirectionsFriedemann Kleint2018-07-111-3/+3
| | | | | | | | | | | Replace the int "indirections" field of TypeInfo and AbstractMetaType by a Vector of an enumeration representing '*' and "* const". It is then possible distinguish between "int *" and "int *const". Task-number: PYSIDE-672 Change-Id: I68677fa515abb7e94217fc1c2b6ac28b42678284 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Improve error messages when rejecting functionsFriedemann Kleint2018-07-111-28/+12
| | | | | | | | | | | Pass up errors from translateType() to traverseFunction(). Remove the check for void type parameters since that is not needed any more after 50dd4ae202d7afb3556335c056db003f5ef50532. Task-number: PYSIDE-672 Change-Id: I82c095f027196361200b8854139b4bbc1fcc38c8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Streamline type parsingFriedemann Kleint2018-07-111-21/+109
| | | | | | | | | | | | | | | | Extract a static AbstractMetaType *AbstractMetaBuilder::translateType() method from the existing AbstractMetaBuilderPrivate::translateType() which can be passed the current class. Internally, add a AbstractMetaBuilderPrivate::translateTypeStatic() method that takes AbstractMetaBuilderPrivate parameter. Use that in conjunction with the TypeParse code to remove the type parsing code in ShibokenGenerator::buildAbstractMetaTypeFromString(). Task-number: PYSIDE-672 Change-Id: Ia17f0eb542099dcb843a59708110fc9d90fab12f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Add instantiations to TypeInfoFriedemann Kleint2018-07-111-6/+7
| | | | | | | | | | | | | | | | | When streamlining the typeinfo structs in 7f798dfc9fc6e3e9756f06f0fedc821e16f1320a, the parser was wrongly changed to use TypeInfo::m_arguments for template instantiations. This field is intented for function pointer arguments (which the parser does not support). Add a new TypeInfo::m_instantiations (matching AbstractMetaType::m_instantiations) for templates, support it in the type parser and to the toString() method. This allows to remove the mysterious TypeInfo::instantiationName() method. Task-number: PYSIDE-672 Change-Id: I705b26d65988ebfb837e8323941076b4fb37d120 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Friedemann Kleint2018-07-061-1/+1
|\ | | | | | | refs/staging/dev
| * shiboken: Fix handling of deleted functionsFriedemann Kleint2018-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | Check the cursor availability to detect deleted functions. This fixes the build of the Qt 5.12 API, which for the first time has a Q_DISABLE(QCBorStreamReader) in a public section, causing a copy constructor to be reported. Task-number: PYSIDE-487 Change-Id: I31ba0103cf612a4238c0e282ffcfeeab29df97d1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Add debug output for the function signaturesFriedemann Kleint2018-07-061-5/+10
|/ | | | | | | | This helps to write the signatures for modifications and rejections. Change-Id: I89f6152d48175708d520312412829877ab49d7ff Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Remove code fixing template argumentsFriedemann Kleint2018-06-301-78/+2
| | | | | | | | | | | | | | | Pre-dating the Clang-parser, there is code that tries to fix template parameter in template class declarations, for example copy constructors like: "QList(const QList &)" -> "QList(const QList<T> &)" The code no longer triggers since Clang always provides the parameters, so, remove it. Task-number: PYSIDE-672 Change-Id: I15949d71fa4391e7088fe0e29a1821487ced2105 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Remove unused code from the generatorsFriedemann Kleint2018-06-281-16/+0
| | | | | Change-Id: I88c4148000acba2ba1e2013fe587e7f5fbe6c2ca Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: No longer hard-code the C++ language levelFriedemann Kleint2018-06-271-3/+11
| | | | | | | | | | | | | | | | | | | The C++ language level was previously hard-coded in the default options. This is potentially problematic for projects using shiboken and also fell apart with Qt 5.12, where the experimental level "c++1z" used for MSVC2017/Clang 4 no longer works due to not being able to handle enumerator value deprecation attributes. Introduce an enumeration to represent the level and add functions to convert back to and forth to the respective Clang option. Add an option to shiboken. Add a function returning a default value for the emulated compiler, returning C++ 14 or C++1Z for the CMSVC2017/Clang 4 case. Task-number: PYSIDE-724 Change-Id: Ie7e19bf7f099a34e6cdaad4b462157a9a3ee8797 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Add error handling to added functionsFriedemann Kleint2018-06-221-2/+17
| | | | | | | Add some handling in case an argument type cannot be parsed. Change-Id: Ib901d023ed60f74fe82a06d8c08fd704f1350a7a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Improve error message about missing function for modificationFriedemann Kleint2018-06-221-3/+10
| | | | | | | | | The signature is passed through TypeDatabase::normalizedSignature() which calls QMetaObject::normalizedSignature(). Keep the original signature and output it in the error message. Change-Id: Ibd1ddd0dee17d828710caf4bf6d674c35776b4c2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Streamline the type parsing codeFriedemann Kleint2018-06-011-54/+46
| | | | | | | | | | | | | | Replace struct TypeParser::Info by TypeInfo and remove TypeParser::Info. Move method TypeParser::Info::instantiationName() to TypeInfo for this purpose. Change TypeParser::parse() to return TypeInfo. Task-number: QTBUG-672 Change-Id: I123d5bf378ad146867b571e47e31ae08a92b2504 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* PEP 384-squash: Implement PEP 384Christian Tismer2018-05-301-1/+1
| | | | | | | | | | This is the condensed checkin of 18 commits which created the implementation of PEP 384. Task-number: PYSIDE-560 Change-Id: I834c659af4c2b55b268f8e8dc4cfa53f02502409 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Streamline the type parsing codeFriedemann Kleint2018-05-301-93/+42
| | | | | | | | | | | | | | | | | | | | | | - Remove bool *ok-parameter from AbstractMetaBuilderPrivate::translateType() It was only used to handle the special case of void return values of functions where translateType() returned nullptr/ok = true. Add a check TypeInfo::isVoid for this purpose and move this handling to traverseFunction instead. For all other cases, translateType() returning nullptr means failure. - Remove the code triggered by the bool resolveScope parameter of AbstractMetaBuilderPrivate::translateType(). It has been observed to not find any matches, likely due to the types being fully qualified by Clang. - Remove function AbstractMetaBuilderPrivate::decideUsagePattern() which was a one-liner calling AbstractMetaType::decideUsagePattern() Task-number: PYSIDE-672 Change-Id: I0336896917cb914d4d622eefa0a21e6e319efa0f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Improve error messages for rejected functionsFriedemann Kleint2018-05-161-11/+29
| | | | | | | | | Add a warning explaining that a rejected abstract function will cause compilation errors later on. Change-Id: Ibcad7d79df719b0ffbaf59a0ef9eec6f22aea2ed Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Change license from all the filesCristian Maureira-Fredes2018-05-031-1/+1
| | | | | | | | | | | | | | | | | Removing the word 'project' from all the headers, and changing the PySide reference from the examples to Qt for Python: The following line was used inside the source/ and build_scripts/ directory: for i in $(grep -r "the Qt for Python project" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/the\ Qt\ for\ Python\ project/Qt\ for\ Python/g' $i;done and the following line was used inside the examples/ directory: for i in $(grep -r "of the PySide" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/of\ the\ PySide/of\ the\ Qt\ for\ Python/g' $i;done Change-Id: Ic480714686ad62ac4d81c670f87f1c2033d4ffa1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Rename PySide references to Qt for PythonCristian Maureira-Fredes2018-04-271-1/+1
| | | | | | | | | When referring to the project one should use "Qt for Python" and for the module "PySide2" Change-Id: I36497df245c9f6dd60d6e160e2fc805e48cefcae Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Strip parameters of invalid type with a default value expressionFriedemann Kleint2018-04-231-1/+15
| | | | | | | | | | | | | | | | For example for: void QWebEnginePage::findText(const QString &subString, FindFlags options = FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>()) the resultCallback will be removed and a binding for void QWebEnginePage::findText(const QString &subString, FindFlags options) generated. Task-number: PYSIDE-487 Change-Id: I6299d1735ad6c00e257daecb64d8f2f235140a98 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Use enum values from ClangFriedemann Kleint2018-04-191-213/+14
| | | | | | | | | | | | | | Remove a lot of ugly value parsing code in favor of clang_getEnumConstantDeclValue() and clang_getEnumConstantDeclUnsignedValue() depending on the type. Introduce a class EnumValue containing a union of qint64 and quint64 values to represent signed/unsigned values correctly and use that in the code model and meta language classes. Change-Id: If2efb7cfd560237907678b8f6fdfb0bc689c0c93 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Detect class enums by Clang entirelyFriedemann Kleint2018-04-191-1/+2
| | | | | | | | | | | | | | The Clang function clang_EnumDecl_isScoped() tells whether an enum is a class, so, there is no need to specify that in the typesystem. Use that information to pass it up to the metalang classes and revert the parts of 44cb6c51e6c3b43376f284941454dc8c13b81c3f that added it to the type system. Task-number: PYSIDE-487 Change-Id: Ie10885f74168821d0307e91b6f1f7f3f30dd074b Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* siboken/Typesystem: Replace double used for versions by QVersionNumberFriedemann Kleint2018-03-201-6/+5
| | | | | | | | | | | | | - Change TypeSystemEntry::m_version from double to QVersionNumber. - Determine version at the beginning of the start element processing of the parser and use that. - Remove AddedFunction::m_version which is not needed. - Remove unused parameter double vr from AbstractMetaBuilderPrivate::translateType(). Change-Id: I2941667ba565f8c11aa0c14446ec7d6934da99dc Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Refactor finding of enumerationsFriedemann Kleint2018-02-231-6/+3
| | | | | | | | | | | | | | | - Add helper AbstractMetaEnum::findEnumValue() which finds unqualified as well as qualified enum values. - Remove unused function bstractMetaClass::findEnumForValue(QString). - Remove 2nd parameter from AbstractMetaClass::findEnumValue(QString, AbstractMetaEnum *). The comment claimed that it is excluded from the search, but the condition was the reverse. Just removing it apparently does not do harm. Task-number: PYSIDE-487 Change-Id: I32b036045ea335b805fba79df327cc42d787f18c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Reduce number of warnings when running shiboken on a custom moduleAlexandru Croitor2018-02-221-8/+18
| | | | | | | | | | | | | | | | | | | | | Running shiboken on a custom XML file (like the scriptableapplication example) would show tons of warnings about not being able to find certain types or enums or other things inside Qt modules. For scriptableapplication that was the case, because the wrappedclasses.h file would only include the <QMainWindow> header file, and not the rest of QtWidgets / QtGui headers, which means that shiboken found types declared in XML files, but could not find the actual declarations inside the preprocessed header file. This change adds some additional conditions so that warnings are not printed when a typesystem file is loaded with the generate="no" attribute, because no C++ code will actually be generated for types defined inside such a typesystem file. Task-number: PYSIDE-587 Change-Id: I1f166483c2f343796e08d3142e5e296c4ee43f27 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: replace first()/last() by constFirst/constLast()Friedemann Kleint2018-01-171-9/+9
| | | | | | | | Fix clazy warnings about possibly detaching containers. Change-Id: I3c3a229de5e0c71f17c1f26273e1b0be3b0d7e81 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Fix some clazy warningsFriedemann Kleint2018-01-171-9/+5
| | | | | | | | | | | | - Mixing const/non-const iterators - Do not use operator[] on temporaries of type QVector - Remove unused nontrivial variables - Add Q_FALLTHROUGH() - Potential detach in range-based for Change-Id: I89391fdda616f119eadd7de529eb6cee69343f85 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove attributes Final and FinalInCppFriedemann Kleint2017-12-211-12/+9
| | | | | | | | | | Apparently, the meaning of FinalInCpp for functions was "virtual and not private". The previous code cleanup removed most uses of them. For the remaining cases, checking for virtual is sufficient. Change-Id: I6f794e36b99920af36fd0eba895be673dc35d9dd Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/AbstractMetaBuilder: Remove create* functionsFriedemann Kleint2017-12-091-50/+15
| | | | | | | | There are no classes deriving from AbstractMetaBuilder, so there is no need to have virtual creation functions. Change-Id: I2d4c494ac6b0a17ceea71939a1f07a49a369df73 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Stop using the FinalInCpp attribute for classesFriedemann Kleint2017-12-091-3/+6
| | | | | | | | | | | | | | | Besides its use for functions, the FinalInCpp attribute was used for classes meaning something like neither the class nor its derived classes can be constructed due to presence of private destructors and absence of non-private constructors. Since 'final' is now a reserved word in C++ 11, this becomes confusing. Remove the usage of the attribute for classes, add a bit field indicating presence of a private constructors and a new function isConstructible() instead. Change-Id: Ieb2f9943c21511e4f59d228885361e3ad66fb266 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken/MetaLang: Add information about override/finalFriedemann Kleint2017-12-021-1/+11
| | | | | | | Take over information from code model and test. Change-Id: Ibed2973e09b117966ed241798125f60ba337b0e9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken/AbstractMetaAttributes: Remove some unused attributesFriedemann Kleint2017-12-011-3/+0
| | | | | | | Remove Native, FinalOverload, InterfaceFunction, Fake. Change-Id: I1232751169fafb144387343857a962bafee714e9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* CodeModel: Handle access of inherited classesFriedemann Kleint2017-09-251-10/+18
| | | | | | | | | | | | | | Store the access of the base class in the code model. Remove protected/private base classes in the abstract meta builder as otherwise invalid code will be generated for classes like QAbstract3DGraph : public QWindow, protected QOpenGLFunctions when the protected hack is not in use (on Windows). Task-number: PYSIDE-487 Change-Id: I5bc2dad16f903da86e6e41450c2f9a76726ac028 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken2: Make message about unmatched functions more verboseFriedemann Kleint2017-09-041-2/+23
| | | | | | | | List all member functions if a candidate cannot be found (spelling error or similar). Change-Id: I86ca1556078051d2fc1f78f2091f5176f2a65423 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* FunctionModification: Make it possible to specify a regular expressionFriedemann Kleint2017-08-291-3/+4
| | | | | | | | | It should make it easier to specify the <array> modifications for GL functions. Task-number: PYSIDE-516 Change-Id: Ieb2e540f61785d13ee46a196a18d03b311d308e1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix the chain of issues regarding QSslConfigurationAlexandru Croitor2017-08-241-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | The failure was seen on Windows CI build, but was actually present on all platforms if the QSsl checks were properly fixed, or if certain CMake versions randomly decided to force C++11 usage. The first issue was that QSsl wrappers were not generated on all platforms because the C++11 standard was not forced for the compilation tests done in the check_qt_class macro. This is a bug in CMake, and the official way of fixing this is introduced in the yet unreleased CMake 3.9 version. The current fix is a workaround to explicitly pass the C++11 standard switch to the try_compile invocation. The next issue concerns handling of const char[] C++ types. There are three such members in QSslConfiguration, which caused build failures due to incorrectly generated code. The solution is to treat "const char[]" types as "const char*" types, which generates correct conversion code. Tests were also added to check for such cases. Change-Id: I874a3591dfc5f385338de7e3aff2a2c0dd2f5719 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Shiboken2: Add an index check for the <array> modificationFriedemann Kleint2017-08-221-1/+6
| | | | | | | | | Amends change 1578d14d1693122d4bcacede0d77527d8e898629. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I50e5d0762f1b049a511c62f8aa8d08da4cb563d9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add new <array> argument modification indicating array usageFriedemann Kleint2017-08-031-6/+46
| | | | | | | | | | | | The modification can be used to indicate that for example int* is meant to be used as int[]. This is reflected in the NativePointerAsArrayPattern usage pattern of AbstractMetaType. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: Icaeb3cce4be9ce06caa2cab628d4e8fc1b684819 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Shiboken: No longer change arrays[] to pointer typesFriedemann Kleint2017-08-031-33/+24
| | | | | | | | | | In AbstractMetaBuilder, no longer change array types like "int[]" to "int*". Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: Ia9e15ae3fca895bf179275eb31a94323d91f4941 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove AbstractMetaFunction::invalid()Friedemann Kleint2017-05-291-18/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change AbstractMetaBuilderPrivate::traverseFunction() to consistently return 0 if something does not fit. Previously, functions with half-parsed arguments with the invalid flag set were returned. This caused strange side effects since the flag was not checked in all places. The only relevant information is whether some constructors were rejected. In that case, no default constructors or default copy constructors should be generated. This is now determined by checking the code model function item; the attribute HasRejectConstructor is introduced for this. This fixes: - Make it possible to reject the QTextStreamManipulator constructor taking a function pointer without having a default constructor generated: typedef void (QTextStream::*QTSMFI)(int); QTextStreamManipulator(QTSMFI m, int a) Q_DECL_NOTHROW - Implement QtCharts whose class QAbstractSeries has a rejected constructor. Change-Id: I6310574ba677dac20699f257340d2c2a55674353 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Use information about Constructor/Destructor functions from ClangFriedemann Kleint2017-05-291-45/+48
| | | | | | | Expand CodeModel::FunctionType accordingly. Change-Id: I2759f45e4c60f36d4583b1c475c4c2df1e00ace6 Reviewed-by: Christian Tismer <tismer@stackless.com>
* move everying into sources/shiboken2 (5.9 edition)Oswald Buddenhagen2017-05-221-0/+3459
in preparation for a subtree merge. this should not be necessary to do in a separate commit, but git is a tad stupid about following history correctly without it.