diff options
author | Friedemann Kleint <[email protected]> | 2025-04-16 08:17:53 +0200 |
---|---|---|
committer | Friedemann Kleint <[email protected]> | 2025-04-16 10:05:21 +0200 |
commit | 05d93c39c0a345aba57d23425f005af9ecbfe1b4 (patch) | |
tree | 03a15db71c78fee2566acbfc60c6cca21a0b14e1 /sources/shiboken6 | |
parent | 0c08eb314e613af50ce90bfc4e842a50da2cbf9f (diff) |
shiboken6: Fix invalid function parameters caused by lambdas in inline code
Exclude all expressions and statements.
Fixes: PYSIDE-3081
Pick-to: 6.9 6.8
Change-Id: I6178624ad7415b6320b7e86b9a10d4869fc1c687
Reviewed-by: Shyamnath Premnadh <[email protected]>
Diffstat (limited to 'sources/shiboken6')
-rw-r--r-- | sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp b/sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp index e5f82adab..6a2ae9128 100644 --- a/sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp +++ b/sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp @@ -935,6 +935,12 @@ static QString enumType(const CXCursor &cursor) BaseVisitor::StartTokenResult Builder::startToken(const CXCursor &cursor) { + // Skip inline code + if ((cursor.kind >= CXCursor_FirstExpr && cursor.kind <= CXCursor_LastExpr) + || (cursor.kind >= CXCursor_FirstStmt && cursor.kind <= CXCursor_LastStmt)) { + return Skip; + } + switch (cursor.kind) { case CXCursor_CXXAccessSpecifier: d->m_currentFunctionType = CodeModel::Normal; @@ -1035,8 +1041,6 @@ BaseVisitor::StartTokenResult Builder::startToken(const CXCursor &cursor) case CXCursor_FriendDecl: d->m_withinFriendDecl = true; break; - case CXCursor_CompoundStmt: // Function bodies - return Skip; case CXCursor_Constructor: case CXCursor_Destructor: // Note: Also use clang_CXXConstructor_is..Constructor? case CXCursor_CXXMethod: |