void (PyTargetExpression var, Instruction[] instructions, int instr, boolean[] visited, Collection<PyElement> result) { // TODO: Use ControlFlowUtil.process() for forwards CFG traversal if (visited[instr]) return; visited[instr] = true; if (instructions[instr] instanceof ReadWriteInstruction) { final ReadWriteInstruction instruction = (ReadWriteInstruction)instructions[instr]; final PsiElement element = instruction.getElement(); String name = elementName(element); if (Comparing.strEqual(name, var.getName())) { final ReadWriteInstruction.ACCESS access = instruction.getAccess(); if (access.isWriteAccess()) { return; } result.add((PyElement)instruction.getElement()); } } for (Instruction instruction : instructions[instr].allSucc()) { getPostRefs(var, instructions, instruction.num(), visited, result); } }