Open sandboxFocus

Namespace Metalama.Framework.Code.SyntaxBuilders

Classes

ArrayBuilder

Compile-time object that allows to build a run-time array. Items of the array are run-time expressions.

ExpressionBuilder

Allows to build a run-time expression by composing a string thanks to an underlying StringBuilder. Use the ToExpression() method to convert the ExpressionBuilder into a compile-time representation of the expression, or the ToValue(IExpressionBuilder) methods converts it to a dynamic expression that can be used in the C# code of the template.

ExpressionBuilderExtensions

ExpressionFactory

Provides several ways to create instances of the IExpression interface.

InterpolatedStringBuilder

Compile-time object that allows to build a run-time interpolated string.

StatementBuilder

Allows to build a run-time statement that can be injected to run-time code using ToStatement() and InsertStatement(IStatement).

StatementExtensions

Extensions to the IStatement interface.

StatementFactory

Creates instances of the IStatement interface.

StatementListBuilder

A class that allows to dynamically build an IStatementList.

SwitchStatementBuilder

Builds a switch statement.

SwitchStatementLabel

Represents the label of a switch case (i.e. the literal or tuple literal to which the expression is compared). Only single literals or tuple of literals can be represented.

SyntaxBuilder

A base class for ExpressionBuilder and StatementBuilder.

Interfaces

IExpressionBuilder

Interface to be implemented by any compile-time object that can be serialized into a run-time expression.

INotNullExpressionBuilder

An IExpressionBuilder that is guaranteed to produce a non-null value.

IStatement

Represents a statement, which can be inserted into run-time code using the InsertStatement(IStatement). To create a statement, use StatementFactory, StatementBuilder, or SwitchStatementBuilder. method.

IStatementBuilder

A common interface for objects that produce an IStatement.

IStatementList

Represents a list of statements. This list cannot be enumerated because it is evaluated late, when the statement is used in the target syntax tree. To create an IStatementList, use List(params IStatement[]), UnwrapBlock(IStatement), or AsList(IStatement).