Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5964191
TokenCollection.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
TokenCollection.php
View Options
<?php
declare
(
strict_types
=
1
);
namespace
TheSeer\Tokenizer
;
class
TokenCollection
implements
\ArrayAccess
,
\Iterator
,
\Countable
{
/** @var Token[] */
private
$tokens
=
[];
/** @var int */
private
$pos
;
public
function
addToken
(
Token
$token
):
void
{
$this
->
tokens
[]
=
$token
;
}
public
function
current
():
Token
{
return
\current
(
$this
->
tokens
);
}
public
function
key
():
int
{
return
\key
(
$this
->
tokens
);
}
public
function
next
():
void
{
\next
(
$this
->
tokens
);
$this
->
pos
++;
}
public
function
valid
():
bool
{
return
$this
->
count
()
>
$this
->
pos
;
}
public
function
rewind
():
void
{
\reset
(
$this
->
tokens
);
$this
->
pos
=
0
;
}
public
function
count
():
int
{
return
\count
(
$this
->
tokens
);
}
public
function
offsetExists
(
$offset
):
bool
{
return
isset
(
$this
->
tokens
[
$offset
]);
}
/**
* @throws TokenCollectionException
*/
public
function
offsetGet
(
$offset
):
Token
{
if
(!
$this
->
offsetExists
(
$offset
))
{
throw
new
TokenCollectionException
(
\sprintf
(
'No Token at offest %s'
,
$offset
)
);
}
return
$this
->
tokens
[
$offset
];
}
/**
* @param Token $value
*
* @throws TokenCollectionException
*/
public
function
offsetSet
(
$offset
,
$value
):
void
{
if
(!
\is_int
(
$offset
))
{
$type
=
\gettype
(
$offset
);
throw
new
TokenCollectionException
(
\sprintf
(
'Offset must be of type integer, %s given'
,
$type
===
'object'
?
\get_class
(
$value
)
:
$type
)
);
}
if
(!
$value
instanceof
Token
)
{
$type
=
\gettype
(
$value
);
throw
new
TokenCollectionException
(
\sprintf
(
'Value must be of type %s, %s given'
,
Token
::
class
,
$type
===
'object'
?
\get_class
(
$value
)
:
$type
)
);
}
$this
->
tokens
[
$offset
]
=
$value
;
}
public
function
offsetUnset
(
$offset
):
void
{
unset
(
$this
->
tokens
[
$offset
]);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Oct 3, 10:09 (1 w, 2 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
5a/52/bc58134e28e6ed509cb249df1bc6
Default Alt Text
TokenCollection.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment