slang::ast::VariableSymbol class

Represents a variable declaration.

Base classes

class ValueSymbol
A base class for symbols that represent a value (for example a variable or a parameter).

Derived classes

class ClockVarSymbol
Represents a clocking block signal.
class FieldSymbol
Represents a field member of a struct or union.
class FormalArgumentSymbol
Represents a formal argument in subroutine (task or function).
class LocalAssertionVarSymbol
Represents a local variable declared inside an assertion item, such as a sequence or property.
class TempVarSymbol
Represents a temporary variable materialized within a limited scope such as a single expression.

Public static functions

static void fromSyntax(Compilation& compilation, const syntax::DataDeclarationSyntax& syntax, const Scope& scope, bool isCheckerFreeVar, SmallVectorBase<VariableSymbol*>& results)
Constructs all variable symbols specified by the given syntax node.

Function documentation

static void slang::ast::VariableSymbol::fromSyntax(Compilation& compilation, const syntax::DataDeclarationSyntax& syntax, const Scope& scope, bool isCheckerFreeVar, SmallVectorBase<VariableSymbol*>& results)

Constructs all variable symbols specified by the given syntax node.

Note that this might actually construct net symbols if the data type syntax refers to a user defined net type or alias.