Skip to content

Commit

Permalink
Fix #1751 add context in class CompilerFileAnonymous
Browse files Browse the repository at this point in the history
  • Loading branch information
dreamsxin authored and sergeyklay committed Feb 21, 2019
1 parent e1004e8 commit cf3c72e
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 7 deletions.
17 changes: 11 additions & 6 deletions Library/CompilerFileAnonymous.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ final class CompilerFileAnonymous implements FileInterface
{
use LoggerAwareTrait;

/** @var CompilationContext */
protected $context;

/** @var string */
protected $namespace;

Expand All @@ -48,10 +51,11 @@ final class CompilerFileAnonymous implements FileInterface
* @param ClassDefinition $classDefinition
* @param Config $config
*/
public function __construct(ClassDefinition $classDefinition, Config $config)
public function __construct(ClassDefinition $classDefinition, Config $config, CompilationContext $context)
{
$this->classDefinition = $classDefinition;
$this->config = $config;
$this->context = $context;
$this->logger = new NullLogger();
}

Expand Down Expand Up @@ -152,6 +156,12 @@ public function compile(Compiler $compiler, StringsManager $stringsManager)
*/
$compilationContext = new CompilationContext();

if ($this->context) {
$compilationContext->aliasManager = $this->context->aliasManager;
} else {
$compilationContext->aliasManager = new AliasManager();
}

/*
* Set global compiler in the compilation context
*/
Expand Down Expand Up @@ -186,11 +196,6 @@ public function compile(Compiler $compiler, StringsManager $stringsManager)
$codePrinter = new CodePrinter();
$compilationContext->codePrinter = $codePrinter;

/*
* Alias manager
*/
$compilationContext->aliasManager = new AliasManager();

$codePrinter->outputBlankLine();

$this->compileClass($compilationContext);
Expand Down
2 changes: 1 addition & 1 deletion Library/Expression/Closure.php
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public function compile(array $expression, CompilationContext $compilationContex

$classDefinition->setIsFinal(true);

$compilerFile = new CompilerFileAnonymous($classDefinition, $compilationContext->config);
$compilerFile = new CompilerFileAnonymous($classDefinition, $compilationContext->config, $compilationContext);
$compilerFile->setLogger($compilationContext->logger);

$compilationContext->compiler->addClassDefinition($compilerFile, $classDefinition);
Expand Down

0 comments on commit cf3c72e

Please sign in to comment.