Documentation

TreeCompiler
in package

Tree visitor used to compile JMESPath expressions into native PHP code.

Table of Contents

$indentation  : mixed
$source  : mixed
$vars  : mixed
visit()  : string
dispatch()  : mixed
indent()  : $this
Increases the indentation level of code being written
makeVar()  : string
Creates a monotonically incrementing unique variable name by prefix.
outdent()  : $this
Decreases the indentation level of code being written
visit_and()  : mixed
visit_comparator()  : mixed
visit_condition()  : mixed
visit_current()  : mixed
visit_expref()  : mixed
visit_field()  : mixed
visit_flatten()  : mixed
visit_function()  : mixed
visit_index()  : mixed
visit_literal()  : mixed
visit_multi_select_hash()  : mixed
visit_multi_select_list()  : mixed
visit_not()  : mixed
visit_or()  : mixed
visit_pipe()  : mixed
visit_projection()  : mixed
visit_slice()  : mixed
visit_subexpression()  : mixed
write()  : $this
Writes the given line of source code. Pass positional arguments to write that match the format of sprintf.

Properties

Methods

visit()

public visit(array<string|int, mixed> $ast, string $fnName, string $expr) : string
Parameters
$ast : array<string|int, mixed>

AST to compile.

$fnName : string

The name of the function to generate.

$expr : string

Expression being compiled.

Return values
string

dispatch()

private dispatch(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

indent()

Increases the indentation level of code being written

private indent() : $this
Return values
$this

makeVar()

Creates a monotonically incrementing unique variable name by prefix.

private makeVar(string $prefix) : string
Parameters
$prefix : string

Variable name prefix

Return values
string

outdent()

Decreases the indentation level of code being written

private outdent() : $this
Return values
$this

visit_and()

private visit_and(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_comparator()

private visit_comparator(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_condition()

private visit_condition(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_current()

private visit_current(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_expref()

private visit_expref(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_field()

private visit_field(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_flatten()

private visit_flatten(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_function()

private visit_function(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_index()

private visit_index(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_literal()

private visit_literal(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_multi_select_hash()

private visit_multi_select_hash(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_multi_select_list()

private visit_multi_select_list(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_not()

private visit_not(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_or()

private visit_or(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_pipe()

private visit_pipe(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_projection()

private visit_projection(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_slice()

private visit_slice(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

visit_subexpression()

private visit_subexpression(array<string|int, mixed> $node) : mixed
Parameters
$node : array<string|int, mixed>
Return values
mixed

write()

Writes the given line of source code. Pass positional arguments to write that match the format of sprintf.

private write(string $str) : $this
Parameters
$str : string

String to write

Return values
$this

Search results