public function __construct(ITypeSystem $typeSystem, O\Expression $expression, \SplObjectStorage $analysis, \SplObjectStorage $metadata) { $this->typeSystem = $typeSystem; $this->expression = $expression; $this->analysis = $analysis; $this->metadata = $metadata; }