]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/PHPUnit/PHP/Token/Stream/Autoload.php
Merge branch 'master' of github.com:sugarcrm/sugarcrm_dev
[Github/sugarcrm.git] / tests / PHPUnit / PHP / Token / Stream / Autoload.php
1 <?php
2 /**
3  * php-token-stream
4  *
5  * Copyright (c) 2009-2010, Sebastian Bergmann <sb@sebastian-bergmann.de>.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  *   * Redistributions of source code must retain the above copyright
13  *     notice, this list of conditions and the following disclaimer.
14  *
15  *   * Redistributions in binary form must reproduce the above copyright
16  *     notice, this list of conditions and the following disclaimer in
17  *     the documentation and/or other materials provided with the
18  *     distribution.
19  *
20  *   * Neither the name of Sebastian Bergmann nor the names of his
21  *     contributors may be used to endorse or promote products derived
22  *     from this software without specific prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
27  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
28  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
30  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
34  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35  * POSSIBILITY OF SUCH DAMAGE.
36  *
37  * @package   PHP_TokenStream
38  * @author    Sebastian Bergmann <sb@sebastian-bergmann.de>
39  * @copyright 2009-2010 Sebastian Bergmann <sb@sebastian-bergmann.de>
40  * @license   http://www.opensource.org/licenses/bsd-license.php  BSD License
41  * @link      http://github.com/sebastianbergmann/php-token-stream/tree
42  * @since     File available since Release 1.1.0
43  */
44
45 function php_tokenstream_autoload($class = NULL)
46 {
47     static $classes = NULL;
48     static $path = NULL;;
49
50     if ($classes === NULL) {
51         $classes = array(
52           'php_token' => '/Token.php',
53           'php_token_abstract' => '/Token.php',
54           'php_token_ampersand' => '/Token.php',
55           'php_token_and_equal' => '/Token.php',
56           'php_token_array' => '/Token.php',
57           'php_token_array_cast' => '/Token.php',
58           'php_token_as' => '/Token.php',
59           'php_token_at' => '/Token.php',
60           'php_token_backtick' => '/Token.php',
61           'php_token_bad_character' => '/Token.php',
62           'php_token_bool_cast' => '/Token.php',
63           'php_token_boolean_and' => '/Token.php',
64           'php_token_boolean_or' => '/Token.php',
65           'php_token_break' => '/Token.php',
66           'php_token_caret' => '/Token.php',
67           'php_token_case' => '/Token.php',
68           'php_token_catch' => '/Token.php',
69           'php_token_character' => '/Token.php',
70           'php_token_class' => '/Token.php',
71           'php_token_class_c' => '/Token.php',
72           'php_token_clone' => '/Token.php',
73           'php_token_close_bracket' => '/Token.php',
74           'php_token_close_curly' => '/Token.php',
75           'php_token_close_square' => '/Token.php',
76           'php_token_close_tag' => '/Token.php',
77           'php_token_colon' => '/Token.php',
78           'php_token_comma' => '/Token.php',
79           'php_token_comment' => '/Token.php',
80           'php_token_concat_equal' => '/Token.php',
81           'php_token_const' => '/Token.php',
82           'php_token_constant_encapsed_string' => '/Token.php',
83           'php_token_continue' => '/Token.php',
84           'php_token_curly_open' => '/Token.php',
85           'php_token_dec' => '/Token.php',
86           'php_token_declare' => '/Token.php',
87           'php_token_default' => '/Token.php',
88           'php_token_dir' => '/Token.php',
89           'php_token_div' => '/Token.php',
90           'php_token_div_equal' => '/Token.php',
91           'php_token_dnumber' => '/Token.php',
92           'php_token_do' => '/Token.php',
93           'php_token_doc_comment' => '/Token.php',
94           'php_token_dollar' => '/Token.php',
95           'php_token_dollar_open_curly_braces' => '/Token.php',
96           'php_token_dot' => '/Token.php',
97           'php_token_double_arrow' => '/Token.php',
98           'php_token_double_cast' => '/Token.php',
99           'php_token_double_colon' => '/Token.php',
100           'php_token_double_quotes' => '/Token.php',
101           'php_token_echo' => '/Token.php',
102           'php_token_else' => '/Token.php',
103           'php_token_elseif' => '/Token.php',
104           'php_token_empty' => '/Token.php',
105           'php_token_encapsed_and_whitespace' => '/Token.php',
106           'php_token_end_heredoc' => '/Token.php',
107           'php_token_enddeclare' => '/Token.php',
108           'php_token_endfor' => '/Token.php',
109           'php_token_endforeach' => '/Token.php',
110           'php_token_endif' => '/Token.php',
111           'php_token_endswitch' => '/Token.php',
112           'php_token_endwhile' => '/Token.php',
113           'php_token_equal' => '/Token.php',
114           'php_token_eval' => '/Token.php',
115           'php_token_exclamation_mark' => '/Token.php',
116           'php_token_exit' => '/Token.php',
117           'php_token_extends' => '/Token.php',
118           'php_token_file' => '/Token.php',
119           'php_token_final' => '/Token.php',
120           'php_token_for' => '/Token.php',
121           'php_token_foreach' => '/Token.php',
122           'php_token_func_c' => '/Token.php',
123           'php_token_function' => '/Token.php',
124           'php_token_global' => '/Token.php',
125           'php_token_goto' => '/Token.php',
126           'php_token_gt' => '/Token.php',
127           'php_token_halt_compiler' => '/Token.php',
128           'php_token_if' => '/Token.php',
129           'php_token_implements' => '/Token.php',
130           'php_token_inc' => '/Token.php',
131           'php_token_include' => '/Token.php',
132           'php_token_include_once' => '/Token.php',
133           'php_token_includes' => '/Token.php',
134           'php_token_inline_html' => '/Token.php',
135           'php_token_instanceof' => '/Token.php',
136           'php_token_int_cast' => '/Token.php',
137           'php_token_interface' => '/Token.php',
138           'php_token_is_equal' => '/Token.php',
139           'php_token_is_greater_or_equal' => '/Token.php',
140           'php_token_is_identical' => '/Token.php',
141           'php_token_is_not_equal' => '/Token.php',
142           'php_token_is_not_identical' => '/Token.php',
143           'php_token_is_smaller_or_equal' => '/Token.php',
144           'php_token_isset' => '/Token.php',
145           'php_token_line' => '/Token.php',
146           'php_token_list' => '/Token.php',
147           'php_token_lnumber' => '/Token.php',
148           'php_token_logical_and' => '/Token.php',
149           'php_token_logical_or' => '/Token.php',
150           'php_token_logical_xor' => '/Token.php',
151           'php_token_lt' => '/Token.php',
152           'php_token_method_c' => '/Token.php',
153           'php_token_minus' => '/Token.php',
154           'php_token_minus_equal' => '/Token.php',
155           'php_token_mod_equal' => '/Token.php',
156           'php_token_mul_equal' => '/Token.php',
157           'php_token_mult' => '/Token.php',
158           'php_token_namespace' => '/Token.php',
159           'php_token_new' => '/Token.php',
160           'php_token_ns_c' => '/Token.php',
161           'php_token_ns_separator' => '/Token.php',
162           'php_token_num_string' => '/Token.php',
163           'php_token_object_cast' => '/Token.php',
164           'php_token_object_operator' => '/Token.php',
165           'php_token_open_bracket' => '/Token.php',
166           'php_token_open_curly' => '/Token.php',
167           'php_token_open_square' => '/Token.php',
168           'php_token_open_tag' => '/Token.php',
169           'php_token_open_tag_with_echo' => '/Token.php',
170           'php_token_or_equal' => '/Token.php',
171           'php_token_paamayim_nekudotayim' => '/Token.php',
172           'php_token_percent' => '/Token.php',
173           'php_token_pipe' => '/Token.php',
174           'php_token_plus' => '/Token.php',
175           'php_token_plus_equal' => '/Token.php',
176           'php_token_print' => '/Token.php',
177           'php_token_private' => '/Token.php',
178           'php_token_protected' => '/Token.php',
179           'php_token_public' => '/Token.php',
180           'php_token_question_mark' => '/Token.php',
181           'php_token_require' => '/Token.php',
182           'php_token_require_once' => '/Token.php',
183           'php_token_return' => '/Token.php',
184           'php_token_semicolon' => '/Token.php',
185           'php_token_sl' => '/Token.php',
186           'php_token_sl_equal' => '/Token.php',
187           'php_token_sr' => '/Token.php',
188           'php_token_sr_equal' => '/Token.php',
189           'php_token_start_heredoc' => '/Token.php',
190           'php_token_static' => '/Token.php',
191           'php_token_stream' => '/Token/Stream.php',
192           'php_token_stream_cachingfactory' => '/Token/Stream/CachingFactory.php',
193           'php_token_string' => '/Token.php',
194           'php_token_string_cast' => '/Token.php',
195           'php_token_string_varname' => '/Token.php',
196           'php_token_switch' => '/Token.php',
197           'php_token_throw' => '/Token.php',
198           'php_token_tilde' => '/Token.php',
199           'php_token_trait' => '/Token.php',
200           'php_token_try' => '/Token.php',
201           'php_token_unset' => '/Token.php',
202           'php_token_unset_cast' => '/Token.php',
203           'php_token_use' => '/Token.php',
204           'php_token_var' => '/Token.php',
205           'php_token_variable' => '/Token.php',
206           'php_token_while' => '/Token.php',
207           'php_token_whitespace' => '/Token.php',
208           'php_token_xor_equal' => '/Token.php',
209           'php_tokenwithscope' => '/Token.php'
210         );
211
212         $path = dirname(dirname(dirname(__FILE__)));
213     }
214
215     if ($class === NULL) {
216         $result = array(__FILE__);
217
218         foreach ($classes as $file) {
219             $result[] = $path . $file;
220         }
221
222         return $result;
223     }
224
225     $cn = strtolower($class);
226
227     if (isset($classes[$cn])) {
228         require $path . $classes[$cn];
229     }
230 }
231
232 spl_autoload_register('php_tokenstream_autoload');