From c4dd7a1a684490673e25aaf4fabec5df138854c4 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Thu, 14 Mar 2013 05:42:27 +0000 Subject: Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2. --- scripts/dev/generate-phpt/src/gtMethod.php | 139 +++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 scripts/dev/generate-phpt/src/gtMethod.php (limited to 'scripts/dev/generate-phpt/src/gtMethod.php') diff --git a/scripts/dev/generate-phpt/src/gtMethod.php b/scripts/dev/generate-phpt/src/gtMethod.php new file mode 100644 index 0000000..820d7e0 --- /dev/null +++ b/scripts/dev/generate-phpt/src/gtMethod.php @@ -0,0 +1,139 @@ +className = $className; + $this->methodName = $methodName; + } + + + /** + * Set the names of the class constructor arguments. Take only mandatory argument names. + * + */ + public function setConstructorArgumentNames() { + $reflectionClass = new ReflectionClass($this->className); + $constructor = $reflectionClass->getConstructor(); + foreach($constructor->getParameters() as $i => $param) { + //if(!$param->isOptional()) { + $this->constructorArgumentNames[] = $param->getName(); + //} + } + } + + + /** + * Set the names of the mandatory and optional arguments to the method + * + */ + public function setArgumentNames() { + + $methodClass = new reflectionMethod($this->className, $this->methodName); + $parameters = $methodClass->getParameters(); + + foreach ($methodClass->getParameters() as $i => $param) { + if($param->isOptional()) { + $this->optionalArgumentNames[] = $param->getName(); + } else { + $this->mandatoryArgumentNames[] = $param->getName(); + } + + } + } + + + /** + * Return the list of constructor argument names + * + * @return array + */ + public function getConstructorArgumentNames() { + return $this->constructorArgumentNames; + } + + /** + * Return the name of the method + * + * @return string + */ + public function getName() { + return $this->methodName; + } + + + /** + * Return the name of the class + * + * @return string + */ + public function getClassName() { + return $this->className; + } + + /** + * Set the list of arguments to be passed to the constructor + * + */ + public function setConstructorArgumentList() { + if(count ($this->constructorArgumentNames) > 0) { + + for( $i = 0; $i < count( $this->constructorArgumentNames ); $i++) { + $this->constructorArgumentList .= "\$".$this->constructorArgumentNames[$i].", "; + } + $this->constructorArgumentList = substr($this->constructorArgumentList, 0, -2); + } + } + + + /** + * Return the list of the arguments to be passed to the constructor + * + * @return string + */ + public function getConstructorArgumentList() { + return $this->constructorArgumentList; + } + + + /** + * Set up the source statements that initialise constructor arguments; + * + */ + public function setConstructorInitStatements() { + if(count ($this->constructorArgumentNames) > 0) { + foreach( $this->constructorArgumentNames as $name) { + $this->constructorInitialisationStatements[] = "\$".$name." = "; + } + } + + } + + + /** + * Return the constructor initialisation statements + * + * @return array + */ + public function getConstructorInitStatements() { + return $this->constructorInitialisationStatements; + } +} +?> \ No newline at end of file -- cgit v1.2.1