mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-16 00:03:12 -04:00
[sipify] handle override method signature on several lines
This commit is contained in:
parent
8f2a5c7c00
commit
1ab5a628df
@ -338,11 +338,26 @@ while ($line_idx < $line_count){
|
|||||||
# remove keywords
|
# remove keywords
|
||||||
if ( $line =~ m/\boverride\b/){
|
if ( $line =~ m/\boverride\b/){
|
||||||
$is_override = 1;
|
$is_override = 1;
|
||||||
if ( $line !~ m/^(\s*)virtual\b(.*)$/ ){
|
|
||||||
|
# handle multiline definition to add virtual keyword on opening line
|
||||||
|
if ( $MULTILINE_DEFINITION == 1 ){
|
||||||
|
my $virtual_line = $line;
|
||||||
|
my $virtual_line_idx = $line_idx;
|
||||||
|
while ( $virtual_line !~ m/^[^()]*\(([^()]*\([^()]*\)[^()]*)*[^()]*$/){
|
||||||
|
$virtual_line_idx--;
|
||||||
|
$virtual_line = $lines[$virtual_line_idx];
|
||||||
|
$virtual_line_idx >= 0 or die 'could not reach opening definition';
|
||||||
|
}
|
||||||
|
if ( $virtual_line !~ m/^(\s*)virtual\b(.*)$/ ){
|
||||||
|
my $idx = $#output-$line_idx+$virtual_line_idx+2;
|
||||||
|
#print "len: $#output line_idx: $line_idx virt: $virtual_line_idx\n"idx: $idx\n$output[$idx]\n";
|
||||||
|
$output[$idx] = $virtual_line =~ s/^(\s*?)\b(.*)$/$1 virtual $2\n/r;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elsif ( $line !~ m/^(\s*)virtual\b(.*)$/ ){
|
||||||
#sip often requires the virtual keyword to be present, or it chokes on covariant return types
|
#sip often requires the virtual keyword to be present, or it chokes on covariant return types
|
||||||
#in overridden methods
|
#in overridden methods
|
||||||
$line =~ m/^(\s*?)\b(.*)$/;
|
$line =~ s/^(\s*?)\b(.*)$/$1virtual $2\n/;
|
||||||
$line = "$1virtual $2\n";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$line =~ s/\s*\boverride\b//;
|
$line =~ s/\s*\boverride\b//;
|
||||||
@ -467,6 +482,7 @@ while ($line_idx < $line_count){
|
|||||||
# write comment
|
# write comment
|
||||||
if ( $line =~ m/^\s*$/ )
|
if ( $line =~ m/^\s*$/ )
|
||||||
{
|
{
|
||||||
|
$is_override = 0;
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
elsif ( $line =~ m/\/\// || $line =~ m/\s*typedef / || $line =~ m/\s*struct / ){
|
elsif ( $line =~ m/\/\// || $line =~ m/\s*typedef / || $line =~ m/\s*struct / ){
|
||||||
|
@ -207,6 +207,9 @@ Removing function body with virtual const reference
|
|||||||
virtual int overrideWithoutVirtual();
|
virtual int overrideWithoutVirtual();
|
||||||
|
|
||||||
|
|
||||||
|
virtual void overrideWithoutVirtualMultLine( const QList<int, QString> &list1,
|
||||||
|
const QList<int, QString> &list2 );
|
||||||
|
|
||||||
QString returnTypeString() const;
|
QString returnTypeString() const;
|
||||||
%Docstring
|
%Docstring
|
||||||
:rtype: str
|
:rtype: str
|
||||||
|
@ -225,6 +225,9 @@ class CORE_EXPORT QgsSipifyHeader : public QtClass<QVariant>, private Ui::QgsBas
|
|||||||
|
|
||||||
int overrideWithoutVirtual() override;
|
int overrideWithoutVirtual() override;
|
||||||
|
|
||||||
|
void overrideWithoutVirtualMultLine( const QList<int, QString> &list1,
|
||||||
|
const QList<int, QString> &list2 ) override;
|
||||||
|
|
||||||
QString returnTypeString() const;
|
QString returnTypeString() const;
|
||||||
|
|
||||||
double returnTypeDouble() const;
|
double returnTypeDouble() const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user