semi_reserved_001.phpt 6.1 KB

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