public override bool Equals(object obj) { StackLocalStorage sas = obj as StackLocalStorage; if (sas == null) { return(false); } return(StackOffset == sas.StackOffset); }
public Identifier FindStackLocal(int offset, int size) { foreach (Identifier id in identifiers) { StackLocalStorage loc = id.Storage as StackLocalStorage; if (loc != null && loc.StackOffset == offset && id.DataType.Size == size) { return(id); } } return(null); }
public override int OffsetOf(Storage stgSub) { StackLocalStorage local = stgSub as StackLocalStorage; if (local == null) { return(-1); } if (local.StackOffset >= StackOffset && local.StackOffset + local.DataType.Size <= StackOffset + DataType.Size) { return((local.StackOffset - StackOffset) * DataType.BitsPerByte); } return(-1); }
public Expression VisitStackLocalStorage(StackLocalStorage local) { throw new NotSupportedException(string.Format("A {0} can't be used as a formal parameter.", local.GetType().FullName)); }
Identifier StorageVisitor <Identifier> .VisitStackLocalStorage(StackLocalStorage local) { throw new NotImplementedException(); }