public static IMethod[] removeGeneratedMethods(IMethod[] methods) throws Exception { List<IMethod> result = new ArrayList<IMethod>(); for (IMethod m : methods) { if (m.getNameRange().getLength() > 0 && !m.getNameRange().equals(m.getSourceRange())) result.add(m); } return result.size() == methods.length ? methods : result.toArray(new IMethod[result.size()]); }
public boolean equals(Object obj) { if (!(obj instanceof ISourceRange)) return false; ISourceRange sourceRange = (ISourceRange) obj; return sourceRange.getOffset() == this.offset && sourceRange.getLength() == this.length; } /**
private void doListSelectionChanged(int page, ISourceRange[] ranges, JavaEditor editor) { if (editor != null && ranges != null && page >= 0 && page < ranges.length) { ISourceRange range= ranges[page]; editor.selectAndReveal(range.getOffset(), range.getLength()); } }
/** * Maps a selection to an ASTNode, where the selection is defined using a source range. * Calls <code>perform(root, range.getOffset(), range.getLength())</code>. * * @param root the root node from which the search starts * @param range the selection range * @return the innermost node that exactly matches the selection, or the first node that contains the selection * @see #perform(ASTNode, int, int) */ public static ASTNode perform(ASTNode root, ISourceRange range) { return perform(root, range.getOffset(), range.getLength()); }
@Override public IRegion getTextRange() throws CoreException { ISourceRange range= ((ISourceReference)fJavaElement).getSourceRange(); return new Region(range.getOffset(), range.getLength()); } }
static boolean rangeIncludesNonWhitespaceOutsideRange(ISourceRange selection, ISourceRange nodes, IBuffer buffer) { if (!covers(selection, nodes)) return false; //TODO: skip leading comments. Consider that leading line comment must be followed by newline! if(!isJustWhitespace(selection.getOffset(), nodes.getOffset(), buffer)) return true; if(!isJustWhitespaceOrComment(nodes.getOffset() + nodes.getLength(), selection.getOffset() + selection.getLength(), buffer)) return true; return false; } private static boolean isJustWhitespace(int start, int end, IBuffer buffer) {
protected static ISourceRange getSelectedNodeSourceRange(ISourceReference sr, ASTNode nodeToSelect) throws JavaModelException { int offset= nodeToSelect.getStartPosition(); int end= Math.min(sr.getSourceRange().getLength(), nodeToSelect.getStartPosition() + nodeToSelect.getLength() - 1); return createSourceRange(offset, end); }
private static ASTNode findNode(ISourceRange range, CompilationUnit cuNode){ NodeFinder nodeFinder= new NodeFinder(cuNode, range.getOffset(), range.getLength()); ASTNode coveredNode= nodeFinder.getCoveredNode(); if (coveredNode != null) { return coveredNode; } else { return nodeFinder.getCoveringNode(); } }
@Override public final void run() { ITextSelection selection= getTextSelection(); ISourceRange newRange= getNewSelectionRange(createSourceRange(selection), null); // Check if new selection differs from current selection if (selection.getOffset() == newRange.getOffset() && selection.getLength() == newRange.getLength()) return; fEditor.selectAndReveal(newRange.getOffset(), newRange.getLength()); }
@Override public String toString() { return super.toString() + " [" + fRange.getSourceRange().getOffset() + '+' + fRange.getSourceRange().getLength() + ']'; //$NON-NLS-1$ } }
public final void run() { ITextSelection selection= getTextSelection(); ISourceRange newRange= getNewSelectionRange(createSourceRange(selection), null); // Check if new selection differs from current selection if (selection.getOffset() == newRange.getOffset() && selection.getLength() == newRange.getLength()) return; fEditor.selectAndReveal(newRange.getOffset(), newRange.getLength()); }
private static ASTNode findNode(ISourceRange range, CompilationUnit cuNode){ NodeFinder nodeFinder= new NodeFinder(cuNode, range.getOffset(), range.getLength()); ASTNode coveredNode= nodeFinder.getCoveredNode(); if (coveredNode != null) return coveredNode; else return nodeFinder.getCoveringNode(); }
public ASTNode search() throws JavaModelException { ISourceRange range = null; if (this.element instanceof IMember && !(this.element instanceof IInitializer)) range = ((IMember) this.element).getNameRange(); else range = this.element.getSourceRange(); this.rangeStart = range.getOffset(); this.rangeLength = range.getLength(); this.ast.accept(this); return this.foundNode; }
private static ASTNode findNode(ISourceRange range, CompilationUnit cuNode){ NodeFinder nodeFinder= new NodeFinder(range.getOffset(), range.getLength()); cuNode.accept(nodeFinder); ASTNode coveredNode= nodeFinder.getCoveredNode(); if (coveredNode != null) return coveredNode; else return nodeFinder.getCoveringNode(); }
private static Integer[] createOffsetArray(IType[] types) throws JavaModelException { List result= new ArrayList(); for (int i= 0; i < types.length; i++) { IType iType= types[i]; addOffset(result, iType.getNameRange().getOffset()); addOffset(result, iType.getSourceRange().getOffset() + iType.getSourceRange().getLength()); addMemberOffsetList(result, iType.getMethods()); addMemberOffsetList(result, iType.getFields()); addMemberOffsetList(result, iType.getInitializers()); } return (Integer[]) result.toArray(new Integer[result.size()]); }
private static Integer[] createOffsetArray(IType[] types) throws JavaModelException { List<Integer> result= new ArrayList<>(); for (int i= 0; i < types.length; i++) { IType iType= types[i]; addOffset(result, iType.getNameRange().getOffset()); addOffset(result, iType.getSourceRange().getOffset() + iType.getSourceRange().getLength()); addMemberOffsetList(result, iType.getMethods()); addMemberOffsetList(result, iType.getFields()); addMemberOffsetList(result, iType.getInitializers()); } return result.toArray(new Integer[result.size()]); }
private CodeLens getCodeLens(String type, IJavaElement element, ITypeRoot typeRoot) throws JavaModelException { ISourceRange r = ((ISourceReference) element).getNameRange(); if (r == null) { return null; } CodeLens lens = new CodeLens(); final Range range = JDTUtils.toRange(typeRoot, r.getOffset(), r.getLength()); lens.setRange(range); String uri = ResourceUtils.toClientUri(JDTUtils.toUri(typeRoot)); lens.setData(Arrays.asList(uri, range.getStart(), type)); return lens; }
/** * @see ISourceReference */ @Override public ISourceRange getSourceRange() throws JavaModelException { IJavaElement[] imports= getChildren(); ISourceRange firstRange= ((ISourceReference)imports[0]).getSourceRange(); ISourceRange lastRange= ((ISourceReference)imports[imports.length - 1]).getSourceRange(); SourceRange range= new SourceRange(firstRange.getOffset(), lastRange.getOffset() + lastRange.getLength() - firstRange.getOffset()); return range; } /**
private void addDeclarationUpdate() throws CoreException { ISourceRange nameRange= fField.getNameRange(); TextEdit textEdit= new ReplaceEdit(nameRange.getOffset(), nameRange.getLength(), getNewElementName()); ICompilationUnit cu= fField.getCompilationUnit(); String groupName= RefactoringCoreMessages.RenameFieldRefactoring_Update_field_declaration; addTextEdit(fChangeManager.get(cu), groupName, textEdit); }
public void run(IStructuredSelection selection) { try { Assert.isTrue(RefactoringAvailabilityTester.isInlineConstantAvailable(selection)); Object first= selection.getFirstElement(); Assert.isTrue(first instanceof IField); IField field= (IField) first; run(field.getNameRange().getOffset(), field.getNameRange().getLength(), field.getCompilationUnit()); } catch (JavaModelException e) { ExceptionHandler.handle(e, getShell(), RefactoringMessages.InlineConstantAction_dialog_title, RefactoringMessages.InlineConstantAction_unexpected_exception); } }