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); }
public int getIndex(TemplateElement node) { if (nestedBlock instanceof MixedContent) { return nestedBlock.getIndex(node); } if (nestedBlock != null) { if (node == nestedBlock) { return 0; } } else { for (int i = 0; i < regulatedChildCount; i++) { if (regulatedChildBuffer[i].equals(node)) { return i; } } } return -1; }
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)); }