original_string: private static function __isInvokableStatic($name)
      {
          $classname = get_called_class();
          $reflection_class = new ReflectionClass($classname);
          $properties = $reflection_class->getStaticProperties();
          $property = self::findPropertyNameStatic($name, $classname);
          if (!empty($property)) {
              $reflection = new ReflectionProperty($classname, $property);
              return (bool) !($reflection->isPrivate());
          }
          return true;
      }
code: private static function __isInvokableStatic($name)
      {
          $classname = get_called_class();
          $reflection_class = new ReflectionClass($classname);
          $properties = $reflection_class->getStaticProperties();
          $property = self::findPropertyNameStatic($name, $classname);
          if (!empty($property)) {
              $reflection = new ReflectionProperty($classname, $property);
              return (bool) !($reflection->isPrivate());
          }
          return true;
      }
code_tokens: private static function __isInvokableStatic ( $ name ) { $ classname = get_called_class ( ) ; $ reflection_class = new ReflectionClass ( $ classname ) ; $ properties = $ reflection_class -> getStaticProperties ( ) ; $ property = self :: findPropertyNameStatic ( $ name , $ classname ) ; if ( ! empty ( $ property ) ) { $ reflection = new ReflectionProperty ( $ classname , $ property ) ; return ( bool ) ! ( $ reflection -> isPrivate ( ) ) ; } return true ; }
docstring: Check if a property is statically invokable in the final object
  
  Returns `false` if property access was direct and its scope is not static & public.
  
  @param string $name The property name
  @return bool
docstring_tokens: Check if a property is statically invokable in the final object