Library/CompilerFile.php
public function checkDependencies(Compiler $compiler)
    {
        $classDefinition = $this->classDefinition;

        $extendedClass = $classDefinition->getExtendsClass();
        if ($extendedClass) {
            if ('class' == $classDefinition->getType()) {
                if ($compiler->isClass($extendedClass)) {
                    $extendedDefinition = $compiler->getClassDefinition($extendedClass);
                    $classDefinition->setExtendsClassDefinition($extendedDefinition);
                } else {
                    if ($compiler->isBundledClass($extendedClass)) {
                        $extendedDefinition = $compiler->getInternalClassDefinition($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);
                    } else {
                        $extendedDefinition = new ClassDefinitionRuntime($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);

                        $this->logger->warning(
                            sprintf(
                                'Cannot locate class "%s" when extending class "%s"',
                                $extendedClass,
                                $classDefinition->getCompleteName()
                            ),
                            ['nonexistent-class', $this->originalNode]
                        );
                    }
                }
            } else {
                // Whether the $extendedClass is part of the compiled extension
                if ($compiler->isInterface($extendedClass)) {
                    $extendedDefinition = $compiler->getClassDefinition($extendedClass);
                    $classDefinition->setExtendsClassDefinition($extendedDefinition);
                } else {
                    if ($compiler->isBundledInterface($extendedClass)) {
                        $extendedDefinition = $compiler->getInternalClassDefinition($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);
                    } else {
                        $extendedDefinition = new ClassDefinitionRuntime($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);

                        $this->logger->warning(
                            sprintf(
                                'Cannot locate class "%s" when extending interface "%s"',
                                $extendedClass,
                                $classDefinition->getCompleteName()
                            ),
                            ['nonexistent-class', $this->originalNode]
                        );
                    }
                }
            }
        }

        $implementedInterfaces = $classDefinition->getImplementedInterfaces();
        if ($implementedInterfaces) {
            $interfaceDefinitions = [];

            foreach ($implementedInterfaces as $interface) {
                if ($compiler->isInterface($interface)) {
                    $interfaceDefinitions[$interface] = $compiler->getClassDefinition($interface);
                } else {
                    if ($compiler->isBundledInterface($interface)) {
                        $interfaceDefinitions[$interface] = $compiler->getInternalClassDefinition($interface);
                    } else {
                        $extendedDefinition = new ClassDefinitionRuntime($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);

                        $this->logger->warning(
                            sprintf(
                                'Cannot locate class "%s" when extending interface "%s"',
                                $interface,
                                $classDefinition->getCompleteName()
                            ),
                            ['nonexistent-class', $this->originalNode]
                        );
                    }
                }
            }

            if ($interfaceDefinitions) {
                $classDefinition->setImplementedInterfaceDefinitions($interfaceDefinitions);
            }
        }
    }
public function checkDependencies(Compiler $compiler)
    {
        $classDefinition = $this->classDefinition;

        $extendedClass = $classDefinition->getExtendsClass();
        if ($extendedClass) {
            if ('class' == $classDefinition->getType()) {
                if ($compiler->isClass($extendedClass)) {
                    $extendedDefinition = $compiler->getClassDefinition($extendedClass);
                    $classDefinition->setExtendsClassDefinition($extendedDefinition);
                } else {
                    if ($compiler->isBundledClass($extendedClass)) {
                        $extendedDefinition = $compiler->getInternalClassDefinition($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);
                    } else {
                        $extendedDefinition = new ClassDefinitionRuntime($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);

                        $this->logger->warning(
                            sprintf(
                                'Cannot locate class "%s" when extending class "%s"',
                                $extendedClass,
                                $classDefinition->getCompleteName()
                            ),
                            ['nonexistent-class', $this->originalNode]
                        );
                    }
                }
            } else {
                // Whether the $extendedClass is part of the compiled extension
                if ($compiler->isInterface($extendedClass)) {
                    $extendedDefinition = $compiler->getClassDefinition($extendedClass);
                    $classDefinition->setExtendsClassDefinition($extendedDefinition);
                } else {
                    if ($compiler->isBundledInterface($extendedClass)) {
                        $extendedDefinition = $compiler->getInternalClassDefinition($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);
                    } else {
                        $extendedDefinition = new ClassDefinitionRuntime($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);

                        $this->logger->warning(
                            sprintf(
                                'Cannot locate class "%s" when extending interface "%s"',
                                $extendedClass,
                                $classDefinition->getCompleteName()
                            ),
                            ['nonexistent-class', $this->originalNode]
                        );
                    }
                }
            }
        }

        $implementedInterfaces = $classDefinition->getImplementedInterfaces();
        if ($implementedInterfaces) {
            $interfaceDefinitions = [];

            foreach ($implementedInterfaces as $interface) {
                if ($compiler->isInterface($interface)) {
                    $interfaceDefinitions[$interface] = $compiler->getClassDefinition($interface);
                } else {
                    if ($compiler->isBundledInterface($interface)) {
                        $interfaceDefinitions[$interface] = $compiler->getInternalClassDefinition($interface);
                    } else {
                        $extendedDefinition = new ClassDefinitionRuntime($extendedClass);
                        $classDefinition->setExtendsClassDefinition($extendedDefinition);

                        $this->logger->warning(
                            sprintf(
                                'Cannot locate class "%s" when extending interface "%s"',
                                $interface,
                                $classDefinition->getCompleteName()
                            ),
                            ['nonexistent-class', $this->originalNode]
                        );
                    }
                }
            }

            if ($interfaceDefinitions) {
                $classDefinition->setImplementedInterfaceDefinitions($interfaceDefinitions);
            }
        }
    }
