private static void insertDebugBreak(Template t, Breakpoint breakpoint) { TemplateElement te = findTemplateElement(t.getRootTreeNode(), breakpoint.getLine()); if (te == null) { return; } TemplateElement parent = (TemplateElement) te.getParent(); DebugBreak db = new DebugBreak(te); // TODO: Ensure there always is a parent by making sure // that the root element in the template is always a MixedContent // Also make sure it doesn't conflict with anyone's code. parent.setChildAt(parent.getIndex(te), db); }
private void removeDebugBreak(Template t, Breakpoint breakpoint) { TemplateElement te = findTemplateElement(t.getRootTreeNode(), breakpoint.getLine()); if (te == null) { return; } DebugBreak db = null; while (te != null) { if (te instanceof DebugBreak) { db = (DebugBreak) te; break; } te = (TemplateElement) te.getParent(); } if (db == null) { return; } TemplateElement parent = (TemplateElement) db.getParent(); parent.setChildAt(parent.getIndex(db), (TemplateElement) db.getChildAt(0)); }