original_string: protected function determineArgumentsFor(
          ReflectionMethod $method, 
          string $class, 
          string $method_name, 
          array $args, 
          string $selector, 
          Injector $injector
      )
      {
          $params = $method->getParameters();
          $method_args = [];
  
          // Determine values for each parameter
          $used_optional = false;
          foreach ($params as $param)
          {
              $name = $param->getName();
  
              if (array_key_exists($name, $args))
              {
                  $method_args[] = $args[$name];
                  continue;
              }
  
              $pclass = $param->getClass();
              if (null !== $pclass)
              {
                  $instance = $injector->getInstance($pclass->getName(), $selector);
                  $method_args[] = $instance;
                  continue;
              }
  
              if ($param->isDefaultValueAvailable())
              {
                  $default = $param->getDefaultValue();
                  $method_args[] = $default;
                  continue;
              }
  
              if ($param->isOptional())
              {
                  // This and all remaining parameters have a default value
                  break;
              }
  
              throw new DIException("Unable to determine value for parameter $name for $method_name of '$class'");
          }
  
          // There should be a argument for every parameter
          return $method_args;
      }
code: protected function determineArgumentsFor(
          ReflectionMethod $method, 
          string $class, 
          string $method_name, 
          array $args, 
          string $selector, 
          Injector $injector
      )
      {
          $params = $method->getParameters();
          $method_args = [];
  
          // Determine values for each parameter
          $used_optional = false;
          foreach ($params as $param)
          {
              $name = $param->getName();
  
              if (array_key_exists($name, $args))
              {
                  $method_args[] = $args[$name];
                  continue;
              }
  
              $pclass = $param->getClass();
              if (null !== $pclass)
              {
                  $instance = $injector->getInstance($pclass->getName(), $selector);
                  $method_args[] = $instance;
                  continue;
              }
  
              if ($param->isDefaultValueAvailable())
              {
                  $default = $param->getDefaultValue();
                  $method_args[] = $default;
                  continue;
              }
  
              if ($param->isOptional())
              {
                  // This and all remaining parameters have a default value
                  break;
              }
  
              throw new DIException("Unable to determine value for parameter $name for $method_name of '$class'");
          }
  
          // There should be a argument for every parameter
          return $method_args;
      }
code_tokens: protected function determineArgumentsFor ( ReflectionMethod $ method , string $ class , string $ method_name , array $ args , string $ selector , Injector $ injector ) { $ params = $ method -> getParameters ( ) ; $ method_args = [ ] ; // Determine values for each parameter $ used_optional = false ; foreach ( $ params as $ param ) { $ name = $ param -> getName ( ) ; if ( array_key_exists ( $ name , $ args ) ) { $ method_args [ ] = $ args [ $ name ] ; continue ; } $ pclass = $ param -> getClass ( ) ; if ( null !== $ pclass ) { $ instance = $ injector -> getInstance ( $ pclass -> getName ( ) , $ selector ) ; $ method_args [ ] = $ instance ; continue ; } if ( $ param -> isDefaultValueAvailable ( ) ) { $ default = $ param -> getDefaultValue ( ) ; $ method_args [ ] = $ default ; continue ; } if ( $ param -> isOptional ( ) ) { // This and all remaining parameters have a default value break ; } throw new DIException ( "Unable to determine value for parameter $name for $method_name of '$class'" ) ; } // There should be a argument for every parameter return $ method_args ; }
docstring: Find arguments for a method
docstring_tokens: Find arguments for a method