diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-09-30 11:15:21 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-09-30 15:22:16 +0200 |
| commit | 50d0c3c94ff66c104de269f09c08109eb9d0eb3a (patch) | |
| tree | ff37a79ed5b6c353181e435ef309fb5f06d7251a /sources/shiboken6/ApiExtractor/modifications.cpp | |
| parent | a4ee46632e19d9031dab36ac33bf78c3a8e7d35b (diff) | |
shiboken6: Match function modifications by unresolved signature as well
Store the unresolved signature from the code model as an additional
field in AbstractMetaFunction. Add a function modificationSignatures()
to return a list of signatures to be matched against the
modifications.
[ChangeLog][shiboken6] The signatures for function modifications now
also allow for specifying unresolved types.
Change-Id: I258c4ff2ddf87542098568ee01ca4f444afd05ce
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/modifications.cpp')
| -rw-r--r-- | sources/shiboken6/ApiExtractor/modifications.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sources/shiboken6/ApiExtractor/modifications.cpp b/sources/shiboken6/ApiExtractor/modifications.cpp index b0b5881fb..5cc8b00f4 100644 --- a/sources/shiboken6/ApiExtractor/modifications.cpp +++ b/sources/shiboken6/ApiExtractor/modifications.cpp @@ -579,11 +579,16 @@ void FunctionModification::setAllowThread(FunctionModification::AllowThread allo d->m_allowThread = allow; } -bool FunctionModification::matches(const QString &functionSignature) const +bool FunctionModification::matches(const QStringList &functionSignatures) const { - return d->m_signature.isEmpty() - ? d->m_signaturePattern.match(functionSignature).hasMatch() - : d->m_signature == functionSignature; + if (!d->m_signature.isEmpty()) + return functionSignatures.contains(d->m_signature); + + for (const auto &s : functionSignatures) { + if (d->m_signaturePattern.match(s).hasMatch()) + return true; + } + return false; } bool FunctionModification::setSignature(const QString &s, QString *errorMessage) |
