View source code
Display the source code in dmd/dfa/fast/analysis.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.

Function dmd.dfa.fast.analysis.DFAAnalyzer.transferAssign

Updates the state of a variable after an assignment (a = b).

dmd.dfa.fast.structure.DFALatticeRef transferAssign(
  dmd.dfa.fast.structure.DFALatticeRef assignTo,
  bool construct,
  bool isBlit,
  dmd.dfa.fast.structure.DFALatticeRef lr,
  int alteredState,
  ref Loc loc,
  dmd.dfa.fast.structure.DFALatticeRef indexLR = DFALatticeRef(null)
);

This moves the state from the RHS (Right Hand Side) lattice to the LHS (Left Hand Side) variable.

Logic

- Direct Assignment: a = 5 (a becomes 5). - Pointer Assignment: *p = 5 (We don't change p, we assume memory at p changed). - Construct: int a = 5 (Initialization).

Authors

Richard (Rikki) Andrew Cattermole

License

Boost License 1.0