src/FS/File/PHP/Parser/Regular.php
protected function parseClassOrInterface( ADT_PHP_File $parent, $matches )
	{
		switch( strtolower( trim( $matches[3] ) ) )
		{
			case 'interface':
				$artefact	= new ADT_PHP_Interface( $matches[4] );
				if( isset( $matches[5] ) )
					$artefact->setExtendedInterfaceName( $matches[6] );
				$artefact->setFinal( (bool) $matches[2] );
				break;
			default:
				$artefact	= new ADT_PHP_Class( $matches[4] );
				if( isset( $matches[5] ) )
					$artefact->setExtendedClassName( $matches[6] );
				$artefact->setFinal( (bool) $matches[2] );
				$artefact->setAbstract( (bool) $matches[1] );
				if( isset( $matches[7] ) )
					foreach( array_slice( $matches, 8 ) as $match )
						if( trim( $match ) && !preg_match( "@^,|{@", trim( $match ) ) )
							$artefact->setImplementedInterfaceName( trim( $match ) );
				break;
		}
		$artefact->setParent( $parent );
		$artefact->setLine( $this->lineNumber );
		$artefact->type		= $matches[3];
		if( $this->openBlocks )
		{
			$this->decorateCodeDataWithDocData( $artefact, array_pop( $this->openBlocks ) );
			$this->openBlocks	= array();
		}
		if( !$artefact->getCategory() && $parent->getCategory() )
			$artefact->setCategory( $parent->getCategory() );
		if( !$artefact->getPackage() && $parent->getPackage() )
			$artefact->setPackage( $parent->getPackage() );
		return $artefact;
	}
protected function parseClassOrInterface( ADT_PHP_File $parent, $matches )
	{
		switch( strtolower( trim( $matches[3] ) ) )
		{
			case 'interface':
				$artefact	= new ADT_PHP_Interface( $matches[4] );
				if( isset( $matches[5] ) )
					$artefact->setExtendedInterfaceName( $matches[6] );
				$artefact->setFinal( (bool) $matches[2] );
				break;
			default:
				$artefact	= new ADT_PHP_Class( $matches[4] );
				if( isset( $matches[5] ) )
					$artefact->setExtendedClassName( $matches[6] );
				$artefact->setFinal( (bool) $matches[2] );
				$artefact->setAbstract( (bool) $matches[1] );
				if( isset( $matches[7] ) )
					foreach( array_slice( $matches, 8 ) as $match )
						if( trim( $match ) && !preg_match( "@^,|{@", trim( $match ) ) )
							$artefact->setImplementedInterfaceName( trim( $match ) );
				break;
		}
		$artefact->setParent( $parent );
		$artefact->setLine( $this->lineNumber );
		$artefact->type		= $matches[3];
		if( $this->openBlocks )
		{
			$this->decorateCodeDataWithDocData( $artefact, array_pop( $this->openBlocks ) );
			$this->openBlocks	= array();
		}
		if( !$artefact->getCategory() && $parent->getCategory() )
			$artefact->setCategory( $parent->getCategory() );
		if( !$artefact->getPackage() && $parent->getPackage() )
			$artefact->setPackage( $parent->getPackage() );
		return $artefact;
	}
protected function parseClassOrInterface ( ADT_PHP_File $ parent , $ matches ) { switch ( strtolower ( trim ( $ matches [ 3 ] ) ) ) { case 'interface' : $ artefact = new ADT_PHP_Interface ( $ matches [ 4 ] ) ; if ( isset ( $ matches [ 5 ] ) ) $ artefact -> setExtendedInterfaceName ( $ matches [ 6 ] ) ; $ artefact -> setFinal ( ( bool ) $ matches [ 2 ] ) ; break ; default : $ artefact = new ADT_PHP_Class ( $ matches [ 4 ] ) ; if ( isset ( $ matches [ 5 ] ) ) $ artefact -> setExtendedClassName ( $ matches [ 6 ] ) ; $ artefact -> setFinal ( ( bool ) $ matches [ 2 ] ) ; $ artefact -> setAbstract ( ( bool ) $ matches [ 1 ] ) ; if ( isset ( $ matches [ 7 ] ) ) foreach ( array_slice ( $ matches , 8 ) as $ match ) if ( trim ( $ match ) && ! preg_match ( "@^,|{@" , trim ( $ match ) ) ) $ artefact -> setImplementedInterfaceName ( trim ( $ match ) ) ; break ; } $ artefact -> setParent ( $ parent ) ; $ artefact -> setLine ( $ this -> lineNumber ) ; $ artefact -> type = $ matches [ 3 ] ; if ( $ this -> openBlocks ) { $ this -> decorateCodeDataWithDocData ( $ artefact , array_pop ( $ this -> openBlocks ) ) ; $ this -> openBlocks = array ( ) ; } if ( ! $ artefact -> getCategory ( ) && $ parent -> getCategory ( ) ) $ artefact -> setCategory ( $ parent -> getCategory ( ) ) ; if ( ! $ artefact -> getPackage ( ) && $ parent -> getPackage ( ) ) $ artefact -> setPackage ( $ parent -> getPackage ( ) ) ; return $ artefact ; }
Parses a Class Signature and returns collected Information.
@access		protected
@param		ADT_PHP_File		$parent			File Object of current Class
@param		array				$matches		Matches of RegEx
@return		ADT_PHP_Interface|ADT_PHP_Class
Parses a Class Signature and returns collected Information .