Skip to content

Commit

Permalink
Merge pull request #2 from siwinski/pr-nikic-php-parser-1
Browse files Browse the repository at this point in the history
Update nikic/php-parser to 1.0.*
  • Loading branch information
Ocramius committed Sep 15, 2014
2 parents 1efd10e + 0b5f9fb commit bce1df3
Show file tree
Hide file tree
Showing 23 changed files with 241 additions and 238 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
],
"require": {
"php": ">=5.3.3",
"nikic/php-parser": "0.9.*"
"nikic/php-parser": "1.0.*"
},
"require-dev": {
"phpunit/phpunit": ">=3.7",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@

namespace CodeGenerationUtils\GeneratorStrategy;

use PHPParser_PrettyPrinter_Default;
use PHPParser_PrettyPrinterAbstract;
use PhpParser\PrettyPrinter\Standard;
use PhpParser\PrettyPrinterAbstract;

/**
* Generator strategy that generates the class body
Expand All @@ -30,7 +30,7 @@
class BaseGeneratorStrategy implements GeneratorStrategyInterface
{
/**
* @var \PHPParser_PrettyPrinterAbstract|null
* @var \PhpParser\PrettyPrinterAbstract|null
*/
private $prettyPrinter;

Expand All @@ -43,18 +43,18 @@ public function generate(array $ast)
}

/**
* @param PHPParser_PrettyPrinterAbstract $prettyPrinter
* @param PhpParser\PrettyPrinterAbstract $prettyPrinter
*/
public function setPrettyPrinter(PHPParser_PrettyPrinterAbstract $prettyPrinter)
public function setPrettyPrinter(PrettyPrinterAbstract $prettyPrinter)
{
$this->prettyPrinter = $prettyPrinter;
}

