/** @return The annotation lines or <code>null</code>. */ private static int[] getAnnotationLines(VisageLineBreakpoint b, FileObject fo) { if (b instanceof VisageLineBreakpoint) { VisageLineBreakpoint lb = (VisageLineBreakpoint) b; try { if (fo.getURL().equals(new URL(lb.getURL()))) { return new int[] {lb.getLineNumber()}; } } catch (MalformedURLException ex) { Exceptions.printStackTrace(ex); } catch (FileStateInvalidException ex) { Exceptions.printStackTrace(ex); } return null; // } else if (b instanceof FieldBreakpoint) { // FieldBreakpoint fb = (FieldBreakpoint) b; // String className = fb.getClassName(); // String fieldName = fb.getFieldName(); // int line = EditorContextImpl.getFieldLineNumber(fo, className, fieldName); // return new int[] { line }; // } else if (b instanceof MethodBreakpoint) { // MethodBreakpoint mb = (MethodBreakpoint) b; // String[] filters = mb.getClassFilters(); // int[] lns = new int[] {}; // for (int i = 0; i < filters.length; i++) { // // TODO: annotate also other matched classes // if (!filters[i].startsWith("*") && !filters[i].endsWith("*")) { // int[] newlns = EditorContextImpl.getMethodLineNumbers( // fo, filters[i], mb.getClassExclusionFilters(), // mb.getMethodName(), // mb.getMethodSignature()); // if (lns.length == 0) { // lns = newlns; // } else { // int[] ln = new int[lns.length + newlns.length]; // System.arraycopy(lns, 0, ln, 0, lns.length); // System.arraycopy(newlns, 0, ln, lns.length, newlns.length); // lns = ln; // } // } // } // return lns; } else { throw new IllegalStateException(b.toString()); } }