From bf6655a534a6775d30cafa67bd801276bda1d98d Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 13 Aug 2024 23:45:21 +0200 Subject: =?UTF-8?q?VERSION=200.2=20doctrine=20ORM=20et=20entit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vendor/doctrine/orm/src/Query/ParserResult.php | 118 +++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 vendor/doctrine/orm/src/Query/ParserResult.php (limited to 'vendor/doctrine/orm/src/Query/ParserResult.php') diff --git a/vendor/doctrine/orm/src/Query/ParserResult.php b/vendor/doctrine/orm/src/Query/ParserResult.php new file mode 100644 index 0000000..8b5ee1f --- /dev/null +++ b/vendor/doctrine/orm/src/Query/ParserResult.php @@ -0,0 +1,118 @@ +> + */ + private array $parameterMappings = []; + + /** + * Initializes a new instance of the ParserResult class. + * The new instance is initialized with an empty ResultSetMapping. + */ + public function __construct() + { + $this->resultSetMapping = new ResultSetMapping(); + } + + /** + * Gets the ResultSetMapping for the parsed query. + * + * @return ResultSetMapping The result set mapping of the parsed query + */ + public function getResultSetMapping(): ResultSetMapping + { + return $this->resultSetMapping; + } + + /** + * Sets the ResultSetMapping of the parsed query. + */ + public function setResultSetMapping(ResultSetMapping $rsm): void + { + $this->resultSetMapping = $rsm; + } + + /** + * Sets the SQL executor that should be used for this ParserResult. + */ + public function setSqlExecutor(AbstractSqlExecutor $executor): void + { + $this->sqlExecutor = $executor; + } + + /** + * Gets the SQL executor used by this ParserResult. + */ + public function getSqlExecutor(): AbstractSqlExecutor + { + if ($this->sqlExecutor === null) { + throw new LogicException(sprintf( + 'Executor not set yet. Call %s::setSqlExecutor() first.', + self::class, + )); + } + + return $this->sqlExecutor; + } + + /** + * Adds a DQL to SQL parameter mapping. One DQL parameter name/position can map to + * several SQL parameter positions. + */ + public function addParameterMapping(string|int $dqlPosition, int $sqlPosition): void + { + $this->parameterMappings[$dqlPosition][] = $sqlPosition; + } + + /** + * Gets all DQL to SQL parameter mappings. + * + * @psalm-return array> The parameter mappings. + */ + public function getParameterMappings(): array + { + return $this->parameterMappings; + } + + /** + * Gets the SQL parameter positions for a DQL parameter name/position. + * + * @param string|int $dqlPosition The name or position of the DQL parameter. + * + * @return int[] The positions of the corresponding SQL parameters. + * @psalm-return list + */ + public function getSqlParameterPositions(string|int $dqlPosition): array + { + return $this->parameterMappings[$dqlPosition]; + } +} -- cgit v1.2.3