commit diffs for review
[p5sagit/Devel-BeginLift.git] / generate.diff
diff --git a/generate.diff b/generate.diff
new file mode 100644 (file)
index 0000000..0fbd8b3
--- /dev/null
@@ -0,0 +1,52 @@
+=== t/generate.t
+==================================================================
+--- t/generate.t       (revision 24729)
++++ t/generate.t       (local)
+@@ -2,43 +2,18 @@
+ use warnings;
+ use Test::More;
+-use B::Utils;
+-
+ BEGIN {
+     plan skip_all => "B::Generate required" unless eval { require B::Generate };
+     plan 'no_plan';
+ }
+-sub foo {
+-    B::SVOP->new("const", 0, 42);
++sub foo { 
++    return B::SVOP->new("const", 0, 42);
+ }
+-sub gorch ($) {
+-    my $meth = ( $_[0]->kids )[-1]->sv->object_2svref;
+-    $$meth = "other";
+-    $_[0];
+-}
++use Devel::BeginLift qw(foo);
+-use Devel::BeginLift qw(foo gorch);
+-
+ sub bar { 7 + foo() }
++
+ is( bar(), 49, "optree injected" );
+-sub blah { foo(31) }
+-is(blah(), 42, "optree injected" );;
+-
+-sub meth { 3 }
+-
+-sub other { 42 }
+-
+-__END__
+-
+-my $obj = bless {};
+-sub oink { gorch $obj->meth; }
+-
+-is( oink(), 42, "modify method call");
+-
+-my @args = ( 1 .. 3 );
+-sub ploink { gorch $obj->meth(1, @args); }
+-is( ploink(), 42, "modify method call with args");
+-