private function _lockUncompiledClasses()
    {
        if (!empty($this->_ourCompilerClassLocks)) {
            throw new BadPropertyMapException('Detected multiple calls to _lockUncompiledClasses().');
        }

        foreach ($this->_classHierarchy as $classInfo) {
            // If the class isn't already compiled, we'll lock it so nothing
            // else can refer to it. We'll lock every unresolved class, and then
            // we'll be unlocking them one by one as we resolve them during THIS
            // exact compile-call. No other sub-compilers are allowed to use
            // them while we're resolving them!
            if (!isset($this->_propertyMapCache->classMaps[$classInfo['className']])) {
                // NOTE: We now know that NONE of these unresolved classes were
                // in the lock-list before WE added them to it. That means that
                // we can safely clear ANY of those added locks if there's a
                // problem. But WE are NOT allowed to clear ANY OTHER LOCKS!
                $this->_ourCompilerClassLocks[$classInfo['className']] = true;
                $this->_propertyMapCache->compilerLocks[$classInfo['className']] = true;
            }
        }
    }
private function _lockUncompiledClasses()
    {
        if (!empty($this->_ourCompilerClassLocks)) {
            throw new BadPropertyMapException('Detected multiple calls to _lockUncompiledClasses().');
        }

        foreach ($this->_classHierarchy as $classInfo) {
            // If the class isn't already compiled, we'll lock it so nothing
            // else can refer to it. We'll lock every unresolved class, and then
            // we'll be unlocking them one by one as we resolve them during THIS
            // exact compile-call. No other sub-compilers are allowed to use
            // them while we're resolving them!
            if (!isset($this->_propertyMapCache->classMaps[$classInfo['className']])) {
                // NOTE: We now know that NONE of these unresolved classes were
                // in the lock-list before WE added them to it. That means that
                // we can safely clear ANY of those added locks if there's a
                // problem. But WE are NOT allowed to clear ANY OTHER LOCKS!
                $this->_ourCompilerClassLocks[$classInfo['className']] = true;
                $this->_propertyMapCache->compilerLocks[$classInfo['className']] = true;
            }
        }
    }
private function _lockUncompiledClasses ( ) { if ( ! empty ( $ this -> _ourCompilerClassLocks ) ) { throw new BadPropertyMapException ( 'Detected multiple calls to _lockUncompiledClasses().' ) ; } foreach ( $ this -> _classHierarchy as $ classInfo ) { // If the class isn't already compiled, we'll lock it so nothing // else can refer to it. We'll lock every unresolved class, and then // we'll be unlocking them one by one as we resolve them during THIS // exact compile-call. No other sub-compilers are allowed to use // them while we're resolving them! if ( ! isset ( $ this -> _propertyMapCache -> classMaps [ $ classInfo [ 'className' ] ] ) ) { // NOTE: We now know that NONE of these unresolved classes were // in the lock-list before WE added them to it. That means that // we can safely clear ANY of those added locks if there's a // problem. But WE are NOT allowed to clear ANY OTHER LOCKS! $ this -> _ourCompilerClassLocks [ $ classInfo [ 'className' ] ] = true ; $ this -> _propertyMapCache -> compilerLocks [ $ classInfo [ 'className' ] ] = true ; } } }
Lock all uncompiled classes in the solve-class hierarchy.

@throws BadPropertyMapException
Lock all uncompiled classes in the solve - class hierarchy .