public function checkDependencies ( Compiler $ compiler ) { $ classDefinition = $ this -> classDefinition ; $ extendedClass = $ classDefinition -> getExtendsClass ( ) ; if ( $ extendedClass ) { if ( 'class' == $ classDefinition -> getType ( ) ) { if ( $ compiler -> isClass ( $ extendedClass ) ) { $ extendedDefinition = $ compiler -> getClassDefinition ( $ extendedClass ) ; $ classDefinition -> setExtendsClassDefinition ( $ extendedDefinition ) ; } else { if ( $ compiler -> isBundledClass ( $ extendedClass ) ) { $ extendedDefinition = $ compiler -> getInternalClassDefinition ( $ extendedClass ) ; $ classDefinition -> setExtendsClassDefinition ( $ extendedDefinition ) ; } else { $ extendedDefinition = new ClassDefinitionRuntime ( $ extendedClass ) ; $ classDefinition -> setExtendsClassDefinition ( $ extendedDefinition ) ; $ this -> logger -> warning ( sprintf ( 'Cannot locate class "%s" when extending class "%s"' , $ extendedClass , $ classDefinition -> getCompleteName ( ) ) , [ 'nonexistent-class' , $ this -> originalNode ] ) ; } } } else { // Whether the $extendedClass is part of the compiled extension if ( $ compiler -> isInterface ( $ extendedClass ) ) { $ extendedDefinition = $ compiler -> getClassDefinition ( $ extendedClass ) ; $ classDefinition -> setExtendsClassDefinition ( $ extendedDefinition ) ; } else { if ( $ compiler -> isBundledInterface ( $ extendedClass ) ) { $ extendedDefinition = $ compiler -> getInternalClassDefinition ( $ extendedClass ) ; $ classDefinition -> setExtendsClassDefinition ( $ extendedDefinition ) ; } else { $ extendedDefinition = new ClassDefinitionRuntime ( $ extendedClass ) ; $ classDefinition -> setExtendsClassDefinition ( $ extendedDefinition ) ; $ this -> logger -> warning ( sprintf ( 'Cannot locate class "%s" when extending interface "%s"' , $ extendedClass , $ classDefinition -> getCompleteName ( ) ) , [ 'nonexistent-class' , $ this -> originalNode ] ) ; } } } } $ implementedInterfaces = $ classDefinition -> getImplementedInterfaces ( ) ; if ( $ implementedInterfaces ) { $ interfaceDefinitions = [ ] ; foreach ( $ implementedInterfaces as $ interface ) { if ( $ compiler -> isInterface ( $ interface ) ) { $ interfaceDefinitions [ $ interface ] = $ compiler -> getClassDefinition ( $ interface ) ; } else { if ( $ compiler -> isBundledInterface ( $ interface ) ) { $ interfaceDefinitions [ $ interface ] = $ compiler -> getInternalClassDefinition ( $ interface ) ; } else { $ extendedDefinition = new ClassDefinitionRuntime ( $ extendedClass ) ; $ classDefinition -> setExtendsClassDefinition ( $ extendedDefinition ) ; $ this -> logger -> warning ( sprintf ( 'Cannot locate class "%s" when extending interface "%s"' , $ interface , $ classDefinition -> getCompleteName ( ) ) , [ 'nonexistent-class' , $ this -> originalNode ] ) ; } } } if ( $ interfaceDefinitions ) { $ classDefinition -> setImplementedInterfaceDefinitions ( $ interfaceDefinitions ) ; } } }
Check dependencies.

@param Compiler $compiler
Check dependencies .