diff Lib/IMPL/Exception.pm @ 49:16ada169ca75

migrating to the Eclipse IDE
author wizard@linux-odin.local
date Fri, 26 Feb 2010 10:49:21 +0300
parents 03e58a454b20
children 76b878ad6596
line wrap: on
line diff
--- a/Lib/IMPL/Exception.pm	Fri Feb 26 01:43:42 2010 +0300
+++ b/Lib/IMPL/Exception.pm	Fri Feb 26 10:49:21 2010 +0300
@@ -1,113 +1,113 @@
-package IMPL::Exception;
-use strict;
-use overload
-    '""' => \&ToString,
-    'fallback' => 1;
-use Carp qw(longmess shortmess);
-use Scalar::Util qw(refaddr);
-
-BEGIN {
-	require Error;
-}
-
-use base qw(IMPL::Object::Accessor Error);
-
-BEGIN {
-    __PACKAGE__->mk_accessors( qw(Message Args CallStack Source) );
-}
-
-sub indent {
-    my ($str,$level) = @_;
-    $level ||= 0;
-    $str = '' unless defined $str;
-    join ("\n", map( "\t"x$level.$_ , split(/\n/,$str) ) );
-}
-
-sub new {
-    my $class = shift;
-    $class = ref $class || $class;
-    
-    my $this = $class->Error::new() or die "Failed to create an exception";
-    
-    $this->callCTOR(@_);
-    $this->{-text} = $this->Message;
-    
-    local $Carp::CarpLevel = 0;
-    
-    $this->CallStack(longmess);
-    $this->Source(shortmess);
-    
-    return $this;
-}
-
-sub CTOR {
-    my ($this,$message,@args) = @_;
-    $this->Message($message || '');
-    die new IMPL::Exception("Fatal erorr: cyclic structure in the exceptions were detected, do not use \$\@ while throwing the exception!") if grep ref $_ ? refaddr($this) == refaddr($_) : 0 , @args;
-    $this->Args([map defined $_ ? $_ : 'undef', @args]);
-}
-
-sub save {
-    my ($this,$ctx) = @_;
-    
-    $ctx->AddVar(Message => $this->Message) if $this->Message;
-    $ctx->AddVar(Args => $this->Args) if @{$this->Args};
-    $ctx->AddVar(Source => $this->Source);
-    $ctx->AddVar(CallStack => $this->CallStack);
-}
-
-sub restore {
-    my ($class,$data,$instance) = @_;
-    
-    my %args = @$data;
-    
-    if ($instance) {
-        $instance->callCTOR($args{Message},@{$args{Args}});
-    } else {
-        $instance = $class->new($args{Message},@{$args{Args}});
-    }
-    
-    $instance->Source($args{Source});
-    $instance->CallStack($args{CallStack});
-    
-    return $instance;
-}
-
-sub ToString {
-    my $this = shift;
-    
-    $this->toString();
-}
-
-sub toString {
-    my ($this,$notrace) = @_;
-    $this->Message . join("\n",'',map { my $s = $_; local $_; indent("$s",1) } @{$this->Args} ) . ( $notrace ? '' : "\n" . $this->CallStack);
-}
-
-package IMPL::InvalidOperationException;
-our @ISA = qw(IMPL::Exception);
-__PACKAGE__->PassThroughArgs;
-
-package IMPL::InvalidArgumentException;
-our @ISA = qw(IMPL::Exception);
-__PACKAGE__->PassThroughArgs;
-
-package IMPL::DuplicateException;
-our @ISA = qw(IMPL::Exception);
-__PACKAGE__->PassThroughArgs;
-
-package IMPL::NotImplementedException;
-our @ISA = qw(IMPL::Exception);
-__PACKAGE__->PassThroughArgs;
-
-package Exception;
-our @ISA = qw(IMPL::Exception);
-__PACKAGE__->PassThroughArgs;
-
-package IMPL::DeprecatedException;
-our @ISA = qw(IMPL::Exception);
-our %CTOR = (
-    'IMPL::Exception' => sub { @_ ? @_ : "The method is deprecated" }
-);
-
-1;
+package IMPL::Exception;
+use strict;
+use overload
+    '""' => \&ToString,
+    'fallback' => 1;
+use Carp qw(longmess shortmess);
+use Scalar::Util qw(refaddr);
+
+BEGIN {
+	require Error;
+}
+
+use base qw(IMPL::Object::Accessor Error);
+
+BEGIN {
+    __PACKAGE__->mk_accessors( qw(Message Args CallStack Source) );
+}
+
+sub indent {
+    my ($str,$level) = @_;
+    $level ||= 0;
+    $str = '' unless defined $str;
+    join ("\n", map( "\t"x$level.$_ , split(/\n/,$str) ) );
+}
+
+sub new {
+    my $class = shift;
+    $class = ref $class || $class;
+    
+    my $this = $class->Error::new() or die "Failed to create an exception";
+    
+    $this->callCTOR(@_);
+    $this->{-text} = $this->Message;
+    
+    local $Carp::CarpLevel = 0;
+    
+    $this->CallStack(longmess);
+    $this->Source(shortmess);
+    
+    return $this;
+}
+
+sub CTOR {
+    my ($this,$message,@args) = @_;
+    $this->Message($message || '');
+    die new IMPL::Exception("Fatal erorr: cyclic structure in the exceptions were detected, do not use \$\@ while throwing the exception!") if grep ref $_ ? refaddr($this) == refaddr($_) : 0 , @args;
+    $this->Args([map defined $_ ? $_ : 'undef', @args]);
+}
+
+sub save {
+    my ($this,$ctx) = @_;
+    
+    $ctx->AddVar(Message => $this->Message) if $this->Message;
+    $ctx->AddVar(Args => $this->Args) if @{$this->Args};
+    $ctx->AddVar(Source => $this->Source);
+    $ctx->AddVar(CallStack => $this->CallStack);
+}
+
+sub restore {
+    my ($class,$data,$instance) = @_;
+    
+    my %args = @$data;
+    
+    if ($instance) {
+        $instance->callCTOR($args{Message},@{$args{Args}});
+    } else {
+        $instance = $class->new($args{Message},@{$args{Args}});
+    }
+    
+    $instance->Source($args{Source});
+    $instance->CallStack($args{CallStack});
+    
+    return $instance;
+}
+
+sub ToString {
+    my $this = shift;
+    
+    $this->toString();
+}
+
+sub toString {
+    my ($this,$notrace) = @_;
+    $this->Message . join("\n",'',map { my $s = $_; local $_; indent("$s",1) } @{$this->Args} ) . ( $notrace ? '' : "\n" . $this->CallStack);
+}
+
+package IMPL::InvalidOperationException;
+our @ISA = qw(IMPL::Exception);
+__PACKAGE__->PassThroughArgs;
+
+package IMPL::InvalidArgumentException;
+our @ISA = qw(IMPL::Exception);
+__PACKAGE__->PassThroughArgs;
+
+package IMPL::DuplicateException;
+our @ISA = qw(IMPL::Exception);
+__PACKAGE__->PassThroughArgs;
+
+package IMPL::NotImplementedException;
+our @ISA = qw(IMPL::Exception);
+__PACKAGE__->PassThroughArgs;
+
+package Exception;
+our @ISA = qw(IMPL::Exception);
+__PACKAGE__->PassThroughArgs;
+
+package IMPL::DeprecatedException;
+our @ISA = qw(IMPL::Exception);
+our %CTOR = (
+    'IMPL::Exception' => sub { @_ ? @_ : "The method is deprecated" }
+);
+
+1;