original_string: private function __isInvokable($name)
      {
          if (!$this->__isCalled) {
              $property = $this->findPropertyName($name);
              if (!empty($property)) {
                  $reflection = new ReflectionProperty(get_class($this), $property);
                  return $reflection->isPublic();
              }
          }
          return true;
      }
code: private function __isInvokable($name)
      {
          if (!$this->__isCalled) {
              $property = $this->findPropertyName($name);
              if (!empty($property)) {
                  $reflection = new ReflectionProperty(get_class($this), $property);
                  return $reflection->isPublic();
              }
          }
          return true;
      }
code_tokens: private function __isInvokable ( $ name ) { if ( ! $ this -> __isCalled ) { $ property = $ this -> findPropertyName ( $ name ) ; if ( ! empty ( $ property ) ) { $ reflection = new ReflectionProperty ( get_class ( $ this ) , $ property ) ; return $ reflection -> isPublic ( ) ; } } return true ; }
docstring: Check if a property is invokable in the final object
  
  Returns `false` if property access was direct and its scope is not public.
  
  @param string $name The property name
  @return bool
docstring_tokens: Check if a property is invokable in the final object