View source code
Display the source code in dmd/dfa/fast/structure.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aGitHub issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.Requires a signed-in GitHub account. This works well for small changes.If you'd like to make larger changes you may want to consider usinglocal clone.

Struct dmd.dfa.fast.structure.DFAVar

Represents the identity of a variable being tracked.

struct DFAVar;

This does NOT store the current value of the variable (that changes depending on where you are in the code). Instead, it stores immutable properties like: - Is it a boolean? (isBoolean) - Can it be null? (isNullable) - Is it a reference to another variable? (base1, indexVar)

Think of this as the "Key" in a map, where the "Value" is the DFALattice.

Methods

NameDescription
visitFirstBase (del) Visit the base1 and base2 if present
visitIfReadOfReferenceToAnotherVar (resolvedIndirection) If this variable is a reference to another, takes into account dereferencing.
visitIfReferenceToAnotherVar (del) If this variable is a reference to another variable, visit the base variable.
visitReferenceToAnotherVar (hasIndirection, noIndirection) If this variable is a reference to another, takes into account dereferencing.
walkRoots (del) Finds the root variables for this one, where base1 is null
walkToRoot (del) Walk all variables that end up at a root

Authors

Richard (Rikki) Andrew Cattermole

License

Boost License 1.0