public void removeLocalVariable(LocalVariableGen lvg) { _slotAllocator.releaseSlot(lvg); getLocalVariableRegistry().removeByNameTracking(lvg); super.removeLocalVariable(lvg); }
public void removeLocalVariable(LocalVariableGen lvg) { _slotAllocator.releaseSlot(lvg); getLocalVariableRegistry().removeByNameTracking(lvg); super.removeLocalVariable(lvg); }
public void removeLocalVariable(LocalVariableGen lvg) { _slotAllocator.releaseSlot(lvg); getLocalVariableRegistry().removeByNameTracking(lvg); super.removeLocalVariable(lvg); }
public void removeLocalVariable(LocalVariableGen lvg) { _slotAllocator.releaseSlot(lvg); getLocalVariableRegistry().removeByNameTracking(lvg); super.removeLocalVariable(lvg); }
public void testRemoveLocalVariable() throws Exception { final MethodGen mg = getMethod(Foo.class, "bar"); final LocalVariableGen lv = mg.getLocalVariables()[1]; assertEquals("variable name", "a", lv.getName()); final InstructionHandle start = lv.getStart(); final InstructionHandle end = lv.getEnd(); assertNotNull("scope start", start); assertNotNull("scope end", end); assertTrue("scope start not targeted by the local variable", Arrays.asList(start.getTargeters()).contains(lv)); assertTrue("scope end not targeted by the local variable", Arrays.asList(end.getTargeters()).contains(lv)); // now let's remove the local variable mg.removeLocalVariable(lv); assertFalse("scope start still targeted by the removed variable", Arrays.asList(start.getTargeters()).contains(lv)); assertFalse("scope end still targeted by the removed variable", Arrays.asList(end.getTargeters()).contains(lv)); assertNull("scope start", lv.getStart()); assertNull("scope end", lv.getEnd()); }