original_string: protected function merge_overrideparams(array $overrideparams = null) {
          $overrideparams = (array)$overrideparams;
          $params = $this->params;
          foreach ($overrideparams as $key => $value) {
              if (is_int($key)) {
                  throw new coding_exception('Overridden parameters can not have numeric keys!');
              }
              if (is_array($value)) {
                  throw new coding_exception('Overridden parameters values can not be arrays!');
              }
              if (is_object($value) and !method_exists($value, '__toString')) {
                  throw new coding_exception('Overridden parameters values can not be objects, unless __toString() is defined!');
              }
              $params[$key] = (string)$value;
          }
          return $params;
      }
code: protected function merge_overrideparams(array $overrideparams = null) {
          $overrideparams = (array)$overrideparams;
          $params = $this->params;
          foreach ($overrideparams as $key => $value) {
              if (is_int($key)) {
                  throw new coding_exception('Overridden parameters can not have numeric keys!');
              }
              if (is_array($value)) {
                  throw new coding_exception('Overridden parameters values can not be arrays!');
              }
              if (is_object($value) and !method_exists($value, '__toString')) {
                  throw new coding_exception('Overridden parameters values can not be objects, unless __toString() is defined!');
              }
              $params[$key] = (string)$value;
          }
          return $params;
      }
code_tokens: protected function merge_overrideparams ( array $ overrideparams = null ) { $ overrideparams = ( array ) $ overrideparams ; $ params = $ this -> params ; foreach ( $ overrideparams as $ key => $ value ) { if ( is_int ( $ key ) ) { throw new coding_exception ( 'Overridden parameters can not have numeric keys!' ) ; } if ( is_array ( $ value ) ) { throw new coding_exception ( 'Overridden parameters values can not be arrays!' ) ; } if ( is_object ( $ value ) and ! method_exists ( $ value , '__toString' ) ) { throw new coding_exception ( 'Overridden parameters values can not be objects, unless __toString() is defined!' ) ; } $ params [ $ key ] = ( string ) $ value ; } return $ params ; }
docstring: Merges parameters and validates them
  
  @param array $overrideparams
  @return array merged parameters
  @throws coding_exception
docstring_tokens: Merges parameters and validates them