public ReadOnlyCollection<Expression> Reads(Node atom) { return _usages[atom.AssertCast<Expression>()].Where(u => !(u is Assign)).ToReadOnly(); }
public ReadOnlyCollection<Assign> Writes(Node atom) { return _usages[atom.AssertCast<Expression>()].OfType<Assign>().ToReadOnly(); }
public ReadOnlyCollection<Expression> Usages(Node atom) { return _usages[atom.AssertCast<Expression>()].ToReadOnly(); }