]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/auto-super.pl
make method names more standard: now Classname_method
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / auto-super.pl
index 1685f5357c768c478014a52073e8f102cd8ab9cb..9ea4bdaf253000a80ffe4dcb52fb7811c43d02c2 100644 (file)
@@ -4,6 +4,7 @@ my %baseclass = ();
 my %methods = ();
 my %attrs = ();
 my %methodnames = ();
+my %old2new = ();
 
 print STDERR "Scanning...\n";
 for my $f(@ARGV)
@@ -19,7 +20,8 @@ for my $f(@ARGV)
                if(/^\s*METHOD\(([^),]*),\s*([^),]*)/)
                {
                        $methods{$1}{$2} = $1;
-                       $methodnames{"$2$1"} = $f;
+                       $methodnames{"$1"."_"."$2"} = $f;
+                       $old2new{"$2$1"} = "$1"."_"."$2";
                }
                if(/^\s*ATTRIB(?:ARRAY)?\(([^),]*),\s*([^),]*)/)
                {
@@ -67,6 +69,11 @@ for my $f(@ARGV)
        my $base = $classes{$class};
        next if not defined $base;
 
+       for(keys %old2new)
+       {
+               $s =~ s/\b$_\b/$old2new{$_}/g;
+       }
+
        my @methods_super = map { [ $_ . $methods{$base}{$_}, "SUPER($class).$_" ]; } keys %{$methods{$base}};
        for(@methods_super)
        {