public override StatementList CallReadArrayElement(IVariable resultVariable, Expression array, Expression index, InstructionTranslator instructionTranslator) { if (RequiresAllocation(resultVariable)) { return(memAddr.CallReadArrayElement(resultVariable, array, index, instructionTranslator)); } else { return(memBCT.CallReadArrayElement(resultVariable, array, index, instructionTranslator)); } }