original_string: private function grabAttribsBeforePropertyToken(Tokens $tokens, $index)
      {
          static $tokenAttribsMap = [
              T_VAR       => null, // destroy T_VAR token!
              T_PRIVATE   => 'visibility',
              T_PROTECTED => 'visibility',
              T_PUBLIC    => 'visibility',
              T_STATIC    => 'static',
          ];
  
          $result = $this->grabAttribsBeforeToken(
              $tokens,
              $index,
              $tokenAttribsMap,
              [
                  'visibility' => new Token([T_PUBLIC, 'public']),
                  'static'     => null,
              ]
          );
          if ($result['visibility'] && 'public' === $result['visibility']->getContent()) {
              // If visibility is public and static is set, we remove visibility.
              if ($result['static']) {
                  $result['visibility'] = null;
              }
          }
          return $result;
      }
code: private function grabAttribsBeforePropertyToken(Tokens $tokens, $index)
      {
          static $tokenAttribsMap = [
              T_VAR       => null, // destroy T_VAR token!
              T_PRIVATE   => 'visibility',
              T_PROTECTED => 'visibility',
              T_PUBLIC    => 'visibility',
              T_STATIC    => 'static',
          ];
  
          $result = $this->grabAttribsBeforeToken(
              $tokens,
              $index,
              $tokenAttribsMap,
              [
                  'visibility' => new Token([T_PUBLIC, 'public']),
                  'static'     => null,
              ]
          );
          if ($result['visibility'] && 'public' === $result['visibility']->getContent()) {
              // If visibility is public and static is set, we remove visibility.
              if ($result['static']) {
                  $result['visibility'] = null;
              }
          }
          return $result;
      }
code_tokens: private function grabAttribsBeforePropertyToken ( Tokens $ tokens , $ index ) { static $ tokenAttribsMap = [ T_VAR => null , // destroy T_VAR token! T_PRIVATE => 'visibility' , T_PROTECTED => 'visibility' , T_PUBLIC => 'visibility' , T_STATIC => 'static' , ] ; $ result = $ this -> grabAttribsBeforeToken ( $ tokens , $ index , $ tokenAttribsMap , [ 'visibility' => new Token ( [ T_PUBLIC , 'public' ] ) , 'static' => null , ] ) ; if ( $ result [ 'visibility' ] && 'public' === $ result [ 'visibility' ] -> getContent ( ) ) { // If visibility is public and static is set, we remove visibility. if ( $ result [ 'static' ] ) { $ result [ 'visibility' ] = null ; } } return $ result ; }
docstring: Grab attributes before property token at given index.
  
  It's a shorthand for grabAttribsBeforeToken method.
  
  @param Tokens $tokens Tokens collection
  @param int    $index  token index
  
  @return array array of grabbed attributes
docstring_tokens: Grab attributes before property token at given index .