[svn:parrot] r38745 - branches/pmc_pct/compilers/pmcc/src/emitter
bacek at svn.parrot.org
bacek at svn.parrot.org
Wed May 13 12:09:39 UTC 2009
Author: bacek
Date: Wed May 13 12:09:39 2009
New Revision: 38745
URL: https://trac.parrot.org/parrot/changeset/38745
Log:
Add pre_method_gen to Emitter::PMC
Modified:
branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm
Modified: branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm
==============================================================================
--- branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm Wed May 13 12:09:10 2009 (r38744)
+++ branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm Wed May 13 12:09:39 2009 (r38745)
@@ -325,6 +325,7 @@
#=cut
method generate_c_file() {
+ self.pre_method_gen();
my $res :=
self.generate_c_file_functions()
~ self.generate_class_init();
@@ -340,12 +341,13 @@
method generate_c_file_functions() {
my $past := self.past;
my %vtables := self.vtables;
-
+ my $emitter := PMC::Emitter::C.new;
my @res;
for %vtables {
my $entry := %vtables{$_};
@res.push(self.generate_signature($entry, ""));
- @res.push(PMC::Emitter::C.new.emit($past, $entry));
+ @res.push($emitter.emit($past, $entry));
+ @res.push("\n");
}
join('', @res);
@@ -433,6 +435,14 @@
join('', @res);
}
+=item C<pre_method_gen>
+
+Method for generating PMC-specific VTABLE functions. E.g. C<default> and C<null> implementations.
+
+=cut
+method pre_method_gen() {
+}
+
method past() {
self<past>;
}
More information about the parrot-commits
mailing list