Open sandboxFocus

Namespace Metalama.Framework.Code.SyntaxBuilders

Classes

ArrayBuilder

Allows building run-time array creation expressions programmatically by adding items one at a time.

ExpressionBuilder

Allows to build a run-time expression programmatically by composing a string using an underlying StringBuilder.

ExpressionBuilderExtensions

Extension methods for IExpressionBuilder and INotNullExpressionBuilder.

ExpressionFactory

Provides factory methods to create IExpression objects, which are compile-time representations of run-time C# expressions.

InterpolatedStringBuilder

Allows building run-time interpolated string expressions programmatically by adding text and expression parts.

StatementBuilder

Allows building run-time statements programmatically by composing a string using an underlying StringBuilder.

StatementExtensions

Extension methods for the IStatement interface.

StatementFactory

Provides factory methods to create IStatement objects, which are compile-time representations of run-time C# statements.

StatementListBuilder

Allows building lists of statements programmatically by adding IStatement objects one at a time.

SwitchStatementBuilder

Allows building run-time switch statements programmatically by adding case and default sections.

SwitchStatementLabel

Represents the label of a switch case (i.e., the literal or tuple literal to which the expression is compared).

SyntaxBuilder

Base class for ExpressionBuilder and StatementBuilder, providing common methods for building C# syntax programmatically.

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 expression value.

IStatement

A compile-time representation of a run-time statement that can be inserted into generated code.

IStatementBuilder

A common interface for objects that produce an IStatement.

IStatementList

Represents a list of statements that can be used in contexts requiring multiple statements, such as switch case sections or block contents.