nodeNameResolver = $nodeNameResolver; $this->valueResolver = $valueResolver; } /** * @param FuncCall|StaticCall $node * @return array */ public function collectMockVariableName(Node $node) : array { $mockVariableTypesByNames = []; $parentNode = $node->getAttribute(AttributeKey::PARENT_NODE); if (!$parentNode instanceof Assign) { return []; } if (!$parentNode->var instanceof Variable) { return []; } /** @var Variable $variable */ $variable = $parentNode->var; /** @var string $variableName */ $variableName = $this->nodeNameResolver->getName($variable); $type = $node->args[0]->value; $mockedType = $this->valueResolver->getValue($type); $mockVariableTypesByNames[$variableName] = $mockedType; return $mockVariableTypesByNames; } }