PageRenderTime 26ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/src/idl/array.idl.php

https://github.com/zsj888/hiphop-php
PHP | 376 lines | 286 code | 87 blank | 3 comment | 0 complexity | 403852fbfa6c8cb0bfdbb96e36274183 MD5 | raw file
  1. <?php
  2. include_once 'base.php';
  3. ///////////////////////////////////////////////////////////////////////////////
  4. k("UCOL_DEFAULT", Int64);
  5. k("UCOL_PRIMARY", Int64);
  6. k("UCOL_SECONDARY", Int64);
  7. k("UCOL_TERTIARY", Int64);
  8. k("UCOL_DEFAULT_STRENGTH", Int64);
  9. k("UCOL_QUATERNARY", Int64);
  10. k("UCOL_IDENTICAL", Int64);
  11. k("UCOL_OFF", Int64);
  12. k("UCOL_ON", Int64);
  13. k("UCOL_SHIFTED", Int64);
  14. k("UCOL_NON_IGNORABLE", Int64);
  15. k("UCOL_LOWER_FIRST", Int64);
  16. k("UCOL_UPPER_FIRST", Int64);
  17. k("UCOL_FRENCH_COLLATION", Int64);
  18. k("UCOL_ALTERNATE_HANDLING", Int64);
  19. k("UCOL_CASE_FIRST", Int64);
  20. k("UCOL_CASE_LEVEL", Int64);
  21. k("UCOL_NORMALIZATION_MODE", Int64);
  22. k("UCOL_STRENGTH", Int64);
  23. k("UCOL_HIRAGANA_QUATERNARY_MODE", Int64);
  24. k("UCOL_NUMERIC_COLLATION", Int64);
  25. f('array_change_key_case', Variant,
  26. array('input' => Variant,
  27. 'upper' => array(Boolean, 'false')), FunctionIsFoldable);
  28. f('array_chunk', Variant,
  29. array('input' => Variant,
  30. 'size' => Int32,
  31. 'preserve_keys' => array(Boolean, 'false')), FunctionIsFoldable);
  32. f('array_combine', Variant,
  33. array('keys' => Variant,
  34. 'values' => Variant), FunctionIsFoldable);
  35. f('array_count_values', Variant,
  36. array('input' => Variant), FunctionIsFoldable);
  37. f('array_fill_keys', Variant,
  38. array('keys' => Variant,
  39. 'value' => Variant), FunctionIsFoldable);
  40. f('array_fill', Variant,
  41. array('start_index' => Int32,
  42. 'num' => Int32,
  43. 'value' => Variant), FunctionIsFoldable);
  44. f('array_filter', Variant,
  45. array('input' => Variant,
  46. 'callback' => array(Variant, 'null_variant')), FunctionIsFoldable);
  47. f('array_flip', Variant,
  48. array('trans' => Variant), FunctionIsFoldable);
  49. f('array_key_exists', Boolean,
  50. array('key' => Variant,
  51. 'search' => Variant), FunctionIsFoldable);
  52. f('key_exists', Boolean,
  53. array('key' => Variant,
  54. 'search' => Variant), FunctionIsFoldable);
  55. f('array_keys', Variant,
  56. array('input' => Variant,
  57. 'search_value' => array(Variant, 'null_variant'),
  58. 'strict' => array(Boolean, 'false')), FunctionIsFoldable);
  59. f('array_map', Variant,
  60. array('callback' => Variant,
  61. 'arr1' => Variant),
  62. VariableArguments);
  63. f('array_merge_recursive', Variant,
  64. array('array1' => Variant),
  65. VariableArguments | FunctionIsFoldable);
  66. f('array_merge', Variant,
  67. array('array1' => Variant),
  68. VariableArguments | FunctionIsFoldable);
  69. f('array_replace_recursive', Variant,
  70. array('array1' => Variant),
  71. VariableArguments | FunctionIsFoldable);
  72. f('array_replace', Variant,
  73. array('array1' => Variant),
  74. VariableArguments | FunctionIsFoldable);
  75. f('array_multisort', Boolean,
  76. array('ar1' => Variant | Reference),
  77. MixedVariableArguments);
  78. f('array_pad', Variant,
  79. array('input' => Variant,
  80. 'pad_size' => Int32,
  81. 'pad_value' => Variant), FunctionIsFoldable);
  82. f('array_pop', Variant,
  83. array('array' => VariantMap | Reference));
  84. f('array_product', Variant,
  85. array('array' => Variant), FunctionIsFoldable);
  86. f('array_push', Variant,
  87. array('array' => VariantMap | Reference,
  88. 'var' => Variant),
  89. VariableArguments);
  90. f('array_rand', Variant,
  91. array('input' => Variant,
  92. 'num_req' => array(Int32, '1')));
  93. f('array_reduce', Variant,
  94. array('input' => Variant,
  95. 'callback' => Variant,
  96. 'initial' => array(Variant, 'null_variant')));
  97. f('array_reverse', Variant,
  98. array('array' => Variant,
  99. 'preserve_keys' => array(Boolean, 'false')), FunctionIsFoldable);
  100. f('array_search', Variant,
  101. array('needle' => Variant,
  102. 'haystack' => Variant,
  103. 'strict' => array(Boolean, 'false')), FunctionIsFoldable);
  104. f('array_shift', Variant,
  105. array('array' => VariantMap | Reference));
  106. f('array_slice', Variant,
  107. array('array' => Variant,
  108. 'offset' => Int32,
  109. 'length' => array(Variant, 'null_variant'),
  110. 'preserve_keys' => array(Boolean, 'false')), FunctionIsFoldable);
  111. f('array_splice', Variant,
  112. array('input' => VariantMap | Reference,
  113. 'offset' => Int32,
  114. 'length' => array(Variant, 'null_variant'),
  115. 'replacement' => array(Variant, 'null_variant')));
  116. f('array_sum', Variant,
  117. array('array' => Variant), FunctionIsFoldable);
  118. f('array_unique', Variant,
  119. array('array' => Variant), FunctionIsFoldable);
  120. f('array_unshift', Int32,
  121. array('array' => VariantMap | Reference,
  122. 'var' => Variant),
  123. VariableArguments);
  124. f('array_values', Variant,
  125. array('input' => Variant), FunctionIsFoldable);
  126. f('array_walk_recursive', Boolean,
  127. array('input' => VariantMap | Reference,
  128. 'funcname' => Variant,
  129. 'userdata' => array(Variant, 'null_variant')));
  130. f('array_walk', Boolean,
  131. array('input' => VariantMap | Reference,
  132. 'funcname' => Variant,
  133. 'userdata' => array(Variant, 'null_variant')));
  134. f('compact', VariantMap,
  135. array('varname' => Variant),
  136. VariableArguments);
  137. f('shuffle', Boolean,
  138. array('array' => VariantMap | Reference));
  139. f('count', Int32,
  140. array('var' => Variant,
  141. 'recursive' => array(Boolean, 'false')), FunctionIsFoldable);
  142. f('sizeof', Int32,
  143. array('var' => Variant,
  144. 'recursive' => array(Boolean, 'false')), FunctionIsFoldable);
  145. f('each', Variant,
  146. array('array' => VariantMap | Reference));
  147. f('current', Variant,
  148. array('array' => VariantMap | Reference));
  149. f('next', Variant,
  150. array('array' => VariantMap | Reference));
  151. f('pos', Variant,
  152. array('array' => VariantMap | Reference));
  153. f('prev', Variant,
  154. array('array' => VariantMap | Reference));
  155. f('reset', Variant,
  156. array('array' => VariantMap | Reference));
  157. f('end', Variant,
  158. array('array' => VariantMap | Reference));
  159. f('in_array', Boolean,
  160. array('needle' => Variant,
  161. 'haystack' => Variant,
  162. 'strict' => array(Boolean, 'false')), FunctionIsFoldable);
  163. f('key', Variant,
  164. array('array' => VariantMap | Reference));
  165. f('range', Variant,
  166. array('low' => Variant,
  167. 'high' => Variant,
  168. 'step' => array(Variant, '1')), FunctionIsFoldable);
  169. ///////////////////////////////////////////////////////////////////////////////
  170. f('array_diff', Variant,
  171. array('array1' => Variant,
  172. 'array2' => Variant),
  173. VariableArguments | FunctionIsFoldable);
  174. f('array_udiff', Variant,
  175. array('array1' => Variant,
  176. 'array2' => Variant,
  177. 'data_compare_func' => Variant),
  178. VariableArguments);
  179. f('array_diff_assoc', Variant,
  180. array('array1' => Variant,
  181. 'array2' => Variant),
  182. VariableArguments | FunctionIsFoldable);
  183. f('array_diff_uassoc', Variant,
  184. array('array1' => Variant,
  185. 'array2' => Variant,
  186. 'key_compare_func' => Variant),
  187. VariableArguments);
  188. f('array_udiff_assoc', Variant,
  189. array('array1' => Variant,
  190. 'array2' => Variant,
  191. 'data_compare_func' => Variant),
  192. VariableArguments);
  193. f('array_udiff_uassoc', Variant,
  194. array('array1' => Variant,
  195. 'array2' => Variant,
  196. 'data_compare_func' => Variant,
  197. 'key_compare_func' => Variant),
  198. VariableArguments);
  199. f('array_diff_key', Variant,
  200. array('array1' => Variant,
  201. 'array2' => Variant),
  202. VariableArguments | FunctionIsFoldable);
  203. f('array_diff_ukey', Variant,
  204. array('array1' => Variant,
  205. 'array2' => Variant,
  206. 'key_compare_func' => Variant),
  207. VariableArguments);
  208. f('array_intersect', Variant,
  209. array('array1' => Variant,
  210. 'array2' => Variant),
  211. VariableArguments | FunctionIsFoldable);
  212. f('array_uintersect', Variant,
  213. array('array1' => Variant,
  214. 'array2' => Variant,
  215. 'data_compare_func' => Variant),
  216. VariableArguments);
  217. f('array_intersect_assoc', Variant,
  218. array('array1' => Variant,
  219. 'array2' => Variant),
  220. VariableArguments | FunctionIsFoldable);
  221. f('array_intersect_uassoc', Variant,
  222. array('array1' => Variant,
  223. 'array2' => Variant,
  224. 'key_compare_func' => Variant),
  225. VariableArguments);
  226. f('array_uintersect_assoc', Variant,
  227. array('array1' => Variant,
  228. 'array2' => Variant,
  229. 'data_compare_func' => Variant),
  230. VariableArguments);
  231. f('array_uintersect_uassoc', Variant,
  232. array('array1' => Variant,
  233. 'array2' => Variant,
  234. 'data_compare_func' => Variant,
  235. 'key_compare_func' => Variant),
  236. VariableArguments);
  237. f('array_intersect_key', Variant,
  238. array('array1' => Variant,
  239. 'array2' => Variant),
  240. VariableArguments | FunctionIsFoldable);
  241. f('array_intersect_ukey', Variant,
  242. array('array1' => Variant,
  243. 'array2' => Variant,
  244. 'key_compare_func' => Variant),
  245. VariableArguments);
  246. ///////////////////////////////////////////////////////////////////////////////
  247. f('sort', Boolean,
  248. array('array' => VariantMap | Reference,
  249. 'sort_flags' => array(Int32, '0'),
  250. 'use_collator' => array(Boolean, 'false')));
  251. f('rsort', Boolean,
  252. array('array' => VariantMap | Reference,
  253. 'sort_flags' => array(Int32, '0'),
  254. 'use_collator' => array(Boolean, 'false')));
  255. f('asort', Boolean,
  256. array('array' => VariantMap | Reference,
  257. 'sort_flags' => array(Int32, '0'),
  258. 'use_collator' => array(Boolean, 'false')));
  259. f('arsort', Boolean,
  260. array('array' => VariantMap | Reference,
  261. 'sort_flags' => array(Int32, '0'),
  262. 'use_collator' => array(Boolean, 'false')));
  263. f('ksort', Boolean,
  264. array('array' => VariantMap | Reference,
  265. 'sort_flags' => array(Int32, '0')));
  266. f('krsort', Boolean,
  267. array('array' => VariantMap | Reference,
  268. 'sort_flags' => array(Int32, '0')));
  269. f('usort', Boolean,
  270. array('array' => VariantMap | Reference,
  271. 'cmp_function' => Variant));
  272. f('uasort', Boolean,
  273. array('array' => VariantMap | Reference,
  274. 'cmp_function' => Variant));
  275. f('uksort', Boolean,
  276. array('array' => VariantMap | Reference,
  277. 'cmp_function' => Variant));
  278. f('natsort', Variant,
  279. array('array' => VariantMap | Reference));
  280. f('natcasesort', Variant,
  281. array('array' => VariantMap | Reference));
  282. f('i18n_loc_get_default', String);
  283. f('i18n_loc_set_default', Boolean,
  284. array('locale' => String));
  285. f('i18n_loc_set_attribute', Boolean,
  286. array('attr' => Int64, 'val' => Int64));
  287. f('i18n_loc_set_strength', Boolean,
  288. array('strength' => Int64));
  289. f('i18n_loc_get_error_code', Variant);