/**
* @return PHPParser_PrettyPrinterAbstract
* @return PhpParser\PrettyPrinterAbstract
*/
protected function getPrettyPrinter()
{
return $this->prettyPrinter ?: $this->prettyPrinter = new PHPParser_PrettyPrinter_Default();
return $this->prettyPrinter ?: $this->prettyPrinter = new Standard();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@

use CodeGenerationUtils\FileLocator\FileLocatorInterface;
use CodeGenerationUtils\Visitor\ClassFQCNResolverVisitor;
use PHPParser_Node_Stmt_Class;
use PHPParser_NodeTraverser;
use PhpParser\Node\Stmt\Class_;
use PhpParser\NodeTraverser;

/**
* Generator strategy that writes the generated classes to disk while generating them
Expand All @@ -39,7 +39,7 @@ class FileWriterGeneratorStrategy extends BaseGeneratorStrategy
protected $fileLocator;

/**
* @var \PHPParser_NodeTraverserInterface
* @var \PhpParser\NodeTraverserInterface
*/
private $traverser;

Expand All @@ -52,7 +52,7 @@ class FileWriterGeneratorStrategy extends BaseGeneratorStrategy
public function __construct(FileLocatorInterface $fileLocator)
{
$this->fileLocator = $fileLocator;
$this->traverser = new PHPParser_NodeTraverser();
$this->traverser = new NodeTraverser();
$this->visitor = new ClassFQCNResolverVisitor();

$this->traverser->addVisitor($this->visitor);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ interface GeneratorStrategyInterface
/**
* Generate the provided AST as a class
*
* @param \PHPParser_Node[] $ast
* @param \PhpParser\Node[] $ast
*
* @return string the class body
*/
Expand Down
56 changes: 28 additions & 28 deletions src/CodeGenerationUtils/ReflectionBuilder/ClassBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,18 @@

namespace CodeGenerationUtils\ReflectionBuilder;

use PHPParser_Builder_Method;
use PHPParser_Builder_Param;
use PHPParser_Builder_Property;
use PHPParser_BuilderAbstract;
use PHPParser_Node;
use PHPParser_Node_Const;
use PHPParser_Node_Expr_ConstFetch;
use PHPParser_Node_Name;
use PHPParser_Node_Name_FullyQualified;
use PHPParser_Node_Stmt_Class;
use PHPParser_Node_Stmt_ClassConst;
use PHPParser_Node_Stmt_Namespace;
use PhpParser\Builder\Method;
use PhpParser\Builder\Param;
use PhpParser\Builder\Property;
use PhpParser\BuilderAbstract;
use PhpParser\Node;
use PhpParser\Node\Const_;
use PhpParser\Node\Expr\ConstFetch;
use PhpParser\Node\Name;
use PhpParser\Node\Name\FullyQualified;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassConst;
use PhpParser\Node\Stmt\Namespace_;
use ReflectionClass;
use ReflectionMethod;
use ReflectionParameter;
Expand All @@ -43,33 +43,33 @@
* @author Marco Pivetta <ocramius@gmail.com>
* @license MIT
*/
class ClassBuilder extends PHPParser_BuilderAbstract
class ClassBuilder extends BuilderAbstract
{
/**
* @param \ReflectionClass $reflectionClass
*
* @return PHPParser_Node[]
* @return PhpParser\Node[]
*/
public function fromReflection(ReflectionClass $reflectionClass)
{
$class = new PHPParser_Node_Stmt_Class($reflectionClass->getShortName());
$class = new Class_($reflectionClass->getShortName());
$stmts = array($class);

if ($parentClass = $reflectionClass->getParentClass()) {
$class->extends = new PHPParser_Node_Name_FullyQualified($parentClass->getName());
$class->extends = new FullyQualified($parentClass->getName());
}

$interfaces = array();

foreach ($reflectionClass->getInterfaces() as $reflectionInterface) {
$interfaces[] = new PHPParser_Node_Name_FullyQualified($reflectionInterface->getName());
$interfaces[] = new FullyQualified($reflectionInterface->getName());
}

$class->implements = $interfaces;

foreach ($reflectionClass->getConstants() as $constant => $value) {
$class->stmts[] = new PHPParser_Node_Stmt_ClassConst(
array(new PHPParser_Node_Const($constant, $this->normalizeValue($value)))
$class->stmts[] = new ClassConst(
array(new Const_($constant, $this->normalizeValue($value)))
);
}

Expand All @@ -85,7 +85,7 @@ public function fromReflection(ReflectionClass $reflectionClass)
return $stmts;
}

return array(new PHPParser_Node_Stmt_Namespace(new PHPParser_Node_Name(explode('\\', $namespace)), $stmts));
return array(new Namespace_(new Name(explode('\\', $namespace)), $stmts));
}

/**
Expand All @@ -99,11 +99,11 @@ public function getNode()
/**
* @param ReflectionProperty $reflectionProperty
*
* @return \PHPParser_Node_Stmt_Property
* @return \PhpParser\Node\Stmt\Property
*/
protected function buildProperty(ReflectionProperty $reflectionProperty)
{
$propertyBuilder = new PHPParser_Builder_Property($reflectionProperty->getName());
$propertyBuilder = new Property($reflectionProperty->getName());

if ($reflectionProperty->isPublic()) {
$propertyBuilder->makePublic();
Expand Down Expand Up @@ -133,11 +133,11 @@ protected function buildProperty(ReflectionProperty $reflectionProperty)
/**
* @param ReflectionMethod $reflectionMethod
*
* @return \PHPParser_Node_Stmt_ClassMethod
* @return \PhpParser\Node\Stmt\ClassMethod
*/
protected function buildMethod(ReflectionMethod $reflectionMethod)
{
$methodBuilder = new PHPParser_Builder_Method($reflectionMethod->getName());
$methodBuilder = new Method($reflectionMethod->getName());

if ($reflectionMethod->isPublic()) {
$methodBuilder->makePublic();
Expand Down Expand Up @@ -179,11 +179,11 @@ protected function buildMethod(ReflectionMethod $reflectionMethod)
/**
* @param ReflectionParameter $reflectionParameter
*
* @return \PHPParser_Node_Param
* @return \PhpParser\Node\Param
*/
protected function buildParameter(ReflectionParameter $reflectionParameter)
{
$parameterBuilder = new PHPParser_Builder_Param($reflectionParameter->getName());
$parameterBuilder = new Param($reflectionParameter->getName());

if ($reflectionParameter->isPassedByReference()) {
$parameterBuilder->makeByRef();
Expand All @@ -206,8 +206,8 @@ protected function buildParameter(ReflectionParameter $reflectionParameter)
&& $reflectionParameter->isDefaultValueConstant()
) {
$parameterBuilder->setDefault(
new PHPParser_Node_Expr_ConstFetch(
new PHPParser_Node_Name($reflectionParameter->getDefaultValueConstantName())
new ConstFetch(
new Name($reflectionParameter->getDefaultValueConstantName())
)
);
} else {
Expand Down
14 changes: 7 additions & 7 deletions src/CodeGenerationUtils/Visitor/ClassClonerVisitor.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@

namespace CodeGenerationUtils\Visitor;

use PHPParser_Lexer_Emulative;
use PHPParser_Node;
use PHPParser_NodeVisitorAbstract;
use PHPParser_Parser;
use PhpParser\Lexer\Emulative;
use PhpParser\Node;
use PhpParser\NodeVisitorAbstract;
use PhpParser\Parser;
use ReflectionClass;

/**
Expand All @@ -33,7 +33,7 @@
* @author Marco Pivetta <ocramius@gmail.com>
* @license MIT
*/
class ClassClonerVisitor extends PHPParser_NodeVisitorAbstract
class ClassClonerVisitor extends NodeVisitorAbstract
{
/**
* @var ReflectionClass
Expand All @@ -54,13 +54,13 @@ public function __construct(ReflectionClass $reflectedClass)
*
* @param array $nodes
*
* @return \PHPParser_Node[]
* @return \PhpParser\Node[]
*/
public function beforeTraverse(array $nodes)
{
// quickfix - if the list is empty, replace it it
if (empty($nodes)) {
$parser = new PHPParser_Parser(new PHPParser_Lexer_Emulative);
$parser = new Parser(new Emulative);

return $parser->parse(file_get_contents($this->reflectedClass->getFileName()));
}
Expand Down
34 changes: 17 additions & 17 deletions src/CodeGenerationUtils/Visitor/ClassExtensionVisitor.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,19 @@

namespace CodeGenerationUtils\Visitor;

use PHPParser_Node;
use PHPParser_Node_Name_FullyQualified;
use PHPParser_Node_Stmt_Class;
use PHPParser_Node_Stmt_Namespace;
use PHPParser_NodeVisitorAbstract;
use PhpParser\Node;
use PhpParser\Node\Name\FullyQualified;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\Namespace_;
use PhpParser\NodeVisitorAbstract;

/**
* Visitor that extends the matched class in the visited AST from another given class
*
* @author Marco Pivetta <ocramius@gmail.com>
* @license MIT
*/
class ClassExtensionVisitor extends PHPParser_NodeVisitorAbstract
class ClassExtensionVisitor extends NodeVisitorAbstract
{
/**
* @var string
Expand All @@ -43,7 +43,7 @@ class ClassExtensionVisitor extends PHPParser_NodeVisitorAbstract
private $newParentClassFQCN;

/**
* @var \PHPParser_Node_Stmt_Namespace|null
* @var \PhpParser\Node\Stmt\Namespace_|null
*/
private $currentNamespace;

Expand All @@ -70,13 +70,13 @@ public function beforeTraverse(array $nodes)
}

/**
* @param PHPParser_Node $node
* @param PhpParser\Node $node
*
* @return PHPParser_Node_Stmt_Namespace|null
* @return PhpParser\Node\Stmt\Namespace_|null
*/
public function enterNode(PHPParser_Node $node)
public function enterNode(Node $node)
{
if ($node instanceof PHPParser_Node_Stmt_Namespace) {
if ($node instanceof Namespace_) {
$this->currentNamespace = $node;

return $node;
Expand All @@ -91,23 +91,23 @@ public function enterNode(PHPParser_Node $node)
*
* @todo can be abstracted away into a visitor that allows to modify the node via a callback
*
* @param PHPParser_Node $node
* @param PhpParser\Node $node
*
* @return PHPParser_Node_Stmt_Class|void
* @return PhpParser\Node\Stmt\Class_|void
*/
public function leaveNode(PHPParser_Node $node)
public function leaveNode(Node $node)
{
if ($node instanceof PHPParser_Node_Stmt_Namespace) {
if ($node instanceof Namespace_) {
$this->currentNamespace = null;
}

if ($node instanceof PHPParser_Node_Stmt_Class) {
if ($node instanceof Class_) {
$namespace = ($this->currentNamespace && is_array($this->currentNamespace->name->parts))
? implode('\\', $this->currentNamespace->name->parts)
: '';

if (trim($namespace . '\\' . $node->name, '\\') === $this->matchedClassFQCN) {
$node->extends = new PHPParser_Node_Name_FullyQualified($this->newParentClassFQCN);
$node->extends = new FullyQualified($this->newParentClassFQCN);
}

return $node;
Expand Down

0 comments on commit bce1df3

Please sign in to comment.