public override Addressable AddressOf(InstanceFieldAccess instanceFieldAccess) { if (RequiresAllocation(instanceFieldAccess) || instanceFieldAccess.Type is IManagedPointerType) { return(memAddr.AddressOf(instanceFieldAccess)); } else { return(memBCT.AddressOf(instanceFieldAccess)); } }
//public abstract StatementList WriteInstanceField(InstanceFieldAccess instanceFieldAccess, IVariable value, InstructionTranslator instTranslator); //public abstract StatementList WriteStaticField(StaticFieldAccess staticFieldAccess, Expression expr); //public abstract StatementList WriteStaticField(StaticFieldAccess staticFieldAccess, IVariable value); public Expression ReadAddr(IVariable addr) { return(dispatcher.ReadAddr(dispatcher.AddressOf(addr))); }