root/components/codeReflection/CodeReflectionMethod.class.php

614
11
11
12
		return $strCode;
12
		return $strCode;
13
	}
13
	}
14
	
14
15
	protected function createExtendedReflectionClass( ReflectionClass $objOriginalReflectionClass )
15
	protected function createExtendedReflectionClass( ReflectionClass $objOriginalReflectionClass )
16
	{
16
	{
17
		return new CodeReflectionClass( $objOriginalReflectionClass->getName() );
17
		return new CodeReflectionClass( $objOriginalReflectionClass->getName() );
18
	}
18
	}
19
	
19
20
	protected function createExtendedReflectionParameter( ReflectionParameter $objReflectionParameter )
20
	protected function createExtendedReflectionParameter( ReflectionParameter $objReflectionParameter )
21
	{
21
	{
22
		return new CodeReflectionParameter( Array( $this->getDeclaringClass()->getName() , $this->getName() ) , $objReflectionParameter->getName() );
22
		return new CodeReflectionParameter( Array( $this->getDeclaringClass()->getName() , $this->getName() ) , $objReflectionParameter->getName() );
23
	}
23
	}
24
	
24
25
	protected function createModifiersCode()
25
	protected function createModifiersCode()
26
	{
26
	{
27
		$strCode = "";
27
		$strCode = "";
...
...
47
		}
47
		}
48
		return $strCode;
48
		return $strCode;
49
	}
49
	}
50
	
50
51
	protected function createParametersCode()
51
	protected function createParametersCode()
52
	{
52
	{
53
		$strCode = "";
53
		$strCode = "";
54
		$arrParameters = $this->getParameters();
54
		$arrParameters = $this->getParameters();
55
		$arrParametersName = array();
55
		$arrParametersName = array();
56
		
56
57
		foreach(  $arrParameters as $objParameter )
57
		foreach(  $arrParameters as $objParameter )
58
		{
58
		{
59
			/*@var $objParameter CodeReflectionParameter */
59
			/*@var $objParameter CodeReflectionParameter */
60
			$arrParametersName[] = $objParameter->getCode(); 
60
			$arrParametersName[] = $objParameter->getCode();
61
		}
61
		}
62
		
62
63
		$strCode .= "(";
63
		$strCode .= "(";
64
		$strCode .= implode( ", " , $arrParametersName);
64
		$strCode .= implode( ", " , $arrParametersName);
65
		$strCode .= ")";
65
		$strCode .= ")";
66
		return $strCode;
66
		return $strCode;
67
	}
67
	}
68
	
68
69
	protected function createMethodHeaderCode()
69
	protected function createMethodHeaderCode()
70
	{
70
	{
71
		$strCode = $this->getDocComment();
71
		$strCode = $this->getDocComment();
...
...
73
		$strCode .= " function ";
73
		$strCode .= " function ";
74
		$strCode .= $this->getName();
74
		$strCode .= $this->getName();
75
		$strCode .= $this->createParametersCode();
75
		$strCode .= $this->createParametersCode();
76
		
76
77
		return CorujaStringManipulation::retab( $strCode , 1 );
77
		return CorujaStringManipulation::retab( $strCode , 1 );
78
	}
78
	}
79
	
79
80
	protected function createMethodContentCode()
80
	protected function createMethodContentCode()
81
	{
81
	{
82
		$strCode = "";
82
		$strCode = "";
...
...
89
		$arrCodeReflectionFile = explode( "\n" , file_get_contents( $strFileName ) );
89
		$arrCodeReflectionFile = explode( "\n" , file_get_contents( $strFileName ) );
90
		for( $intLine = $this->getStartLine(); $intLine < $this->getEndLine(); ++$intLine )
90
		for( $intLine = $this->getStartLine(); $intLine < $this->getEndLine(); ++$intLine )
91
		{
91
		{
92
			$strCode .= $arrCodeReflectionFile[ $intLine ] . "\n";	
92
			$strCode .= $arrCodeReflectionFile[ $intLine ] . "\n";
93
		}
93
		}
94
94
95
		$strCode = trim( $strCode );
95
		$strCode = trim( $strCode );
96
				
96
97
		// remove the { }
97
		// remove the { }
98
		if( $strCode[0] == "{" )
98
		if( $strCode[0] == "{" )
99
		{
99
		{