[sipify] Fix stripping function body with virtual const reference returns

This commit is contained in:
Nyall Dawson 2017-04-11 16:21:38 +10:00
parent 5fb63c066f
commit 669fa87eb4
3 changed files with 10 additions and 1 deletions

View File

@ -347,7 +347,7 @@ while(!eof $header){
}
# remove function bodies
if ( $line =~ m/^(\s*)?(const )?(virtual |static )?(([\w:]+(<.*?>)?\s+(\*|&)?)?(\w+|operator.{1,2})\(.*?(\(.*\))*.*\)( (?:const|SIP_[A-Z_]*?))*)\s*(\{.*\})?(?!;)(\s*\/\/.*)?$/ ){
if ( $line =~ m/^(\s*)?(virtual )?(static |const )*(([\w:]+(<.*?>)?\s+(\*|&)?)?(\w+|operator.{1,2})\(.*?(\(.*\))*.*\)( (?:const|SIP_[A-Z_]*?))*)\s*(\{.*\})?(?!;)(\s*\/\/.*)?$/ ){
my $newline = "$1$2$3$4;\n";
if ($line !~ m/\{.*?\}$/){
$line = readline $header;

View File

@ -190,6 +190,12 @@ Removing function body with namespaced return value
:rtype: QgsRaster.RasterBuildPyramids
%End
virtual const QgsLayerMetadata &metadata() const;
%Docstring
Removing function body with virtual const reference
:rtype: QgsLayerMetadata
%End
virtual int overriddenProperty();
%Docstring

View File

@ -205,6 +205,9 @@ class CORE_EXPORT QgsSipifyHeader : public QtClass<QVariant>, private Ui::QgsBas
//! Removing function body with namespaced return value
QgsRaster::RasterBuildPyramids buildPyramidsFlag() const { return mBuildPyramidsFlag; }
//! Removing function body with virtual const reference
virtual const QgsLayerMetadata &metadata() const { return mMetadata; }
bool deletedFunction() = delete; // some comments
virtual int overriddenProperty() override { return 42; } // if in doubt, comment it out