update v 1.0.7.5

This commit is contained in:
Sujit Prasad
2016-06-13 20:41:55 +05:30
parent aa9786d829
commit 283d97e3ea
5078 changed files with 339851 additions and 175995 deletions

View File

@@ -44,8 +44,7 @@ class Class_ extends Declaration
/**
* Implements one or more interfaces.
*
* @param Name|string $interface Name of interface to implement
* @param Name|string $... More interfaces to implement
* @param Name|string ...$interfaces Names of interfaces to implement
*
* @return $this The builder instance (for fluid interface)
*/

View File

@@ -10,6 +10,7 @@ abstract class FunctionLike extends Declaration
{
protected $returnByRef = false;
protected $params = array();
protected $returnType = null;
/**
* Make the function return by reference.
@@ -55,4 +56,23 @@ abstract class FunctionLike extends Declaration
return $this;
}
}
/**
* Sets the return type for PHP 7.
*
* @param string|Node\Name $type One of array, callable, string, int, float, bool,
* or a class/interface name.
*
* @return $this The builder instance (for fluid interface)
*/
public function setReturnType($type)
{
if (in_array($type, array('array', 'callable', 'string', 'int', 'float', 'bool'))) {
$this->returnType = $type;
} else {
$this->returnType = $this->normalizeName($type);
}
return $this;
}
}

View File

@@ -40,9 +40,10 @@ class Function_ extends FunctionLike
*/
public function getNode() {
return new Stmt\Function_($this->name, array(
'byRef' => $this->returnByRef,
'params' => $this->params,
'stmts' => $this->stmts,
'byRef' => $this->returnByRef,
'params' => $this->params,
'returnType' => $this->returnType,
'stmts' => $this->stmts,
), $this->attributes);
}
}
}

View File

@@ -25,8 +25,7 @@ class Interface_ extends Declaration
/**
* Extends one or more interfaces.
*
* @param Name|string $interface Name of interface to extend
* @param Name|string $... More interfaces to extend
* @param Name|string ...$interfaces Names of interfaces to extend
*
* @return $this The builder instance (for fluid interface)
*/

View File

@@ -116,10 +116,11 @@ class Method extends FunctionLike
*/
public function getNode() {
return new Stmt\ClassMethod($this->name, array(
'type' => $this->type,
'byRef' => $this->returnByRef,
'params' => $this->params,
'stmts' => $this->stmts,
'type' => $this->type,
'byRef' => $this->returnByRef,
'params' => $this->params,
'returnType' => $this->returnType,
'stmts' => $this->stmts,
), $this->attributes);
}
}

View File

@@ -43,7 +43,7 @@ class Param extends PhpParser\BuilderAbstract
* @return $this The builder instance (for fluid interface)
*/
public function setTypeHint($type) {
if ($type === 'array' || $type === 'callable') {
if (in_array($type, array('array', 'callable', 'string', 'int', 'float', 'bool'))) {
$this->type = $type;
} else {
$this->type = $this->normalizeName($type);
@@ -73,4 +73,4 @@ class Param extends PhpParser\BuilderAbstract
$this->name, $this->default, $this->type, $this->byRef
);
}
}
}