private static void gatherSlotsUsed(Expression exp, IntHashSet slots) { exp = exp.getInterpretedExpression(); if (exp instanceof LocalVariableReference) { slots.add(((LocalVariableReference)exp).getSlotNumber()); } else if (exp instanceof SuppliedParameterReference) { int slot = ((SuppliedParameterReference) exp).getSlotNumber(); slots.add(slot); } else { for (Operand o : exp.operands()) { gatherSlotsUsed(o.getChildExpression(), slots); } } }
private static void gatherSlotsUsed(Expression exp, IntHashSet slots) { exp = exp.getInterpretedExpression(); if (exp instanceof LocalVariableReference) { slots.add(((LocalVariableReference)exp).getSlotNumber()); } else if (exp instanceof SuppliedParameterReference) { int slot = ((SuppliedParameterReference) exp).getSlotNumber(); slots.add(slot); } else { for (Operand o : exp.operands()) { gatherSlotsUsed(o.getChildExpression(), slots); } } }