It seems like you call parent on a different method (hasType() instead of getType()). Are you sure this is correct? If so, you might want to change this to $this->hasType().
This check looks for a call to a parent method whose name is different than
the method from which it is called.
$metadata is of type object<Metadata\ClassHie...MergeableClassMetadata>, but the function expects a object<Psi\Component\Con...Metadata\ClassMetadata>.
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:
functionacceptsInteger($int){}$x='123';// string "123"// Instead ofacceptsInteger($x);// we recommend to useacceptsInteger((integer)$x);
This check looks for a call to a parent method whose name is different than the method from which it is called.
Consider the following code:
The
getFirstName()
method in theSon
calls the wrong method in the parent class.