aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/ApiExtractor/parser/codemodel.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-02-12 14:17:55 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-02-17 15:16:15 +0100
commit5fcbb17760d9ddf0a1e39c40baeaf28df9a4bb5e (patch)
tree3a59f0fda60e5b0cd671a0fc163772e6ab78582a /sources/shiboken6/ApiExtractor/parser/codemodel.cpp
parent1a53685c10dc3dab972a42fe02166ff0349320f4 (diff)
shiboken6: Improve detection of default/copy constructability
Add support for deleted functions. Extend the checks for default constructability by checks for fields and base classes. Refactor the check for copy constructability to recursively check on base classes. Remove functionality for adding private copy constructors which was apparently unused. Change-Id: I8105f277699d6121aa8aa193d9cb16bf8133e901 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/parser/codemodel.cpp')
-rw-r--r--sources/shiboken6/ApiExtractor/parser/codemodel.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/sources/shiboken6/ApiExtractor/parser/codemodel.cpp b/sources/shiboken6/ApiExtractor/parser/codemodel.cpp
index 2621838fe..8a4ab153b 100644
--- a/sources/shiboken6/ApiExtractor/parser/codemodel.cpp
+++ b/sources/shiboken6/ApiExtractor/parser/codemodel.cpp
@@ -784,6 +784,12 @@ void _FunctionModelItem::setVariadics(bool isVariadics)
m_isVariadics = isVariadics;
}
+bool _FunctionModelItem::isDefaultConstructor() const
+{
+ return m_functionType == CodeModel::Constructor
+ && (m_arguments.isEmpty() || m_arguments.constFirst()->defaultValue());
+}
+
bool _FunctionModelItem::isNoExcept() const
{
return m_exceptionSpecification == ExceptionSpecification::NoExcept;