[svn:parrot] r44980 - in branches/ops_pct/compilers/opsc: src/Ops t

cotto at svn.parrot.org cotto at svn.parrot.org
Wed Mar 17 07:27:26 UTC 2010


Author: cotto
Date: Wed Mar 17 07:27:25 2010
New Revision: 44980
URL: https://trac.parrot.org/parrot/changeset/44980

Log:
[opsc] pass oplib to Ops::File new_str, fix emitter test

Modified:
   branches/ops_pct/compilers/opsc/src/Ops/File.pm
   branches/ops_pct/compilers/opsc/t/07-emitter.t

Modified: branches/ops_pct/compilers/opsc/src/Ops/File.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/File.pm	Wed Mar 17 07:26:04 2010	(r44979)
+++ branches/ops_pct/compilers/opsc/src/Ops/File.pm	Wed Mar 17 07:27:25 2010	(r44980)
@@ -199,9 +199,15 @@
     self;
 }
 
-method new_str($str) {
-    self<ops>     := list(); # Ops
-    self<preamble>:= '';
+method new_str($str, :$oplib) {
+    self<ops>      := list(); # Ops
+    self<preamble> := '';
+
+    self<compiler> := pir::compreg__Ps('Ops');
+    self<oplib>    := $oplib;
+    self<compiler>.set_oplib($oplib);
+
+    self._set_version();
 
     self._set_version();
 

Modified: branches/ops_pct/compilers/opsc/t/07-emitter.t
==============================================================================
--- branches/ops_pct/compilers/opsc/t/07-emitter.t	Wed Mar 17 07:26:04 2010	(r44979)
+++ branches/ops_pct/compilers/opsc/t/07-emitter.t	Wed Mar 17 07:27:25 2010	(r44980)
@@ -15,9 +15,10 @@
     src/ops/cmp.ops
 >;
 
+my $lib := Ops::OpLib.new();
 my $emitter := Ops::Emitter.new(
     :ops_file(Ops::File.new(
-        :oplib(Ops::OpLib.new()),
+        :oplib($lib),
         |@files)
     ),
     :trans($trans),
@@ -109,7 +110,8 @@
 #say($source);
 
 sub translate_op_body($trans, $body) {
-    my $file  := Ops::File.new_str($body);
+    my $file  := Ops::File.new_str(
+        :oplib($lib), $body);
     my $emitter := Ops::Emitter.new(
         :ops_file($file),
         :trans($trans),


More information about the parrot-commits mailing list