Issues (71)

Security Analysis    no request data  

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

src/IntervalComparator.php (32 issues)

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
/**
4
 * GpsLab component.
5
 *
6
 * @author    Peter Gribanov <[email protected]>
7
 * @copyright Copyright (c) 2016, Peter Gribanov
8
 * @license   http://opensource.org/licenses/MIT
9
 */
10
11
namespace GpsLab\Component\Interval;
12
13
/**
14
 * The comparator must be used only in intervals for safe use the data types.
15
 */
16
class IntervalComparator
17
{
18
    /**
19
     * @var ComparableIntervalInterface
20
     */
21
    private $interval;
22
23
    /**
24
     * @param ComparableIntervalInterface $interval
25
     */
26 63
    public function __construct(ComparableIntervalInterface $interval)
27
    {
28 63
        $this->interval = $interval;
29 63
    }
30
31
    /**
32
     * Checks if this Interval is equal to the specified interval.
33
     *
34
     * @param ComparableIntervalInterface $interval
35
     *
36
     * @return bool
37
     */
38
    public function equal(ComparableIntervalInterface $interval)
39
    {
40
        return
41
            $this->interval->startPoint()->eq($interval->startPoint()) &&
0 ignored issues
show
$interval->startPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
42
            $this->interval->endPoint()->eq($interval->endPoint()) &&
0 ignored issues
show
$interval->endPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
43
            $this->interval->type()->equal($interval->type())
0 ignored issues
show
$interval->type() is of type object<GpsLab\Component\Interval\IntervalType>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
44
        ;
45
    }
46
47
    /**
48
     * Does this interval contain the specified point.
49
     *
50
     * @param IntervalPointInterface $point
51
     *
52
     * @return bool
53
     */
54 7
    public function contains(IntervalPointInterface $point)
55
    {
56 7
        if ($this->interval->startPoint()->eq($point)) {
0 ignored issues
show
$point is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
57 2
            return !$this->interval->type()->startExcluded();
58
        }
59
60 5
        if ($this->interval->endPoint()->eq($point)) {
0 ignored issues
show
$point is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
61 2
            return !$this->interval->type()->endExcluded();
62
        }
63
64 3
        return $this->interval->startPoint()->lt($point) && $this->interval->endPoint()->gt($point);
0 ignored issues
show
$point is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
65
    }
66
67
    /**
68
     * Does this interval intersect the specified interval.
69
     *
70
     * @param ComparableIntervalInterface $interval
71
     *
72
     * @return bool
73
     */
74 8
    public function intersects(ComparableIntervalInterface $interval)
75
    {
76
        if (
77 8
            $this->interval->startPoint()->gt($interval->endPoint()) ||
0 ignored issues
show
$interval->endPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
78 8
            $this->interval->endPoint()->lt($interval->startPoint())
0 ignored issues
show
$interval->startPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
79
        ) {
80 2
            return false;
81
        }
82
83 6 View Code Duplication
        if ($this->interval->startPoint()->eq($interval->endPoint())) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
$interval->endPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
84 3
            return !$this->interval->type()->startExcluded() && !$interval->type()->endExcluded();
85
        }
86
87 3 View Code Duplication
        if ($this->interval->endPoint()->eq($interval->startPoint())) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
$interval->startPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
88 3
            return !$this->interval->type()->endExcluded() && !$interval->type()->startExcluded();
89
        }
90
91
        return true;
92
    }
93
94
    /**
95
     * Gets the intersection between this interval and another interval.
96
     *
97
     * @param ComparableIntervalInterface $interval
98
     *
99
     * @return ComparableIntervalInterface|null
100
     */
101 12
    public function intersection(ComparableIntervalInterface $interval)
102
    {
103
        // intervals is not intersect or impossible create interval from one point
104
        if (
105 12
            $this->interval->startPoint()->gte($interval->endPoint()) ||
0 ignored issues
show
$interval->endPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
106 12
            $this->interval->endPoint()->lte($interval->startPoint())
0 ignored issues
show
$interval->startPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
107
        ) {
108
            // ignore closed intervals:
109
            // [a, b] | [b, c] = [b, b]
110 4
            return null;
111
        }
112
113 8
        $type = IntervalType::TYPE_CLOSED;
114
115 8 View Code Duplication
        if ($this->interval->startPoint()->lt($interval->startPoint())) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
$interval->startPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
116 4
            $start = $interval->startPoint();
117 4
            if ($interval->type()->startExcluded()) {
118 4
                $type |= IntervalType::TYPE_START_EXCLUDED;
119
            }
120
        } else {
121 4
            $start = $this->interval->startPoint();
122 4
            if ($this->interval->type()->startExcluded()) {
123 2
                $type |= IntervalType::TYPE_START_EXCLUDED;
124
            }
125
        }
126
127 8 View Code Duplication
        if ($this->interval->endPoint()->gt($interval->endPoint())) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
$interval->endPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
128 4
            $end = $interval->endPoint();
129 4
            if ($interval->type()->endExcluded()) {
130 4
                $type |= IntervalType::TYPE_END_EXCLUDED;
131
            }
132
        } else {
133 4
            $end = $this->interval->endPoint();
134 4
            if ($this->interval->type()->endExcluded()) {
135 2
                $type |= IntervalType::TYPE_END_EXCLUDED;
136
            }
137
        }
138
139 8
        return $this->interval
140 8
            ->withStart($start)
141 8
            ->withEnd($end)
142 8
            ->withType(IntervalType::create($type));
143
    }
144
145
    /**
146
     * Gets the covered interval between this Interval and another interval.
147
     *
148
     * @param ComparableIntervalInterface $interval
149
     *
150
     * @return ComparableIntervalInterface
151
     */
