Table of Contents

Class StatementFactDto

Namespace
RDCore.SDK.Platform.Protocol
Assembly
RDCore.SDK.dll

A StatementFact, as it travels.

public record StatementFactDto : IEquatable<StatementFactDto>
Inheritance
StatementFactDto
Implements
Inherited Members

Remarks

👉 One record carries every kind of statement: the flags of the kind the statement is are set, and those of every other kind are null.

Constructors

StatementFactDto(SyntaxNodeId, SourceLocation, string, FixedAssignmentSemanticFlags?, WithStatementSemanticFlags?, bool, CaseClauseSemanticFlags?)

A StatementFact, as it travels.

public StatementFactDto(SyntaxNodeId Node, SourceLocation Location, string Statement, FixedAssignmentSemanticFlags? FixedAssignmentFlags, WithStatementSemanticFlags? WithStatementFlags, bool IsValueKnown = true, CaseClauseSemanticFlags? CaseClauseFlags = null)

Parameters

Node SyntaxNodeId

The statement.

Location SourceLocation

Where it is.

Statement string

Its keyword: one of the Tokens.

FixedAssignmentFlags FixedAssignmentSemanticFlags?

What is known about an LSet or an RSet statement (FixedAssignmentStatementFact).

WithStatementFlags WithStatementSemanticFlags?

What is known about a With statement (WithStatementFact).

IsValueKnown bool

Whether what the statement works with is known, as opposed to a value its type merely allows; true for a statement whose fact does not depend on it.

CaseClauseFlags CaseClauseSemanticFlags?

What is known about a range clause of a Case (CaseClauseStatementFact).

Remarks

👉 One record carries every kind of statement: the flags of the kind the statement is are set, and those of every other kind are null.

Properties

CaseClauseFlags

What is known about a range clause of a Case (CaseClauseStatementFact).

public CaseClauseSemanticFlags? CaseClauseFlags { get; init; }

Property Value

CaseClauseSemanticFlags?

FixedAssignmentFlags

What is known about an LSet or an RSet statement (FixedAssignmentStatementFact).

public FixedAssignmentSemanticFlags? FixedAssignmentFlags { get; init; }

Property Value

FixedAssignmentSemanticFlags?

IsValueKnown

Whether what the statement works with is known, as opposed to a value its type merely allows; true for a statement whose fact does not depend on it.

public bool IsValueKnown { get; init; }

Property Value

bool

Location

Where it is.

public SourceLocation Location { get; init; }

Property Value

SourceLocation

Node

The statement.

public SyntaxNodeId Node { get; init; }

Property Value

SyntaxNodeId

Statement

Its keyword: one of the Tokens.

public string Statement { get; init; }

Property Value

string

WithStatementFlags

What is known about a With statement (WithStatementFact).

public WithStatementSemanticFlags? WithStatementFlags { get; init; }

Property Value

WithStatementSemanticFlags?

Methods

From(StatementFact)

Describes a statement for the wire.

public static StatementFactDto From(StatementFact fact)

Parameters

fact StatementFact

The statement.

Returns

StatementFactDto