Jump to content

PHP 8 compat checker nullability analysis bug


Colonel_mortis

Recommended Posts

The nullability analysis doesn't take into account nulls that are explicitly in the global namespace (which is unnecessary but legal).

Hook:

	public function canSetBestAnswer( \IPS\Member $member = \NULL )

Original method:

	public function canSetBestAnswer( \IPS\Member $member = NULL )

Analysis:

           [
             "method" => "canSetBestAnswer",
             "reason" => "method_issue_parameters",
             "parameter" => null,
             "subclassFile" => "/applications/lmgsys/hooks/bestAnswer_ForumsTopic.php",
             "baseFile" => "/applications/forums/sources/Topic/Topic.php",
             "baseClass" => "\IPS\forums\Topic",
             "subclassMethod" => [
               "final" => false,
               "security" => "public",
               "static" => false,
               "name" => "canSetBestAnswer",
               "parameters" => [
                 "member" => [
                   "name" => "member",
                   "type" => "\IPS\Member",
                   "nullable" => false,
                   "passedByReference" => false,
                   "packed" => false,
                 ],
               ],
               "returnType" => null,
               "lineNumber" => 17,
             ],
             "subclassName" => "\IPS\forums\lmgsys_hook_bestAnswer_ForumsTopic",
             "baseMethod" => [
               "final" => false,
               "security" => "public",
               "static" => false,
               "name" => "canSetBestAnswer",
               "parameters" => [
                 "member" => [
                   "name" => "member",
                   "type" => "\IPS\Member",
                   "nullable" => true,
                   "passedByReference" => false,
                   "packed" => false,
                 ],
               ],
               "returnType" => null,
               "lineNumber" => 1388,
             ],
             "class" => "\IPS\forums\Topic",
             "priority" => true,
           ],
           [
             "method" => "canSetBestAnswer",
             "reason" => "method_issue_nullable",
             "parameter" => "member",
             "subclassFile" => "/applications/lmgsys/hooks/bestAnswer_ForumsTopic.php",
             "baseFile" => "/applications/forums/sources/Topic/Topic.php",
             "baseClass" => "\IPS\forums\Topic",
             "subclassMethod" => [
               "final" => false,
               "security" => "public",
               "static" => false,
               "name" => "canSetBestAnswer",
               "parameters" => [
                 "member" => [
                   "name" => "member",
                   "type" => "\IPS\Member",
                   "nullable" => false,
                   "passedByReference" => false,
                   "packed" => false,
                 ],
               ],
               "returnType" => null,
               "lineNumber" => 17,
             ],
             "subclassName" => "\IPS\forums\lmgsys_hook_bestAnswer_ForumsTopic",
             "baseMethod" => [
               "final" => false,
               "security" => "public",
               "static" => false,
               "name" => "canSetBestAnswer",
               "parameters" => [
                 "member" => [
                   "name" => "member",
                   "type" => "\IPS\Member",
                   "nullable" => true,
                   "passedByReference" => false,
                   "packed" => false,
                 ],
               ],
               "returnType" => null,
               "lineNumber" => 1388,
             ],
             "class" => "\IPS\forums\Topic",
             "priority" => true,
           ],
         ],

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...