r20567: Print proper errors with filename and line numbers in ParseExpr()
[samba.git] / source4 / pidl / lib / Parse / Pidl / Util.pm
index 2f3547bbb5913b6038229a89bb36cd5dbf80f86d..11e738fd13e8428ae789b7d318f597bdcf6251f9 100644 (file)
@@ -13,6 +13,7 @@ $VERSION = '0.01';
 use strict;
 
 use Parse::Pidl::Expr;
+use Parse::Pidl qw(error);
 
 #####################################################################
 # a dumper wrapper to prevent dependence on the Data::Dumper module
@@ -97,15 +98,15 @@ sub useUintEnums()
        return $useUintEnums;
 }
 
-sub ParseExpr($$)
+sub ParseExpr($$$)
 {
-       my($expr, $varlist) = @_;
+       my($expr, $varlist, $e) = @_;
 
        die("Undefined value in ParseExpr") if not defined($expr);
 
        my $x = new Parse::Pidl::Expr();
        
-       return $x->Run($expr, sub { my $x = shift; die(MyDumper($x)); },
+       return $x->Run($expr, sub { my $x = shift; error($e, $x); },
                # Lookup fn 
                sub { my $x = shift; 
                          return($varlist->{$x}) if (defined($varlist->{$x}));