private function addServiceInstance($id, Definition $definition, $isSimpleInstance)
    {
        $class = $this->dumpValue($definition->getClass());

        if (0 === strpos($class, "'") && false === strpos($class, '$') && !preg_match('/^\'(?:\\\{2})?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?:\\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*\'$/', $class)) {
            throw new InvalidArgumentException(sprintf('"%s" is not a valid class name for the "%s" service.', $class, $id));
        }

        $isProxyCandidate = $this->getProxyDumper()->isProxyCandidate($definition);
        $instantiation = '';

        if (!$isProxyCandidate && $definition->isShared()) {
            $instantiation = "\$this->services['$id'] = ".($isSimpleInstance ? '' : '$instance');
        } elseif (!$isSimpleInstance) {
            $instantiation = '$instance';
        }

        $return = '';
        if ($isSimpleInstance) {
            $return = 'return ';
        } else {
            $instantiation .= ' = ';
        }

        $code = $this->addNewInstance($definition, $return, $instantiation, $id);

        if (!$isSimpleInstance) {
            $code .= "\n";
        }

        return $code;
    }
private function addServiceInstance($id, Definition $definition, $isSimpleInstance)
    {
        $class = $this->dumpValue($definition->getClass());

        if (0 === strpos($class, "'") && false === strpos($class, '$') && !preg_match('/^\'(?:\\\{2})?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?:\\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*\'$/', $class)) {
            throw new InvalidArgumentException(sprintf('"%s" is not a valid class name for the "%s" service.', $class, $id));
        }

        $isProxyCandidate = $this->getProxyDumper()->isProxyCandidate($definition);
        $instantiation = '';

        if (!$isProxyCandidate && $definition->isShared()) {
            $instantiation = "\$this->services['$id'] = ".($isSimpleInstance ? '' : '$instance');
        } elseif (!$isSimpleInstance) {
            $instantiation = '$instance';
        }

        $return = '';
        if ($isSimpleInstance) {
            $return = 'return ';
        } else {
            $instantiation .= ' = ';
        }

        $code = $this->addNewInstance($definition, $return, $instantiation, $id);

        if (!$isSimpleInstance) {
            $code .= "\n";
        }

        return $code;
    }
private function addServiceInstance ( $ id , Definition $ definition , $ isSimpleInstance ) { $ class = $ this -> dumpValue ( $ definition -> getClass ( ) ) ; if ( 0 === strpos ( $ class , "'" ) && false === strpos ( $ class , '$' ) && ! preg_match ( '/^\'(?:\\\{2})?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?:\\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*\'$/' , $ class ) ) { throw new InvalidArgumentException ( sprintf ( '"%s" is not a valid class name for the "%s" service.' , $ class , $ id ) ) ; } $ isProxyCandidate = $ this -> getProxyDumper ( ) -> isProxyCandidate ( $ definition ) ; $ instantiation = '' ; if ( ! $ isProxyCandidate && $ definition -> isShared ( ) ) { $ instantiation = "\$this->services['$id'] = " . ( $ isSimpleInstance ? '' : '$instance' ) ; } elseif ( ! $ isSimpleInstance ) { $ instantiation = '$instance' ; } $ return = '' ; if ( $ isSimpleInstance ) { $ return = 'return ' ; } else { $ instantiation .= ' = ' ; } $ code = $ this -> addNewInstance ( $ definition , $ return , $ instantiation , $ id ) ; if ( ! $ isSimpleInstance ) { $ code .= "\n" ; } return $ code ; }
Generates the service instance.

@param string     $id
@param Definition $definition
@param bool       $isSimpleInstance

@return string

@throws InvalidArgumentException
@throws RuntimeException
Generates the service instance .