slang/ast/ASTContext.h file

AST creation context.

Namespaces

namespace slang
Root namespace.
namespace slang::ast
The SystemVerilog AST.

Classes

struct slang::ast::EvaluatedDimension
The result of evaluating dimension syntax nodes.
struct slang::ast::AssertionInstanceDetails
Information required to instantiate a sequence, property, or checker instance.
class slang::ast::ASTContext
Contains required context for binding syntax nodes with symbols to form an AST.
struct slang::ast::ASTContext::RandomizeDetails
A collection of information needed to bind names inside inline constraint blocks for class and scope randomize function calls.

Enums

enum class ASTFlags: uint64_t { None = 0, InsideConcatenation = 1ull << 0, UnevaluatedBranch = 1ull << 1, AllowDataType = 1ull << 2, EnumInitializer = 1ull << 3, NoAttributes = 1ull << 4, AssignmentAllowed = 1ull << 5, AssignmentDisallowed = 1ull << 6, NonProcedural = 1ull << 7, StaticInitializer = 1ull << 8, StreamingAllowed = 1ull << 9, TopLevelStatement = 1ull << 10, AllowUnboundedLiteral = 1ull << 11, AllowUnboundedLiteralArithmetic = 1ull << 12, Function = 1ull << 13, Final = 1ull << 14, NonBlockingTimingControl = 1ull << 15, EventExpression = 1ull << 16, AllowTypeReferences = 1ull << 17, AssertionExpr = 1ull << 18, AllowClockingBlock = 1ull << 19, AssertionInstanceArgCheck = 1ull << 20, AssertionDelayOrRepetition = 1ull << 21, LValue = 1ull << 22, PropertyNegation = 1ull << 23, PropertyTimeAdvance = 1ull << 24, RecursivePropertyArg = 1ull << 25, ConcurrentAssertActionBlock = 1ull << 26, AllowCoverageSampleFormal = 1ull << 27, AllowCoverpoint = 1ull << 28, AllowNetType = 1ull << 29, OutputArg = 1ull << 30, ProceduralAssign = 1ull << 31, ProceduralForceRelease = 1ull << 32, AllowInterconnect = 1ull << 33, NotADriver = 1ull << 34, StreamingWithRange = 1ull << 35, SpecifyBlock = 1ull << 36, DPIArg = 1ull << 37, AssertionDefaultArg = 1ull << 38, LAndRValue = 1ull << 39, NoReference = 1ull << 40, ConfigParam = 1ull << 41, TypeOperator = 1ull << 42, ForkJoinAnyNone = 1ull << 43 }
Specifies flags that control expression and statement creation.
enum class EvalFlags: uint8_t { None = 0, IsScript = 1 << 0, CacheResults = 1 << 1, SpecparamsAllowed = 1 << 2, CovergroupExpr = 1 << 3, AllowUnboundedPlaceholder = 1 << 4 }
Various flags that can be applied to a constant expression evaluation.