From d1eee4ec026f37c949f7dd7edb81596cf712f418 Mon Sep 17 00:00:00 2001 From: Mikhail Pomakhin Date: Fri, 2 Mar 2018 15:07:36 +0300 Subject: [PATCH] fix for override keyword and pure virtual methods --- pullproto.pl | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pullproto.pl b/pullproto.pl index 1d0e6f2..1d1bbac 100755 --- a/pullproto.pl +++ b/pullproto.pl @@ -99,18 +99,22 @@ sub usage else { # Paolo Capriotti - Simplify function regexp and fix bug for pointer and reference return types - my @a = $content =~ m/((const)?\s*(unsigned)?\s*\S+\s*[\*&]?)(\Q$function\E$matched?)\s*(\([^\)]*\)[^;]*);/m; # (Matt Spear) added \Q\E and $matched + my @a = $content =~ m/((const)?\s*(unsigned)?\s*\S+\s*[\*&]?)(\Q$function\E$matched?)\s*(\([^\)]*\))(\s*[^;]*?)\s*;/m; # (Matt Spear) added \Q\E and $matched $pre = @a[0]; $fname = @a[3]; $post = @a[4]; + ($postpost = @a[5]) =~ s!override!!; } print "==\n"; - my $toprint = "$pre$fname$post"; - if ($class ne "") + if ($postpost !~ /=\s*0/) # avoid collecting pure virtual methods { - $toprint = "$pre$class" . "::" . "$fname$post"; + my $toprint = "$pre$fname$post$postpost"; + if ($class ne "") + { + $toprint = "$pre$class" . "::" . "$fname$post$postpost"; + } + $toprint =~ s/^\s*//; + print $toprint; + print "\n"; } - $toprint =~ s/^\s*//; - print $toprint; - print "\n"; }