2 ### Class MacroAOS4: Create a AOS4-style macro file ###########################
11 my $class = ref($proto) || $proto;
12 my $self = $class->SUPER::new
( @_ );
13 my $sfd = $self->{SFD
};
14 bless ($self, $class);
16 $self->{savetype
} = '';
17 $self->{CALLBASE
} = "I$sfd->{BaseName}";
24 my $prototype = $params{'prototype'};
25 my $sfd = $self->{SFD
};
27 $self->{savetype
} = $prototype->{type
};
29 if ($prototype->{type
} eq 'function' ||
30 $prototype->{type
} eq 'cfunction' ||
31 $prototype->{type
} eq 'varargs') {
32 printf " (((struct $sfd->{BaseName}IFace *)(___base))->$prototype->{funcname})(";
33 $prototype->{type
} = 'cfunction';
36 $self->SUPER::function_start
(@_);
43 my $prototype = $params{'prototype'};
44 my $sfd = $self->{SFD
};
46 $prototype->{type
} = $self->{savetype
};
48 if ($prototype->{type
} eq 'function' ||
49 $prototype->{type
} eq 'cfunction' ||
50 $prototype->{type
} eq 'varargs') {
54 $self->SUPER::function_end
(@_);