original_string: public function flag()
      {
          $args = func_get_args();
          $num = count($args);
  
          if ($num > 1) {
              $this->flags[$args[0]] = $args[1];
  
              return $this;
          }
  
          if (array_key_exists($args[0], $this->flags)) {
              return $this->flags[$args[0]];
          }
      }
code: public function flag()
      {
          $args = func_get_args();
          $num = count($args);
  
          if ($num > 1) {
              $this->flags[$args[0]] = $args[1];
  
              return $this;
          }
  
          if (array_key_exists($args[0], $this->flags)) {
              return $this->flags[$args[0]];
          }
      }
code_tokens: public function flag ( ) { $ args = func_get_args ( ) ; $ num = count ( $ args ) ; if ( $ num > 1 ) { $ this -> flags [ $ args [ 0 ] ] = $ args [ 1 ] ; return $ this ; } if ( array_key_exists ( $ args [ 0 ] , $ this -> flags ) ) { return $ this -> flags [ $ args [ 0 ] ] ; } }
docstring: A simple mechanism for storing arbitrary flags. Flags are useful
  for tweaking behavior based on their presence.
  
  @return $this|mixed
docstring_tokens: A simple mechanism for storing arbitrary flags . Flags are useful for tweaking behavior based on their presence .