File Coverage

t/cookbook/recipe06.xsi
Criterion Covered Total %
statement 2 12 16.6
branch 4 22 18.1
condition n/a
subroutine n/a
pod n/a
total 6 34 17.6


line stmt bran cond sub pod time code
1             MODE: INLINE
2              
3             struct Base06 {
4             virtual const char* method() { return "from base"; }
5             virtual ~Base06() { }
6             };
7              
8             struct Derived06A: public Base06 {
9             virtual const char* method() { return "from derived-A"; }
10             const char* specific_method() { return "specific-A"; }
11             };
12              
13             struct Derived06B: public Base06 {
14             virtual const char* method() { return "from derived-B"; }
15             const char* specific_method() { return "specific-B"; }
16             };
17              
18              
19             namespace xs {
20             template
21             struct Typemap : TypemapObject {
22             static std::string package () { return "MyTest::Cookbook::Base04"; }
23             };
24              
25             template <> struct Typemap : Typemap {
26             static std::string package () { return "MyTest::Cookbook::Derived06A"; }
27             };
28              
29             template <> struct Typemap : Typemap {
30             static std::string package () { return "MyTest::Cookbook::Derived06B"; }
31             };
32              
33             }
34              
35             MODULE = MyTest::Cookbook PACKAGE = MyTest::Cookbook::Base06
36             PROTOTYPES: DISABLE
37              
38 0 0         const char* Base06::method()
39              
40 0           Base06* Base06::new()
41 0 0          
42 0 0         MODULE = MyTest::Cookbook PACKAGE = MyTest::Cookbook::Derived06A
43             PROTOTYPES: DISABLE
44              
45 0           Derived06A* Derived06A::new()
46 0 0          
47 0 0         const char* Derived06A::specific_method()
48              
49             BOOT {
50 34 50         Stash(__PACKAGE__).inherit("MyTest::Cookbook::Base06");
    50          
51             }
52              
53             MODULE = MyTest::Cookbook PACKAGE = MyTest::Cookbook::Derived06B
54             PROTOTYPES: DISABLE
55              
56 0           Derived06B* Derived06B::new()
57 0 0          
58 0 0         const char* Derived06B::specific_method()
59              
60             BOOT {
61 34 50         Stash(__PACKAGE__).inherit("MyTest::Cookbook::Base06");
    50          
62             }