It seems like $executable ?: $this can also be of type Carno\Database\SQL\Kit; however, parameter $executor of Carno\Database\SQL\Builder::__construct() does only seem to accept Carno\Database\Contracts\Executable, maybe add an additional type check?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the ignore-type annotation
The expression $this->chips of type array is implicitly converted to a boolean; are you sure this is intended? If so, consider using ! empty($expr) instead to make it clear that you intend to check for an array without elements.
This check marks implicit conversions of arrays to boolean values in a comparison. While in PHP an
empty array is considered to be equal (but not identical) to false, this is not always apparent.
Consider making the comparison explicit by using empty(..) or !empty(...) instead.
Loading history...
45
return $this->chips;
46
}
47
48
foreach ($this->features as $feature) {
49
if (method_exists($this, $chip = sprintf('%sChip', $feature))) {