Table of Contents

Class VBLocalVariableSymbol

Namespace
RDCore.SDK.Model.Symbols
Assembly
RDCore.SDK.dll

A TypedSymbol representing any local variable.

public record VBLocalVariableSymbol : BoundTypedSymbol, IEquatable<Symbol>, IEquatable<BoundSymbol>, ITypedSymbol, IEquatable<BoundTypedSymbol>, IEquatable<VBLocalVariableSymbol>
Inheritance
VBLocalVariableSymbol
Implements
Derived
Inherited Members

Constructors

VBLocalVariableSymbol(Uri, Uri, string, ScopeKind, SourceRange, SourceRange, bool, VBType?, LocalDeclarationKind)

A TypedSymbol representing any local variable.

public VBLocalVariableSymbol(Uri WorkspaceRoot, Uri ParentUri, string Name, ScopeKind Scope, SourceRange Range, SourceRange SelectionRange, bool IsStatic = false, VBType? ResolvedType = null, LocalDeclarationKind DeclaredBy = LocalDeclarationKind.Dim)

Parameters

WorkspaceRoot Uri

The workspace root for this symbol. For an external project or library, this should be different than the user's project workspace.

ParentUri Uri

The Uri of the parent symbol.

Name string

The identifier name of the symbol.

Scope ScopeKind

The allocation scope of the symbol.

Range SourceRange

A Range pointing to the document location that belongs to this symbol.

SelectionRange SourceRange

A Range pointing to the document location that should be selected when navigating to this symbol.

IsStatic bool

true if the symbol declaration includes an explicit Static token.

ResolvedType VBType

The resolved VBType of the symbol, if available. VBUnknownType unless specified otherwise.

DeclaredBy LocalDeclarationKind

How the local first entered scope — an explicit Dim/Static (the default), or an implicit ReDim.

Properties

DeclaredBy

How this local first entered its procedure scope. ReDim marks an implicit declaration a later analysis pass reports on.

public LocalDeclarationKind DeclaredBy { get; init; }

Property Value

LocalDeclarationKind

IsStatic

true if the declaration has an explicit Static token.

public bool IsStatic { get; init; }

Property Value

bool

Remarks

Use semantic flags instead to determine if a variable is semantically Static.

Methods

WithStaticModifier(bool)

Creates and returns a copy of this symbol with the IsStatic flag set to true unless specified otherwise.

public BoundTypedSymbol WithStaticModifier(bool value = true)

Parameters

value bool

Returns

BoundTypedSymbol