original_string: protected function processValue($value, $isRoot = false)
      {
          if (\is_array($value)) {
              foreach ($value as $k => $v) {
                  if ($isRoot) {
                      $this->currentId = $k;
                  }
                  if ($v !== $processedValue = $this->processValue($v, $isRoot)) {
                      $value[$k] = $processedValue;
                  }
              }
          } elseif ($value instanceof ArgumentInterface) {
              $value->setValues($this->processValue($value->getValues()));
          } elseif ($value instanceof Expression && $this->processExpressions) {
              $this->getExpressionLanguage()->compile((string) $value, ['this' => 'container']);
          } elseif ($value instanceof Definition) {
              $value->setArguments($this->processValue($value->getArguments()));
              $value->setProperties($this->processValue($value->getProperties()));
              $value->setMethodCalls($this->processValue($value->getMethodCalls()));
  
              $changes = $value->getChanges();
              if (isset($changes['factory'])) {
                  $value->setFactory($this->processValue($value->getFactory()));
              }
              if (isset($changes['configurator'])) {
                  $value->setConfigurator($this->processValue($value->getConfigurator()));
              }
          }
  
          return $value;
      }
code: protected function processValue($value, $isRoot = false)
      {
          if (\is_array($value)) {
              foreach ($value as $k => $v) {
                  if ($isRoot) {
                      $this->currentId = $k;
                  }
                  if ($v !== $processedValue = $this->processValue($v, $isRoot)) {
                      $value[$k] = $processedValue;
                  }
              }
          } elseif ($value instanceof ArgumentInterface) {
              $value->setValues($this->processValue($value->getValues()));
          } elseif ($value instanceof Expression && $this->processExpressions) {
              $this->getExpressionLanguage()->compile((string) $value, ['this' => 'container']);
          } elseif ($value instanceof Definition) {
              $value->setArguments($this->processValue($value->getArguments()));
              $value->setProperties($this->processValue($value->getProperties()));
              $value->setMethodCalls($this->processValue($value->getMethodCalls()));
  
              $changes = $value->getChanges();
              if (isset($changes['factory'])) {
                  $value->setFactory($this->processValue($value->getFactory()));
              }
              if (isset($changes['configurator'])) {
                  $value->setConfigurator($this->processValue($value->getConfigurator()));
              }
          }
  
          return $value;
      }
code_tokens: protected function processValue ( $ value , $ isRoot = false ) { if ( \ is_array ( $ value ) ) { foreach ( $ value as $ k => $ v ) { if ( $ isRoot ) { $ this -> currentId = $ k ; } if ( $ v !== $ processedValue = $ this -> processValue ( $ v , $ isRoot ) ) { $ value [ $ k ] = $ processedValue ; } } } elseif ( $ value instanceof ArgumentInterface ) { $ value -> setValues ( $ this -> processValue ( $ value -> getValues ( ) ) ) ; } elseif ( $ value instanceof Expression && $ this -> processExpressions ) { $ this -> getExpressionLanguage ( ) -> compile ( ( string ) $ value , [ 'this' => 'container' ] ) ; } elseif ( $ value instanceof Definition ) { $ value -> setArguments ( $ this -> processValue ( $ value -> getArguments ( ) ) ) ; $ value -> setProperties ( $ this -> processValue ( $ value -> getProperties ( ) ) ) ; $ value -> setMethodCalls ( $ this -> processValue ( $ value -> getMethodCalls ( ) ) ) ; $ changes = $ value -> getChanges ( ) ; if ( isset ( $ changes [ 'factory' ] ) ) { $ value -> setFactory ( $ this -> processValue ( $ value -> getFactory ( ) ) ) ; } if ( isset ( $ changes [ 'configurator' ] ) ) { $ value -> setConfigurator ( $ this -> processValue ( $ value -> getConfigurator ( ) ) ) ; } } return $ value ; }
docstring: Processes a value found in a definition tree.
  
  @param mixed $value
  @param bool  $isRoot
  
  @return mixed The processed value
docstring_tokens: Processes a value found in a definition tree .