[sipify] handle SIP_SKIP on several lines

This commit is contained in:
Denis Rouzaud 2017-04-20 14:37:22 +02:00
parent 1ab5a628df
commit f022858643
3 changed files with 14 additions and 0 deletions

View File

@ -189,6 +189,15 @@ while ($line_idx < $line_count){
# SIP_SKIP
if ( $line =~ m/SIP_SKIP/ ){
$comment = '';
# if multiline definition, remove previous lines
if ( $MULTILINE_DEFINITION == 1){
my $opening_line = '';
while ( $opening_line !~ m/^[^()]*\(([^()]*\([^()]*\)[^()]*)*[^()]*$/){
$opening_line = pop(@output);
$#output >= 0 or die 'could not reach opening definition';
}
$MULTILINE_DEFINITION = 0;
}
next;
}

View File

@ -120,6 +120,7 @@ A multiline method signature
void nonAnnotatedMethodFollowingSkip();
virtual QgsMapLayerRenderer *createMapRenderer( QgsRenderContext &rendererContext ) /Factory/;
%Docstring
Factory annotation

View File

@ -163,6 +163,10 @@ class CORE_EXPORT QgsSipifyHeader : public QtClass<QVariant>, private Ui::QgsBas
void nonAnnotatedMethodFollowingSkip();
bool myMultiLineSkipped( const QList<int, QString> &list1,
const QList<int, QString> &list2,
const QList<int, QString> &list3 ) SIP_SKIP;
//! Factory annotation
virtual QgsMapLayerRenderer *createMapRenderer( QgsRenderContext &rendererContext ) override SIP_FACTORY;