Skip to content

Commit 6ba3fa2

Browse files
committed
Add stubs for SPL
1 parent 534c343 commit 6ba3fa2

File tree

5 files changed

+538
-149
lines changed

5 files changed

+538
-149
lines changed

ext/spl/php_spl.stub.php

Lines changed: 291 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,294 @@ function iterator_apply(Traversable $iterator, callable $function, ?array $args
3333
function iterator_count(Traversable $iterator): int {}
3434

3535
function iterator_to_array(Traversable $iterator, bool $use_keys = true): array {}
36+
37+
/* ext/spl/spl_array.c */
38+
39+
class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable
40+
{
41+
/** @param array|object $input */
42+
public function __construct($input = UNKNOWN, int $flags = 0, string $iterator_class = "ArrayIterator") {}
43+
44+
/**
45+
* @param mixed $index
46+
* @return bool
47+
*/
48+
public function offsetExists($index) {}
49+
50+
/**
51+
* @param mixed $index
52+
* @return mixed
53+
*/
54+
public function offsetGet($index) {}
55+
56+
/**
57+
* @param mixed $index
58+
* @param mixed $value
59+
* @return void
60+
*/
61+
public function offsetSet($index, $value) {}
62+
63+
/**
64+
* @param mixed $index
65+
* @return void
66+
*/
67+
public function offsetUnset($index) {}
68+
69+
/**
70+
* @param mixed $value
71+
* @return void
72+
*/
73+
public function append($value) {}
74+
75+
/** @return array */
76+
public function getArrayCopy() {}
77+
78+
/** @return int */
79+
public function count() {}
80+
81+
/** @return int */
82+
public function getFlags() {}
83+
84+
/** @return void */
85+
public function setFlags(int $flags) {}
86+
87+
/**
88+
* @param int $sort_flags
89+
* @return bool
90+
*/
91+
public function asort($sort_flags = SORT_REGULAR) {}
92+
93+
/**
94+
* @param int $sort_flags
95+
* @return bool
96+
*/
97+
public function ksort($sort_flags = SORT_REGULAR) {}
98+
99+
/**
100+
* @param callback $cmp_function
101+
* @return bool
102+
*/
103+
public function uasort($cmp_function) {}
104+
105+
/**
106+
* @param callback $cmp_function
107+
* @return bool
108+
*/
109+
public function uksort($cmp_function) {}
110+
111+
/** @return bool */
112+
public function natsort() {}
113+
114+
/** @return bool */
115+
public function natcasesort() {}
116+
117+
/** @return void */
118+
public function unserialize(string $serialized) {}
119+
120+
/** @return string|null */
121+
public function serialize() {}
122+
123+
/** @return array */
124+
public function __serialize() {}
125+
126+
/** @return void */
127+
public function __unserialize(array $data) {}
128+
129+
/** @return ArrayIterator */
130+
public function getIterator() {}
131+
132+
/**
133+
* @param array|object $input
134+
* @return array|null
135+
*/
136+
public function exchangeArray($input) {}
137+
138+
/** @return void */
139+
public function setIteratorClass(string $iteratorClass) {}
140+
141+
/** @return string */
142+
public function getIteratorClass() {}
143+
}
144+
145+
class ArrayIterator implements SeekableIterator, ArrayAccess, Serializable, Countable
146+
{
147+
/** @param array|object $array */
148+
public function __construct($array = UNKNOWN, int $flags = 0) {}
149+
150+
/**
151+
* @param mixed $index
152+
* @return bool
153+
*/
154+
public function offsetExists($index) {}
155+
156+
/**
157+
* @param mixed $index
158+
* @return mixed
159+
*/
160+
public function offsetGet($index) {}
161+
162+
/**
163+
* @param mixed $index
164+
* @param mixed $value
165+
* @return void
166+
*/
167+
public function offsetSet($index, $value) {}
168+
169+
/**
170+
* @param mixed $index
171+
* @return void
172+
*/
173+
public function offsetUnset($index) {}
174+
175+
/**
176+
* @param mixed $value
177+
* @return void
178+
*/
179+
public function append($value) {}
180+
181+
/** @return array */
182+
public function getArrayCopy() {}
183+
184+
/** @return int */
185+
public function count() {}
186+
187+
/** @return int */
188+
public function getFlags() {}
189+
190+
/** @return void */
191+
public function setFlags(int $flags) {}
192+
193+
/**
194+
* @param int $sort_flags
195+
* @return bool
196+
*/
197+
public function asort($sort_flags = SORT_REGULAR) {}
198+
199+
/**
200+
* @param int $sort_flags
201+
* @return bool
202+
*/
203+
public function ksort($sort_flags = SORT_REGULAR) {}
204+
205+
/**
206+
* @param callback $cmp_function
207+
* @return bool
208+
*/
209+
public function uasort($cmp_function) {}
210+
211+
/**
212+
* @param callback $cmp_function
213+
* @return bool
214+
*/
215+
public function uksort($cmp_function) {}
216+
217+
/** @return bool */
218+
public function natsort() {}
219+
220+
/** @return bool */
221+
public function natcasesort() {}
222+
223+
/** @return void */
224+
public function unserialize(string $serialized) {}
225+
226+
/** @return string|null */
227+
public function serialize() {}
228+
229+
/** @return array */
230+
public function __serialize() {}
231+
232+
/** @return void */
233+
public function __unserialize(array $data) {}
234+
235+
/** @return void */
236+
public function rewind() {}
237+
238+
/** @return mixed */
239+
public function current() {}
240+
241+
/** @return mixed */
242+
public function key() {}
243+
244+
/** @return void */
245+
public function next() {}
246+
247+
/** @return bool */
248+
public function valid() {}
249+
250+
/** @return void */
251+
public function seek(int $position) {}
252+
}
253+
254+
class RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator
255+
{
256+
/** @return bool */
257+
public function hasChildren() {}
258+
259+
/** @return RecursiveArrayIterator|null */
260+
public function getChildren() {}
261+
}
262+
263+
/* ext/spl/spl_fixedarray.c */
264+
265+
class SplFixedArray implements Iterator, ArrayAccess, Countable
266+
{
267+
public function __construct(int $size = 0) {}
268+
269+
/** @return void */
270+
public function __wakeup() {}
271+
272+
/** @return int */
273+
public function count() {}
274+
275+
/** @return array */
276+
public function toArray() {}
277+
278+
/** @return SplFixedArray */
279+
public static function fromArray(array $array, bool $save_indexes = true) {}
280+
281+
/** @return int */
282+
public function getSize() {}
283+
284+
/** @return bool */
285+
public function setSize(int $size) {}
286+
287+
/**
288+
* @param mixed $index
289+
* @return bool
290+
*/
291+
public function offsetExists($index) {}
292+
293+
/**
294+
* @param mixed $index
295+
* @return mixed
296+
*/
297+
public function offsetGet($index) {}
298+
299+
/**
300+
* @param mixed $index
301+
* @param mixed $value
302+
* @return void
303+
*/
304+
public function offsetSet($index, $value) {}
305+
306+
/**
307+
* @param int $index
308+
* @return void
309+
*/
310+
public function offsetUnset($index) {}
311+
312+
/** @return void */
313+
public function rewind() {}
314+
315+
/** @return mixed */
316+
public function current() {}
317+
318+
/** @return int */
319+
public function key() {}
320+
321+
/** @return void */
322+
public function next() {}
323+
324+
/** @return bool */
325+
public function valid() {}
326+
}

0 commit comments

Comments
 (0)