1--TEST--
2Test semi-reserved words as static class methods
3--FILE--
4<?php
5
6class Obj
7{
8    static function empty(){ echo __METHOD__, PHP_EOL; }
9    static function callable(){ echo __METHOD__, PHP_EOL; }
10    static function class(){ echo __METHOD__, PHP_EOL; }
11    static function trait(){ echo __METHOD__, PHP_EOL; }
12    static function extends(){ echo __METHOD__, PHP_EOL; }
13    static function implements(){ echo __METHOD__, PHP_EOL; }
14    static function static(){ echo __METHOD__, PHP_EOL; }
15    static function abstract(){ echo __METHOD__, PHP_EOL; }
16    static function final(){ echo __METHOD__, PHP_EOL; }
17    static function public(){ echo __METHOD__, PHP_EOL; }
18    static function protected(){ echo __METHOD__, PHP_EOL; }
19    static function private(){ echo __METHOD__, PHP_EOL; }
20    static function const(){ echo __METHOD__, PHP_EOL; }
21    static function enddeclare(){ echo __METHOD__, PHP_EOL; }
22    static function endfor(){ echo __METHOD__, PHP_EOL; }
23    static function endforeach(){ echo __METHOD__, PHP_EOL; }
24    static function endif(){ echo __METHOD__, PHP_EOL; }
25    static function endwhile(){ echo __METHOD__, PHP_EOL; }
26    static function and(){ echo __METHOD__, PHP_EOL; }
27    static function global(){ echo __METHOD__, PHP_EOL; }
28    static function goto(){ echo __METHOD__, PHP_EOL; }
29    static function instanceof(){ echo __METHOD__, PHP_EOL; }
30    static function insteadof(){ echo __METHOD__, PHP_EOL; }
31    static function interface(){ echo __METHOD__, PHP_EOL; }
32    static function namespace(){ echo __METHOD__, PHP_EOL; }
33    static function new(){ echo __METHOD__, PHP_EOL; }
34    static function or(){ echo __METHOD__, PHP_EOL; }
35    static function xor(){ echo __METHOD__, PHP_EOL; }
36    static function try(){ echo __METHOD__, PHP_EOL; }
37    static function use(){ echo __METHOD__, PHP_EOL; }
38    static function var(){ echo __METHOD__, PHP_EOL; }
39    static function exit(){ echo __METHOD__, PHP_EOL; }
40    static function list(){ echo __METHOD__, PHP_EOL; }
41    static function clone(){ echo __METHOD__, PHP_EOL; }
42    static function include(){ echo __METHOD__, PHP_EOL; }
43    static function include_once(){ echo __METHOD__, PHP_EOL; }
44    static function throw(){ echo __METHOD__, PHP_EOL; }
45    static function array(){ echo __METHOD__, PHP_EOL; }
46    static function print(){ echo __METHOD__, PHP_EOL; }
47    static function echo(){ echo __METHOD__, PHP_EOL; }
48    static function require(){ echo __METHOD__, PHP_EOL; }
49    static function require_once(){ echo __METHOD__, PHP_EOL; }
50    static function return(){ echo __METHOD__, PHP_EOL; }
51    static function else(){ echo __METHOD__, PHP_EOL; }
52    static function elseif(){ echo __METHOD__, PHP_EOL; }
53    static function default(){ echo __METHOD__, PHP_EOL; }
54    static function break(){ echo __METHOD__, PHP_EOL; }
55    static function continue(){ echo __METHOD__, PHP_EOL; }
56    static function switch(){ echo __METHOD__, PHP_EOL; }
57    static function yield(){ echo __METHOD__, PHP_EOL; }
58    static function function(){ echo __METHOD__, PHP_EOL; }
59    static function if(){ echo __METHOD__, PHP_EOL; }
60    static function endswitch(){ echo __METHOD__, PHP_EOL; }
61    static function finally(){ echo __METHOD__, PHP_EOL; }
62    static function for(){ echo __METHOD__, PHP_EOL; }
63    static function foreach(){ echo __METHOD__, PHP_EOL; }
64    static function declare(){ echo __METHOD__, PHP_EOL; }
65    static function case(){ echo __METHOD__, PHP_EOL; }
66    static function do(){ echo __METHOD__, PHP_EOL; }
67    static function while(){ echo __METHOD__, PHP_EOL; }
68    static function as(){ echo __METHOD__, PHP_EOL; }
69    static function catch(){ echo __METHOD__, PHP_EOL; }
70    static function die(){ echo __METHOD__, PHP_EOL; }
71    static function self(){ echo __METHOD__, PHP_EOL; }
72    static function parent(){ echo __METHOD__, PHP_EOL; }
73    static function isset(){ echo __METHOD__, PHP_EOL; }
74    static function unset(){ echo __METHOD__, PHP_EOL; }
75    static function __CLASS__(){ echo __METHOD__, PHP_EOL; }
76    static function __TRAIT__(){ echo __METHOD__, PHP_EOL; }
77    static function __FUNCTION__(){ echo __METHOD__, PHP_EOL; }
78    static function __METHOD__(){ echo __METHOD__, PHP_EOL; }
79    static function __LINE__(){ echo __METHOD__, PHP_EOL; }
80    static function __FILE__(){ echo __METHOD__, PHP_EOL; }
81    static function __DIR__(){ echo __METHOD__, PHP_EOL; }
82    static function __NAMESPACE__(){ echo __METHOD__, PHP_EOL; }
83}
84
85Obj::empty();
86Obj::callable();
87Obj::class();
88Obj::trait();
89Obj::extends();
90Obj::implements();
91Obj::static();
92Obj::abstract();
93Obj::final();
94Obj::public();
95Obj::protected();
96Obj::private();
97Obj::const();
98Obj::enddeclare();
99Obj::endfor();
100Obj::endforeach();
101Obj::endif();
102Obj::endwhile();
103Obj::and();
104Obj::global();
105Obj::goto();
106Obj::instanceof();
107Obj::insteadof();
108Obj::interface();
109Obj::namespace();
110Obj::new();
111Obj::or();
112Obj::xor();
113Obj::try();
114Obj::use();
115Obj::var();
116Obj::exit();
117Obj::list();
118Obj::clone();
119Obj::include();
120Obj::include_once();
121Obj::throw();
122Obj::array();
123Obj::print();
124Obj::echo();
125Obj::require();
126Obj::require_once();
127Obj::return();
128Obj::else();
129Obj::elseif();
130Obj::default();
131Obj::break();
132Obj::continue();
133Obj::switch();
134Obj::yield();
135Obj::function();
136Obj::if();
137Obj::endswitch();
138Obj::finally();
139Obj::for();
140Obj::foreach();
141Obj::declare();
142Obj::case();
143Obj::do();
144Obj::while();
145Obj::as();
146Obj::catch();
147Obj::die();
148Obj::self();
149Obj::parent();
150Obj::isset();
151Obj::unset();
152Obj::__CLASS__();
153Obj::__TRAIT__();
154Obj::__FUNCTION__();
155Obj::__METHOD__();
156Obj::__LINE__();
157Obj::__FILE__();
158Obj::__DIR__();
159Obj::__NAMESPACE__();
160
161echo "\nDone\n";
162
163--EXPECTF--
164Obj::empty
165Obj::callable
166Obj::class
167Obj::trait
168Obj::extends
169Obj::implements
170Obj::static
171Obj::abstract
172Obj::final
173Obj::public
174Obj::protected
175Obj::private
176Obj::const
177Obj::enddeclare
178Obj::endfor
179Obj::endforeach
180Obj::endif
181Obj::endwhile
182Obj::and
183Obj::global
184Obj::goto
185Obj::instanceof
186Obj::insteadof
187Obj::interface
188Obj::namespace
189Obj::new
190Obj::or
191Obj::xor
192Obj::try
193Obj::use
194Obj::var
195Obj::exit
196Obj::list
197Obj::clone
198Obj::include
199Obj::include_once
200Obj::throw
201Obj::array
202Obj::print
203Obj::echo
204Obj::require
205Obj::require_once
206Obj::return
207Obj::else
208Obj::elseif
209Obj::default
210Obj::break
211Obj::continue
212Obj::switch
213Obj::yield
214Obj::function
215Obj::if
216Obj::endswitch
217Obj::finally
218Obj::for
219Obj::foreach
220Obj::declare
221Obj::case
222Obj::do
223Obj::while
224Obj::as
225Obj::catch
226Obj::die
227Obj::self
228Obj::parent
229Obj::isset
230Obj::unset
231Obj::__CLASS__
232Obj::__TRAIT__
233Obj::__FUNCTION__
234Obj::__METHOD__
235Obj::__LINE__
236Obj::__FILE__
237Obj::__DIR__
238Obj::__NAMESPACE__
239
240Done
241