@Override protected boolean createReturnFlowInfo(ReturnStatement node) { // Make sure that the whole return statement is located after the selection. There can be cases like // return i + [x + 10] * 10; In this case we must not create a return info node. return node.getStartPosition() >= fSelection.getInclusiveEnd(); }
@Override protected boolean createReturnFlowInfo(ReturnStatement node) { // Make sure that the whole return statement is located after the selection. There can be cases like // return i + [x + 10] * 10; In this case we must not create a return info node. return node.getStartPosition() >= fSelection.getInclusiveEnd(); }
@Override protected boolean createReturnFlowInfo(ReturnStatement node) { // Make sure that the whole return statement is located after the selection. There can be cases like // return i + [x + 10] * 10; In this case we must not create a return info node. return node.getStartPosition() >= fSelection.getInclusiveEnd(); }
protected boolean createReturnFlowInfo(ReturnStatement node) { // Make sure that the whole return statement is located after the selection. There can be cases like // return i + [x + 10] * 10; In this case we must not create a return info node. return node.getStartPosition() >= fSelection.getInclusiveEnd(); }
@Override protected boolean traverseNode(ASTNode node) { return node.getStartPosition() + node.getLength() > fSelection.getInclusiveEnd(); }
@Override protected boolean visitNode(ASTNode node) { if (node.getStartPosition() > fSelection.getInclusiveEnd()) return true; if (fSelection.coveredBy(node)) return true; return false; } @Override
protected boolean visitNode(ASTNode node) { if (node.getStartPosition() > fSelection.getInclusiveEnd()) return true; if (fSelection.coveredBy(node)) return true; return false; } public boolean visit(SimpleName node) {
@Override protected boolean visitNode(ASTNode node) { if (node.getStartPosition() > fSelection.getInclusiveEnd()) return true; if (fSelection.coveredBy(node)) return true; return false; } @Override
@Override protected boolean traverseNode(ASTNode node) { return node.getStartPosition() + node.getLength() > fSelection.getInclusiveEnd(); }
protected boolean traverseNode(ASTNode node) { return node.getStartPosition() + node.getLength() > fSelection.getInclusiveEnd(); }
@Override protected boolean traverseNode(ASTNode node) { return node.getStartPosition() + node.getLength() > fSelection.getInclusiveEnd(); }
private Selection adjustSelection(char[] characters, Selection selection, int end) { int newEnd= selection.getInclusiveEnd(); for(int i= selection.getExclusiveEnd(); i <= end; i++) { char ch= characters[i]; if (ch != '\n' && ch != '\r') break; newEnd++; } return Selection.createFromStartEnd(selection.getOffset(), newEnd); }
private Selection adjustSelection(char[] characters, Selection selection, int end) { int newEnd= selection.getInclusiveEnd(); for(int i= selection.getExclusiveEnd(); i <= end; i++) { char ch= characters[i]; if (ch != '\n' && ch != '\r') break; newEnd++; } return Selection.createFromStartEnd(selection.getOffset(), newEnd); }
private Selection adjustSelection(char[] characters, Selection selection, int end) { int newEnd= selection.getInclusiveEnd(); for(int i= selection.getExclusiveEnd(); i <= end; i++) { char ch= characters[i]; if (ch != '\n' && ch != '\r') break; newEnd++; } return Selection.createFromStartEnd(selection.getOffset(), newEnd); }
private void check(RefactoringStatus result, Selection selection, IScanner scanner, int start, int end) { char[] characters= scanner.getSource(); selection= adjustSelection(characters, selection, end); scanner.resetTo(start, end); int token= 0; try { loop: while (token != ITerminalSymbols.TokenNameEOF) { token= scanner.getNextToken(); switch(token) { case ITerminalSymbols.TokenNameCOMMENT_LINE: case ITerminalSymbols.TokenNameCOMMENT_BLOCK: case ITerminalSymbols.TokenNameCOMMENT_JAVADOC: if (checkStart(scanner, selection.getOffset())) { result.addFatalError(RefactoringCoreMessages.CommentAnalyzer_starts_inside_comment); break loop; } if (checkEnd(scanner, selection.getInclusiveEnd())) { result.addFatalError(RefactoringCoreMessages.CommentAnalyzer_ends_inside_comment); break loop; } break; } } } catch (InvalidInputException e) { result.addFatalError(RefactoringCoreMessages.CommentAnalyzer_internal_error); } }
private void check(RefactoringStatus result, Selection selection, IScanner scanner, int start, int end) { char[] characters= scanner.getSource(); selection= adjustSelection(characters, selection, end); scanner.resetTo(start, end); int token= 0; try { loop: while (token != ITerminalSymbols.TokenNameEOF) { token= scanner.getNextToken(); switch(token) { case ITerminalSymbols.TokenNameCOMMENT_LINE: case ITerminalSymbols.TokenNameCOMMENT_BLOCK: case ITerminalSymbols.TokenNameCOMMENT_JAVADOC: if (checkStart(scanner, selection.getOffset())) { result.addFatalError(RefactoringCoreMessages.CommentAnalyzer_starts_inside_comment); break loop; } if (checkEnd(scanner, selection.getInclusiveEnd())) { result.addFatalError(RefactoringCoreMessages.CommentAnalyzer_ends_inside_comment); break loop; } break; } } } catch (InvalidInputException e) { result.addFatalError(RefactoringCoreMessages.CommentAnalyzer_internal_error); } }
private void check(RefactoringStatus result, Selection selection, IScanner scanner, int start, int end) { char[] characters= scanner.getSource(); selection= adjustSelection(characters, selection, end); scanner.resetTo(start, end); int token= 0; try { loop: while (token != ITerminalSymbols.TokenNameEOF) { token= scanner.getNextToken(); switch(token) { case ITerminalSymbols.TokenNameCOMMENT_LINE: case ITerminalSymbols.TokenNameCOMMENT_BLOCK: case ITerminalSymbols.TokenNameCOMMENT_JAVADOC: if (checkStart(scanner, selection.getOffset())) { result.addFatalError(JavaManipulationMessages.CommentAnalyzer_starts_inside_comment); break loop; } if (checkEnd(scanner, selection.getInclusiveEnd())) { result.addFatalError(JavaManipulationMessages.CommentAnalyzer_ends_inside_comment); break loop; } break; } } } catch (InvalidInputException e) { result.addFatalError(JavaManipulationMessages.CommentAnalyzer_internal_error); } }
protected void checkSelectedNodes() { ASTNode[] nodes= getSelectedNodes(); if (nodes.length == 0) return; ASTNode node= nodes[0]; int selectionOffset= getSelection().getOffset(); try { int pos= fScanner.getNextStartOffset(selectionOffset, true); if (pos == node.getStartPosition()) { int lastNodeEnd= ASTNodes.getExclusiveEnd(nodes[nodes.length - 1]); pos= fScanner.getNextStartOffset(lastNodeEnd, true); int selectionEnd= getSelection().getInclusiveEnd(); if (pos <= selectionEnd) { 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)); }
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)); }