public int getLineOfOffset(int offset) throws CoreException { if (fDocument != null) { try { return fDocument.getLineOfOffset(offset); } catch (BadLocationException e) { String message= "Illegal offset: " + offset; //$NON-NLS-1$ throw new CoreException(createError(DOCUMENT_ERROR, message, e)); } } return getScanner().getLineNumber(offset); }
public int getLineOfOffset(int offset) throws CoreException { if (fDocument != null) { try { return fDocument.getLineOfOffset(offset); } catch (BadLocationException e) { String message= "Illegal offset: " + offset; //$NON-NLS-1$ throw new CoreException(createError(DOCUMENT_ERROR, message, e)); } } return getScanner().getLineNumber(offset); }
public int getLineOfOffset(int offset) throws CoreException { if (fDocument != null) { try { return fDocument.getLineOfOffset(offset); } catch (BadLocationException e) { String message= "Illegal offset: " + offset; //$NON-NLS-1$ throw new CoreException(createError(DOCUMENT_ERROR, message, e)); } } return getScanner().getLineNumber(offset); }
public int getLineEnd(int line) throws CoreException { if (fDocument != null) { try { IRegion region= fDocument.getLineInformation(line); return region.getOffset() + region.getLength(); } catch (BadLocationException e) { String message= "Illegal line: " + line; //$NON-NLS-1$ throw new CoreException(createError(DOCUMENT_ERROR, message, e)); } } return getScanner().getLineEnd(line); }
public int getLineEnd(int line) throws CoreException { if (fDocument != null) { try { IRegion region= fDocument.getLineInformation(line); return region.getOffset() + region.getLength(); } catch (BadLocationException e) { String message= "Illegal line: " + line; //$NON-NLS-1$ throw new CoreException(createError(DOCUMENT_ERROR, message, e)); } } return getScanner().getLineEnd(line); }
public int getLineEnd(int line) throws CoreException { if (fDocument != null) { try { IRegion region= fDocument.getLineInformation(line); return region.getOffset() + region.getLength(); } catch (BadLocationException e) { String message= "Illegal line: " + line; //$NON-NLS-1$ throw new CoreException(createError(DOCUMENT_ERROR, message, e)); } } return getScanner().getLineEnd(line); }
public void endVisit(CompilationUnit node) { if (!hasSelectedNodes()) { super.endVisit(node); return; } ASTNode selectedNode= getFirstSelectedNode(); Selection selection= getSelection(); if (node != selectedNode) { ASTNode parent= selectedNode.getParent(); fStatus.merge(CommentAnalyzer.perform(selection, fScanner.getScanner(), parent.getStartPosition(), parent.getLength())); } if (!fStatus.hasFatalError()) checkSelectedNodes(); super.endVisit(node); }
@Override public void endVisit(CompilationUnit node) { if (!hasSelectedNodes()) { super.endVisit(node); return; } ASTNode selectedNode= getFirstSelectedNode(); Selection selection= getSelection(); if (node != selectedNode) { ASTNode parent= selectedNode.getParent(); fStatus.merge(CommentAnalyzer.perform(selection, fScanner.getScanner(), parent.getStartPosition(), parent.getLength())); } if (!fStatus.hasFatalError()) checkSelectedNodes(); super.endVisit(node); }
@Override public void endVisit(CompilationUnit node) { if (!hasSelectedNodes()) { super.endVisit(node); return; } ASTNode selectedNode= getFirstSelectedNode(); Selection selection= getSelection(); if (node != selectedNode) { ASTNode parent= selectedNode.getParent(); fStatus.merge(CommentAnalyzer.perform(selection, fScanner.getScanner(), parent.getStartPosition(), parent.getLength())); } if (!fStatus.hasFatalError()) checkSelectedNodes(); super.endVisit(node); }
protected void checkSelectedNodes() { ASTNode[] nodes= getSelectedNodes(); if (nodes.length == 0) return; ASTNode node= nodes[0]; int selectionOffset= getSelection().getOffset(); try { int start= fScanner.getNextStartOffset(selectionOffset, true); if (start == node.getStartPosition()) { int lastNodeEnd= ASTNodes.getExclusiveEnd(nodes[nodes.length - 1]); int pos= fScanner.getNextStartOffset(lastNodeEnd, true); int selectionEnd= getSelection().getInclusiveEnd(); if (pos <= selectionEnd) { IScanner scanner= fScanner.getScanner(); char[] token= scanner.getCurrentTokenSource(); //see https://bugs.eclipse.org/324237 if (start < lastNodeEnd && token.length == 1 && (token[0] == ';' || token[0] == ',')) { setSelection(Selection.createFromStartEnd(start, lastNodeEnd - 1)); } else { ISourceRange range= new SourceRange(lastNodeEnd, pos - lastNodeEnd); invalidSelection(JavaManipulationMessages.StatementAnalyzer_end_of_selection, JavaStatusContext.create(fCUnit, range)); } } return; // success } } catch (CoreException e) { // fall through } ISourceRange range= new SourceRange(selectionOffset, node.getStartPosition() - selectionOffset + 1); invalidSelection(JavaManipulationMessages.StatementAnalyzer_beginning_of_selection, JavaStatusContext.create(fCUnit, range)); }
protected void checkSelectedNodes() { ASTNode[] nodes= getSelectedNodes(); if (nodes.length == 0) return; ASTNode node= nodes[0]; int selectionOffset= getSelection().getOffset(); try { int start= fScanner.getNextStartOffset(selectionOffset, true); if (start == node.getStartPosition()) { int lastNodeEnd= ASTNodes.getExclusiveEnd(nodes[nodes.length - 1]); int pos= fScanner.getNextStartOffset(lastNodeEnd, true); int selectionEnd= getSelection().getInclusiveEnd(); if (pos <= selectionEnd) { IScanner scanner= fScanner.getScanner(); char[] token= scanner.getCurrentTokenSource(); //see https://bugs.eclipse.org/324237 if (start < lastNodeEnd && token.length == 1 && (token[0] == ';' || token[0] == ',')) { setSelection(Selection.createFromStartEnd(start, lastNodeEnd - 1)); } else { ISourceRange range= new SourceRange(lastNodeEnd, pos - lastNodeEnd); invalidSelection(RefactoringCoreMessages.StatementAnalyzer_end_of_selection, JavaStatusContext.create(fCUnit, range)); } } return; // success } } catch (CoreException e) { // fall through } ISourceRange range= new SourceRange(selectionOffset, node.getStartPosition() - selectionOffset + 1); invalidSelection(RefactoringCoreMessages.StatementAnalyzer_beginning_of_selection, JavaStatusContext.create(fCUnit, range)); }