Completed
Push — master ( 14f6f1...9a86cf )
by Marcus
02:46
created

src/LesserPhp/NodeEnv.php (1 issue)

assigning scalar types to arrays.

Bug Documentation Major

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace LesserPhp;
4
5
/**
6
 * lesserphp
7
 * https://www.maswaba.de/lesserphp
8
 *
9
 * LESS CSS compiler, adapted from http://lesscss.org
10
 *
11
 * Copyright 2013, Leaf Corcoran <[email protected]>
12
 * Copyright 2016, Marcus Schwarz <[email protected]>
13
 * Licensed under MIT or GPLv3, see LICENSE
14
 * @package LesserPhp
15
 */
16
class NodeEnv
17
{
18
19
    public $seenNames;
20
21
    /**
22
     * @var \LesserPhp\NodeEnv
23
     */
24
    private $parent;
25
26
    /**
27
     * @var array
28
     */
29
    private $store = [];
30
31
    /**
32
     * @var \stdClass
33
     */
34
    private $block;
35
36
    /**
37
     * @var array|null
38
     */
39
    private $selectors;
40
41
    /**
42
     * @var array|null
43
     */
44
    private $arguments = [];
45
46
    /**
47
     * @var array
48
     */
49
    private $imports = [];
50
51
    /**
52
     * @return \LesserPhp\NodeEnv
53
     */
54 49
    public function getParent()
55
    {
56 49
        return $this->parent;
57
    }
58
59
    /**
60
     * @param \LesserPhp\NodeEnv $parent
61
     */
62 49
    public function setParent($parent)
63
    {
64 49
        $this->parent = $parent;
65 49
    }
66
67
    /**
68
     * @return array
69
     */
70 28
    public function getStore()
71
    {
72 28
        return $this->store;
73
    }
74
75
    /**
76
     * @param array $store
77
     */
78 49
    public function setStore($store)
79
    {
80 49
        $this->store = $store;
81 49
    }
82
83 27
    public function addStore($index, $value)
84
    {
85 27
        $this->store[$index] = $value;
86 27
    }
87
88
    /**
89
     * @return \stdClass
90
     */
91 3
    public function getBlock()
92
    {
93 3
        return $this->block;
94
    }
95
96
    /**
97
     * @param string $block
98
     */
99 49
    public function setBlock($block)
100
    {
101 49
        $this->block = $block;
102 49
    }
103
104
    /**
105
     * @return array
106
     */
107 46
    public function getSelectors()
108
    {
109 46
        return $this->selectors;
110
    }
111
112
    /**
113
     * @param array $selectors
114
     */
115 46
    public function setSelectors($selectors)
116
    {
117 46
        $this->selectors = $selectors;
118 46
    }
119
120
    /**
121
     * @return mixed
122
     */
123 3
    public function getArguments()
124
    {
125 3
        return $this->arguments;
126
    }
127
128
    /**
129
     * @param mixed $arguments
130
     */
131 16
    public function setArguments($arguments)
132
    {
133 16
        $this->arguments = $arguments;
134 16
    }
135
136
    /**
137
     * @param null $index
138
     *
139
     * @return array
140
     */
141 3
    public function getImports($index = null)
142
    {
143 3
        if ($index === null) {
144
            return $this->imports;
145
        }
146 3
        return $this->imports[$index];
147
    }
148
149
    /**
150
     * @param array|null $imports
151
     */
152
    public function setImports($imports)
153
    {
154
        $this->imports = $imports;
0 ignored issues
show
Documentation Bug introduced by
It seems like $imports can be null. However, the property $imports is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
155
    }
156
157 3
    public function addImports($index, $value)
158
    {
159 3
        $this->imports[$index] = $value;
160 3
    }
161
}
162