semi_reserved_002.phpt 6.5 KB

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