package Tree::Transform::XSLTish::Utils;
use strict;
use warnings;
use Class::MOP;
my $RULES_NAME='%_tree_transform_rules';
sub _rules_store {
my $pack=Class::MOP::Class->initialize($_[0]);
if (! $pack->has_package_symbol($RULES_NAME) ) {
$pack->add_package_symbol($RULES_NAME,{});
}
return $pack->get_package_symbol($RULES_NAME);
}
my $ENGINE_FACTORY_NAME='$_tree_transform_engine_factory';
sub _engine_factory {
my $pack=Class::MOP::Class->initialize($_[0]);
if (! $pack->has_package_symbol($ENGINE_FACTORY_NAME) ) {
$pack->add_package_symbol($ENGINE_FACTORY_NAME,undef);
}
return $pack->get_package_symbol($ENGINE_FACTORY_NAME);
}
sub _get_inheritance {
return Class::MOP::Class->initialize($_[0])->class_precedence_list;
}
1;