my %methods = ();
my %attrs = ();
my %methodnames = ();
+my %old2new = ();
print STDERR "Scanning...\n";
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*([^),]*)/)
{
my $base = $classes{$class};
next if not defined $base;
- my @methods_super = map { [ $_ . $methods{$base}{$_}, "SUPER($class).$_" ]; } keys %{$methods{$base}};
+ for(keys %old2new)
+ {
+ $s =~ s/\b$_\b/$old2new{$_}/g;
+ }
+
+ my @methods_super = map { [ $methods{$base}{$_} . "_" . $_, "SUPER($class).$_" ]; } keys %{$methods{$base}};
for(@methods_super)
{
my ($search, $replace) = @$_;