152
    public function cover(ComparableIntervalInterface $interval)
153
    {
154
        $type = IntervalType::TYPE_CLOSED;
155
156 View Code Duplication
        if ($this->interval->startPoint()->lt($interval->startPoint())) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
$interval->startPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
157
            $start = $this->interval->startPoint();
158
            if ($this->interval->type()->startExcluded()) {
159
                $type |= IntervalType::TYPE_START_EXCLUDED;
160
            }
161
        } else {
162
            $start = $interval->startPoint();
163
            if ($interval->type()->startExcluded()) {
164
                $type |= IntervalType::TYPE_START_EXCLUDED;
165
            }
166
        }
167
168 View Code Duplication
        if ($this->interval->endPoint()->gt($interval->endPoint())) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
$interval->endPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
169
            $end = $this->interval->endPoint();
170
            if ($this->interval->type()->endExcluded()) {
171
                $type |= IntervalType::TYPE_END_EXCLUDED;
172
            }
173
        } else {
174
            $end = $interval->endPoint();
175
            if ($interval->type()->endExcluded()) {
176
                $type |= IntervalType::TYPE_END_EXCLUDED;
177
            }
178
        }
179
180
        return $this->interval
181
            ->withStart($start)
182
            ->withEnd($end)
183
            ->withType(IntervalType::create($type));
184
    }
185
186
    /**
187
     * Gets the gap between this interval and another interval.
188
     *
189
     * @param ComparableIntervalInterface $interval
190
     *
191
     * @return ComparableIntervalInterface|null
192
     */
193
    public function gap(ComparableIntervalInterface $interval)
194
    {
195 View Code Duplication
        if ($this->interval->startPoint()->gt($interval->endPoint())) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
$interval->endPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
196
            $type = IntervalType::TYPE_CLOSED;
197
198
            if (!$interval->type()->endExcluded()) { // invert exclude
199
                $type |= IntervalType::TYPE_START_EXCLUDED;
200
            }
201
202
            if (!$this->interval->type()->startExcluded()) { // invert exclude
203
                $type |= IntervalType::TYPE_END_EXCLUDED;
204
            }
205
206
            return $this->interval
207
                ->withStart($interval->endPoint())
208
                ->withEnd($this->interval->startPoint())
209
                ->withType(IntervalType::create($type));
210
        }
211
212 View Code Duplication
        if ($interval->startPoint()->gt($this->interval->endPoint())) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
$this->interval->endPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
213
            $type = IntervalType::TYPE_CLOSED;
214
215
            if (!$this->interval->type()->endExcluded()) { // invert exclude
216
                $type |= IntervalType::TYPE_START_EXCLUDED;
217
            }
218
219
            if (!$interval->type()->startExcluded()) { // invert exclude
220
                $type |= IntervalType::TYPE_END_EXCLUDED;
221
            }
222
223
            return $this->interval
224
                ->withStart($this->interval->endPoint())
225
                ->withEnd($interval->startPoint())
226
                ->withType(IntervalType::create($type));
227
        }
228
229
        return null; // no gap
230
    }
231
232
    /**
233
     * Does this interval abuts with the interval specified.
234
     *
235
     * @param ComparableIntervalInterface $interval
236
     *
237
     * @return bool
238
     */
239
    public function abuts(ComparableIntervalInterface $interval)
240
    {
241
        return
242
            $interval->endPoint()->eq($this->interval->startPoint()) ||
0 ignored issues
show
$this->interval->startPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
243
            $this->interval->endPoint()->eq($interval->startPoint())
0 ignored issues
show
$interval->startPoint() is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
244
        ;
245
    }
246
247
    /**
248
     * Joins the interval between the adjacent.
249
     *
250
     * @param ComparableIntervalInterface $interval
251
     *
252
     * @return ComparableIntervalInterface|null
253
     */
254
    public function join(ComparableIntervalInterface $interval)
255
    {
256
        if (!$this->abuts($interval)) {
257
            return null;
258
        }
259
260
        return $this->cover($interval);
261
    }
262
263
    /**
264
     * Gets the union between this interval and another interval.
265
     *
266
     * @param ComparableIntervalInterface $interval
267
     *
268
     * @return ComparableIntervalInterface|null
269
     */
270
    public function union(ComparableIntervalInterface $interval)
271
    {
272
        if (!$this->intersects($interval)) {
273
            return null;
274
        }
275
276
        return $this->cover($interval);
277
    }
278
279
    /**
280
     * The point is before the interval.
281
     *
282
     * @param IntervalPointInterface $point
283
     *
284
     * @return bool
285
     */
286
    public function before(IntervalPointInterface $point)
287
    {
288
        if ($this->interval->startPoint()->eq($point)) {
0 ignored issues
show
$point is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
289
            return $this->interval->type()->startExcluded();
290
        }
291
292
        return $this->interval->startPoint()->gt($point);
0 ignored issues
show
$point is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
293
    }
294
295
    /**
296
     * The point is after the interval.
297
     *
298
     * @param IntervalPointInterface $point
299
     *
300
     * @return bool
301
     */
302
    public function after(IntervalPointInterface $point)
303
    {
304
        if ($this->interval->endPoint()->eq($point)) {
0 ignored issues
show
$point is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
305
            return $this->interval->type()->endExcluded();
306
        }
307
308
        return $this->interval->endPoint()->lt($point);
0 ignored issues
show
$point is of type object<GpsLab\Component\...IntervalPointInterface>, but the function expects a object<self>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
309
    }
310
}
311