<?php

namespace Torchlight\Engine\Pipeline;

use Phiki\Grammar\Grammar;
use Phiki\Grammar\ParsedGrammar;
use Phiki\Token\Token;

class ProcessedTokens
{
    public function __construct(
        /**
         * @var array<int, Token[]>
         * @readonly
         */
        public array $tokens,

        /**
         * @readonly
         */
        public string $cleanedText,

        /**
         * @readonly
         */
        public Grammar|ParsedGrammar|null $grammar,

        /**
         * @readonly
         */
        public string $languageName,

        /**
         * @readonly
         */
        public string $scopeName,
    ) {}
}
