Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / PPI / XSAccessor.pm
CommitLineData
3fea05b9 1package PPI::XSAccessor;
2
3# This is an experimental prototype, use at your own risk.
4# Provides optional enhancement of PPI with Class::XSAccessor (if installed)
5
6use 5.006;
7use strict;
8use PPI ();
9
10use vars qw{$VERSION};
11BEGIN {
12 $VERSION = '1.206';
13}
14
15
16
17
18
19######################################################################
20# Replacement Methods
21
22# Packages are implemented here in alphabetical order
23
24package PPI::Document;
25
26use Class::XSAccessor
27 replace => 1,
28 getters => {
29 readonly => 'readonly',
30 },
31 true => [
32 'scope'
33 ];
34
35package PPI::Document::File;
36
37use Class::XSAccessor
38 replace => 1,
39 getters => {
40 filename => 'filename',
41 };
42
43package PPI::Document::Fragment;
44
45use Class::XSAccessor
46 replace => 1,
47 false => [
48 'scope',
49 ];
50
51package PPI::Document::Normalized;
52
53use Class::XSAccessor
54 replace => 1,
55 getters => {
56 '_Document' => 'Document',
57 'version' => 'version',
58 'functions' => 'functions',
59 };
60
61package PPI::Element;
62
63use Class::XSAccessor
64 replace => 1,
65 true => [
66 'significant',
67 ];
68
69package PPI::Exception;
70
71use Class::XSAccessor
72 replace => 1,
73 getters => {
74 message => 'message',
75 };
76
77package PPI::Node;
78
79use Class::XSAccessor
80 replace => 1,
81 false => [
82 'scope',
83 ];
84
85package PPI::Normal;
86
87use Class::XSAccessor
88 replace => 1,
89 getters => {
90 'layer' => 'layer',
91 };
92
93package PPI::Statement;
94
95use Class::XSAccessor
96 replace => 1,
97 true => [
98 '__LEXER__normal',
99 ];
100
101package PPI::Statement::Compound;
102
103use Class::XSAccessor
104 replace => 1,
105 true => [
106 'scope',
107 ],
108 false => [
109 '__LEXER__normal',
110 ];
111
112package PPI::Statement::Data;
113
114use Class::XSAccessor
115 replace => 1,
116 false => [
117 '_complete',
118 ];
119
120package PPI::Statement::End;
121
122use Class::XSAccessor
123 replace => 1,
124 true => [
125 '_complete',
126 ];
127
128package PPI::Statement::Given;
129
130use Class::XSAccessor
131 replace => 1,
132 true => [
133 'scope',
134 ],
135 false => [
136 '__LEXER__normal',
137 ];
138
139package PPI::Token;
140
141use Class::XSAccessor
142 replace => 1,
143 getters => {
144 content => 'content',
145 },
146 setters => {
147 set_content => 'content',
148 },
149 true => [
150 '__TOKENIZER__on_line_start',
151 '__TOKENIZER__on_line_end',
152 ];
153
1541;