/** * Constructs a new source parser. * * @param \PDepend\Source\Tokenizer\Tokenizer $tokenizer * @param \PDepend\Source\Builder\Builder $builder * @param \PDepend\Util\Cache\CacheDriver $cache */ public function __construct(Tokenizer $tokenizer, Builder $builder, CacheDriver $cache) { $this->tokenizer = $tokenizer; $this->builder = $builder; $this->cache = $cache; $this->idBuilder = new \PDepend\Util\IdBuilder(); $this->tokenStack = new \PDepend\Source\Parser\TokenStack(); $this->useSymbolTable = new \PDepend\Source\Parser\SymbolTable(); $this->builder->setCache($this->cache); }