summaryrefslogtreecommitdiff
path: root/lib/Tree/Transform/XSLTish/Utils.pm
blob: bed1167c0434d23ff9bbc646aac8f5c5e6143d8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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;