phpDocInfoFactory = $phpDocInfoFactory; } public function createAssignExpression( ServiceNameTypeAndVariableName $serviceNameTypeAndVariableName, Expr $expr ): Expression { $variable = new Variable($serviceNameTypeAndVariableName->getVariableName()); $assign = new Assign($variable, $expr); $expression = new Expression($assign); $this->decorateWithVarAnnotation($expression, $serviceNameTypeAndVariableName); return $expression; } private function decorateWithVarAnnotation( Expression $expression, ServiceNameTypeAndVariableName $serviceNameTypeAndVariableName ): void { $phpDocInfo = $this->phpDocInfoFactory->createEmpty($expression); $fullyQualifiedIdentifierTypeNode = new FullyQualifiedIdentifierTypeNode( $serviceNameTypeAndVariableName->getType() ); $varTagValueNode = new VarTagValueNode( $fullyQualifiedIdentifierTypeNode, '$' . $serviceNameTypeAndVariableName->getVariableName(), '' ); $phpDocInfo->addTagValueNode($varTagValueNode); $phpDocInfo->makeSingleLined(); } }