CodeExplorer removeNull example
|| $methodReflection->
getDeclaringClass()->
isSubclassOf(Collection::
class) ) &&
$methodReflection->
getName() === 'has' && !
$context->
null();
} public function specifyTypes(MethodReflection
$methodReflection, MethodCall
$node, Scope
$scope, TypeSpecifierContext
$context): SpecifiedTypes
{ $getExpr =
new MethodCall($node->var, 'get',
$node->args
);
$getterTypes =
$this->typeSpecifier->
create( $getExpr,
TypeCombinator::
removeNull($scope->
getType($getExpr)),
$context );
return $getterTypes->
unionWith( $this->typeSpecifier->
create( $getExpr,
new NullType(),
$context->
negate() ) );
}