original_string: public function getCauseMessage(&$causes)
      {
          $trace = $this->getTraceSafe();
          $cause = array('class'   => get_class($this),
                         'message' => $this->message,
                         'file' => 'unknown',
                         'line' => 'unknown');
          if (isset($trace[0])) {
              if (isset($trace[0]['file'])) {
                  $cause['file'] = $trace[0]['file'];
                  $cause['line'] = $trace[0]['line'];
              }
          }
          $causes[] = $cause;
          if ($this->cause instanceof PEAR_Exception) {
              $this->cause->getCauseMessage($causes);
          } elseif ($this->cause instanceof Exception) {
              $causes[] = array('class'   => get_class($this->cause),
                                'message' => $this->cause->getMessage(),
                                'file' => $this->cause->getFile(),
                                'line' => $this->cause->getLine());
          } elseif (class_exists('PEAR_Error') && $this->cause instanceof PEAR_Error) {
              $causes[] = array('class' => get_class($this->cause),
                                'message' => $this->cause->getMessage(),
                                'file' => 'unknown',
                                'line' => 'unknown');
          } elseif (is_array($this->cause)) {
              foreach ($this->cause as $cause) {
                  if ($cause instanceof PEAR_Exception) {
                      $cause->getCauseMessage($causes);
                  } elseif ($cause instanceof Exception) {
                      $causes[] = array('class'   => get_class($cause),
                                     'message' => $cause->getMessage(),
                                     'file' => $cause->getFile(),
                                     'line' => $cause->getLine());
                  } elseif (class_exists('PEAR_Error') && $cause instanceof PEAR_Error) {
                      $causes[] = array('class' => get_class($cause),
                                        'message' => $cause->getMessage(),
                                        'file' => 'unknown',
                                        'line' => 'unknown');
                  } elseif (is_array($cause) && isset($cause['message'])) {
                      // PEAR_ErrorStack warning
                      $causes[] = array(
                          'class' => $cause['package'],
                          'message' => $cause['message'],
                          'file' => isset($cause['context']['file']) ?
                                              $cause['context']['file'] :
                                              'unknown',
                          'line' => isset($cause['context']['line']) ?
                                              $cause['context']['line'] :
                                              'unknown',
                      );
                  }
              }
          }
      }
code: public function getCauseMessage(&$causes)
      {
          $trace = $this->getTraceSafe();
          $cause = array('class'   => get_class($this),
                         'message' => $this->message,
                         'file' => 'unknown',
                         'line' => 'unknown');
          if (isset($trace[0])) {
              if (isset($trace[0]['file'])) {
                  $cause['file'] = $trace[0]['file'];
                  $cause['line'] = $trace[0]['line'];
              }
          }
          $causes[] = $cause;
          if ($this->cause instanceof PEAR_Exception) {
              $this->cause->getCauseMessage($causes);
          } elseif ($this->cause instanceof Exception) {
              $causes[] = array('class'   => get_class($this->cause),
                                'message' => $this->cause->getMessage(),
                                'file' => $this->cause->getFile(),
                                'line' => $this->cause->getLine());
          } elseif (class_exists('PEAR_Error') && $this->cause instanceof PEAR_Error) {
              $causes[] = array('class' => get_class($this->cause),
                                'message' => $this->cause->getMessage(),
                                'file' => 'unknown',
                                'line' => 'unknown');
          } elseif (is_array($this->cause)) {
              foreach ($this->cause as $cause) {
                  if ($cause instanceof PEAR_Exception) {
                      $cause->getCauseMessage($causes);
                  } elseif ($cause instanceof Exception) {
                      $causes[] = array('class'   => get_class($cause),
                                     'message' => $cause->getMessage(),
                                     'file' => $cause->getFile(),
                                     'line' => $cause->getLine());
                  } elseif (class_exists('PEAR_Error') && $cause instanceof PEAR_Error) {
                      $causes[] = array('class' => get_class($cause),
                                        'message' => $cause->getMessage(),
                                        'file' => 'unknown',
                                        'line' => 'unknown');
                  } elseif (is_array($cause) && isset($cause['message'])) {
                      // PEAR_ErrorStack warning
                      $causes[] = array(
                          'class' => $cause['package'],
                          'message' => $cause['message'],
                          'file' => isset($cause['context']['file']) ?
                                              $cause['context']['file'] :
                                              'unknown',
                          'line' => isset($cause['context']['line']) ?
                                              $cause['context']['line'] :
                                              'unknown',
                      );
                  }
              }
          }
      }
code_tokens: public function getCauseMessage ( & $ causes ) { $ trace = $ this -> getTraceSafe ( ) ; $ cause = array ( 'class' => get_class ( $ this ) , 'message' => $ this -> message , 'file' => 'unknown' , 'line' => 'unknown' ) ; if ( isset ( $ trace [ 0 ] ) ) { if ( isset ( $ trace [ 0 ] [ 'file' ] ) ) { $ cause [ 'file' ] = $ trace [ 0 ] [ 'file' ] ; $ cause [ 'line' ] = $ trace [ 0 ] [ 'line' ] ; } } $ causes [ ] = $ cause ; if ( $ this -> cause instanceof PEAR_Exception ) { $ this -> cause -> getCauseMessage ( $ causes ) ; } elseif ( $ this -> cause instanceof Exception ) { $ causes [ ] = array ( 'class' => get_class ( $ this -> cause ) , 'message' => $ this -> cause -> getMessage ( ) , 'file' => $ this -> cause -> getFile ( ) , 'line' => $ this -> cause -> getLine ( ) ) ; } elseif ( class_exists ( 'PEAR_Error' ) && $ this -> cause instanceof PEAR_Error ) { $ causes [ ] = array ( 'class' => get_class ( $ this -> cause ) , 'message' => $ this -> cause -> getMessage ( ) , 'file' => 'unknown' , 'line' => 'unknown' ) ; } elseif ( is_array ( $ this -> cause ) ) { foreach ( $ this -> cause as $ cause ) { if ( $ cause instanceof PEAR_Exception ) { $ cause -> getCauseMessage ( $ causes ) ; } elseif ( $ cause instanceof Exception ) { $ causes [ ] = array ( 'class' => get_class ( $ cause ) , 'message' => $ cause -> getMessage ( ) , 'file' => $ cause -> getFile ( ) , 'line' => $ cause -> getLine ( ) ) ; } elseif ( class_exists ( 'PEAR_Error' ) && $ cause instanceof PEAR_Error ) { $ causes [ ] = array ( 'class' => get_class ( $ cause ) , 'message' => $ cause -> getMessage ( ) , 'file' => 'unknown' , 'line' => 'unknown' ) ; } elseif ( is_array ( $ cause ) && isset ( $ cause [ 'message' ] ) ) { // PEAR_ErrorStack warning $ causes [ ] = array ( 'class' => $ cause [ 'package' ] , 'message' => $ cause [ 'message' ] , 'file' => isset ( $ cause [ 'context' ] [ 'file' ] ) ? $ cause [ 'context' ] [ 'file' ] : 'unknown' , 'line' => isset ( $ cause [ 'context' ] [ 'line' ] ) ? $ cause [ 'context' ] [ 'line' ] : 'unknown' , ) ; } } } }
docstring: Function must be public to call on caused exceptions
  @param array
docstring_tokens: Function must be public to call on caused exceptions