NaifyViewExtension\Dialect\Smarty\SmartyIrBuilder クラス

Smarty first-slice source を Core IR へ直接落とす builder。

まだ full Smarty parser ではなく、代表的な control / interpolation を Native source 文字列へ組み直さず IR document として積むための速い経路。 未対応 surface は null を返し、既存 converter + NativeIrBridge へ fallback する。

プロパティ

名前型説明
private $localNames array
private $span SourceSpan
private $foreachSpecParser SmartyForeachSpecParser

メソッド

メソッド説明
public __construct(?SmartyForeachSpecParser $foreachSpecParser):
public build(string $source, array $additionalLocalNames = '...'): ?IrStructuredNode
private appendNode(array $stack, IrStructuredNode $node): void
private switchIfBranch(array $stack, string $branchType, ?string $condition): bool
private closeIf(array $stack): bool
private closeFrame(array $stack, string $kind): bool
private parseForeachSpec(string $source): ?array
private parseIncludeSpec(string $source): ?array
private readAttributes(string $source): array
private readAttributeTokens(string $source): array
private readPositionalToken(string $source): string
private convertFilteredExpression(string $expression): string
private convertExpression(string $expression): string
private convertSmartyValueToken(string $token): string
private isDynamicIncludeToken(string $token): bool
private normalizeName(string $value, string $fallback): string
private node(string $type, array $payload = '...', array $children = '...'): IrStructuredNode