use
5.008003;
our
$VERSION
=
'0.006003'
;
$VERSION
=
eval
$VERSION
;
our
$MAJOR_VERSION
= 0.006000;
BEGIN {
our
@EXPORT_OK
=
qw( to_clownfish )
;
}
sub
dl_load_flags { 1 }
BEGIN {
our
@ISA
=
qw( DynaLoader )
;
bootstrap Clownfish
'0.6.3'
;
}
sub
error {
$Clownfish::Err::error
}
{
our
$VERSION
=
'0.006003'
;
$VERSION
=
eval
$VERSION
;
sub
CLONE_SKIP { 1; }
sub
STORABLE_freeze {
my
$class_name
=
ref
(
shift
);
confess(
"Storable serialization not implemented for $class_name"
);
}
sub
STORABLE_thaw {
my
$class_name
=
ref
(
shift
);
confess(
"Storable serialization not implemented for $class_name"
);
}
}
{
our
$VERSION
=
'0.006003'
;
$VERSION
=
eval
$VERSION
;
sub
_find_parent_class {
my
$package
=
shift
;
no
strict
'refs'
;
for
my
$parent
( @{
"$package\::ISA"
} ) {
return
$parent
if
$parent
->isa(
'Clownfish::Obj'
);
}
return
;
}
sub
_fresh_host_methods {
my
$package
=
shift
;
no
strict
'refs'
;
my
$stash
= \%{
"$package\::"
};
my
$methods
= Clownfish::Vector->new(
capacity
=>
scalar
keys
%$stash
);
while
(
my
(
$symbol
,
$entry
) =
each
%$stash
) {
next
unless
ref
(
$entry
) eq
'CODE'
|| (
ref
(\
$entry
) eq
'GLOB'
&&
*$entry
{CODE} );
$methods
->
push
( Clownfish::String->new(
$symbol
) );
}
return
$methods
;
}
sub
_register {
my
(
$singleton
,
$parent
) =
@_
;
my
$singleton_class
=
$singleton
->get_name;
my
$parent_class
=
$parent
->get_name;
if
( !
$singleton_class
->isa(
$parent_class
) ) {
no
strict
'refs'
;
push
@{
"$singleton_class\::ISA"
},
$parent_class
;
}
}
no
warnings
'redefine'
;
sub
CLONE_SKIP { 0; }
sub
DESTROY { }
}
{
our
$VERSION
=
'0.006003'
;
$VERSION
=
eval
$VERSION
;
no
warnings
'redefine'
;
sub
CLONE_SKIP { 0; }
sub
DESTROY { }
}
{
our
$VERSION
=
'0.006003'
;
$VERSION
=
eval
$VERSION
;
sub
do_to_string {
shift
->to_string }
use
Carp
qw( confess longmess )
;
'""'
=> \
&do_to_string
,
fallback
=> 1;
sub
new {
my
(
$either
,
$message
) =
@_
;
my
(
undef
,
$file
,
$line
) =
caller
;
$message
.=
", $file line $line\n"
;
return
$either
->_new(
mess
=> Clownfish::String->new(
$message
) );
}
sub
do_throw {
my
$err
=
shift
;
my
$longmess
= longmess();
$longmess
=~ s/^\s*/\t/;
$err
->cat_mess(
$longmess
);
die
$err
;
}
our
$error
;
sub
set_error {
my
$val
=
$_
[1];
if
(
defined
$val
) {
confess(
"Not a Clownfish::Err"
)
unless
( blessed(
$val
)
&&
$val
->isa(
"Clownfish::Err"
) );
}
$error
=
$val
;
}
sub
get_error {
$error
}
}
{
our
$VERSION
=
'0.006003'
;
$VERSION
=
eval
$VERSION
;
our
@EXPORT_OK
=
qw( $true_singleton $false_singleton )
;
our
$true_singleton
= Clownfish::Boolean->singleton(1);
our
$false_singleton
= Clownfish::Boolean->singleton(0);
}
1;