ImmVectorLikeTrait   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 3
c 0
b 0
f 0
lcom 0
cbo 3
dl 0
loc 25
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A offsetGet() 0 7 1
A offsetSet() 0 4 1
A offsetUnset() 0 4 1
1
<?php
2
3
namespace Collections\Traits;
4
5
use Collections\Exception\InvalidOperationException;
6
7
trait ImmVectorLikeTrait
8
{
9
    use ConstVectorLikeTrait, CommonImmMutableContainerTrait;
10
11
    /**
12
     * identical to at, implemented for ArrayAccess
13
     */
14
    public function offsetGet($offset)
15
    {
16
        $this->validateKeyType($offset);
17
        $this->validateKeyBounds($offset);
18
19
        return $this->container[$offset];
20
    }
21
22
    public function offsetSet($offset, $value)
0 ignored issues
show
Unused Code introduced by
The parameter $offset is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $value is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
23
    {
24
        throw InvalidOperationException::unsupportedSet($this);
25
    }
26
27
    public function offsetUnset($offset)
0 ignored issues
show
Unused Code introduced by
The parameter $offset is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
28
    {
29
        throw InvalidOperationException::unsupportedUnset($this);
30
    }
31
}
32