julia
4baf148a - lattice overhaul step 2: convert existing extended lattice wrappers to `LatticeElement` attributes

Commit
4 years ago
lattice overhaul step 2: convert existing extended lattice wrappers to `LatticeElement` attributes - pack `PartialStruct` into `LatticeElement.fields` - pack `Conditional`/`InterConditional` into `LatticeElement.conditional` - pack `Const` into `LatticeElement.constant` - pack `PartialTypeVar` into `LatticeElement.partialtypevar` - pack `LimitedAccuracy` into `LatticeElement.causes` - pack `PartialOpaque` into `LatticeElement.partialopaque` - pack `MaybeUndef` into `LatticeElement.maybeundef` - merge `LatticeElement.partialopaque` and `LatticeElement.partialopaque` There is not much value in keeping them separate, since a variable usually doesn't have these "special" attributes at the same time. - wrap `Vararg` in `LatticeElement.special::Vararg` - add HACK to allow `DelayedTyp` to sneak in `LatticeElement` system And now we can eliminate `AbstractLattice`, and our inference code works with `LatticeElement` (mostly). - define `SSAValueType(s)` / `Argtypes` aliases
Author
Committer
Parents
Loading