comment= comment.substring(nonSpace); return Strings.changeIndent(comment, 0, project, indentation, lineDelimiter);
/** * Removes start and end of a comment and corrects indentation and line * delimiters. * * @param comment the computed comment * @param indentation the base indentation * @param project the Java project for the formatter settings, or <code>null</code> for global preferences * @param lineDelimiter the line delimiter * @return a trimmed version of <code>comment</code> */ private String prepareTemplateComment(String comment, String indentation, IJavaProject project, String lineDelimiter) { // trim comment start and end if any if (comment.endsWith("*/")) //$NON-NLS-1$ comment= comment.substring(0, comment.length() - 2); comment= comment.trim(); if (comment.startsWith("/*")) { //$NON-NLS-1$ if (comment.length() > 2 && comment.charAt(2) == '*') { comment= comment.substring(3); // remove '/**' } else { comment= comment.substring(2); // remove '/*' } } // trim leading spaces, but not new lines int nonSpace= 0; int len= comment.length(); while (nonSpace < len && Character.getType(comment.charAt(nonSpace)) == Character.SPACE_SEPARATOR) nonSpace++; comment= comment.substring(nonSpace); return Strings.changeIndent(comment, 0, project, indentation, lineDelimiter); }
replacement= Strings.changeIndent(replacement, 0, project, CodeFormatterUtil.createIndentString(indent, project), lineDelim); setReplacementString(replacement.substring(replacement.indexOf('(') + 1));
@Override protected void addEdits(IDocument document, TextEdit rootEdit) throws CoreException { try { String lineDelimiter= TextUtilities.getDefaultLineDelimiter(document); final IJavaProject project= getCompilationUnit().getJavaProject(); IRegion region= document.getLineInformationOfOffset(fInsertPosition); String lineContent= document.get(region.getOffset(), region.getLength()); String indentString= Strings.getIndentString(lineContent, project); String str= Strings.changeIndent(fComment, 0, project, indentString, lineDelimiter); InsertEdit edit= new InsertEdit(fInsertPosition, str); rootEdit.addChild(edit); if (fComment.charAt(fComment.length() - 1) != '\n') { rootEdit.addChild(new InsertEdit(fInsertPosition, lineDelimiter)); rootEdit.addChild(new InsertEdit(fInsertPosition, indentString)); } } catch (BadLocationException e) { throw new CoreException(JavaUIStatus.createError(IStatus.ERROR, e)); } } }
protected void addEdits(IDocument document, TextEdit rootEdit) throws CoreException { try { String lineDelimiter= TextUtilities.getDefaultLineDelimiter(document); final IJavaProject project= getCompilationUnit().getJavaProject(); IRegion region= document.getLineInformationOfOffset(fInsertPosition); String lineContent= document.get(region.getOffset(), region.getLength()); String indentString= Strings.getIndentString(lineContent, project); String str= Strings.changeIndent(fComment, 0, project, indentString, lineDelimiter); InsertEdit edit= new InsertEdit(fInsertPosition, str); rootEdit.addChild(edit); if (fComment.charAt(fComment.length() - 1) != '\n') { rootEdit.addChild(new InsertEdit(fInsertPosition, lineDelimiter)); rootEdit.addChild(new InsertEdit(fInsertPosition, indentString)); } } catch (BadLocationException e) { throw new CoreException(JavaUIStatus.createError(IStatus.ERROR, e)); } } }
String indentString= Strings.getIndentString(line, project); String indentedComment= Strings.changeIndent(comment, 0, project, indentString, lineDelim);
String indentString= Strings.getIndentString(line, project); String indentedComment= Strings.changeIndent(comment, 0, project, indentString, lineDelim);
private void setSourceViewerContents(String contents) { if (contents != null) { final IJavaProject project= fProcessor.getDestinationType().getJavaProject(); final String[] lines= Strings.convertIntoLines(contents); if (lines.length > 0) { final int indent= Strings.computeIndentUnits(lines[lines.length - 1], project); contents= Strings.changeIndent(contents, indent, project, "", "\n"); //$NON-NLS-1$ //$NON-NLS-2$ } } final IDocument document= (contents == null) ? new Document() : new Document(contents); JavaPlugin.getDefault().getJavaTextTools().setupJavaDocumentPartitioner(document); fSourceViewer.setDocument(document); }
replacementString= replacementString + ';'; replacementString= Strings.changeIndent(replacementString, 0, project, CodeFormatterUtil.createIndentString(indent, project), lineDelim);
private void setSourceViewerContents(String contents) { if (contents != null) { final IJavaProject project= getPullUpRefactoring().getPullUpProcessor().getDestinationType().getJavaProject(); final String[] lines= Strings.convertIntoLines(contents); if (lines.length > 0) { final int indent= Strings.computeIndentUnits(lines[lines.length - 1], project); contents= Strings.changeIndent(contents, indent, project, "", "\n"); //$NON-NLS-1$ //$NON-NLS-2$ } } final IDocument document= (contents == null) ? new Document() : new Document(contents); JavaPlugin.getDefault().getJavaTextTools().setupJavaDocumentPartitioner(document); fSourceViewer.setDocument(document); }
IJavaProject project= typeRoot.getJavaProject(); int indent= StubUtility.getIndentUsed(buffer, node.getStartPosition(), project); str= Strings.changeIndent(str, indent, project, new String(), typeRoot.findRecommendedLineSeparator());
processor.performEdits(); final IRegion region= document.getLineInformation(document.getLineOfOffset(marker.getOffset())); return Strings.changeIndent(document.get(marker.getOffset(), marker.getLength()), Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project), project, "", TextUtilities.getDefaultLineDelimiter(document)); //$NON-NLS-1$
processor.performEdits(); final IRegion region= document.getLineInformation(document.getLineOfOffset(marker.getOffset())); return Strings.changeIndent(document.get(marker.getOffset(), marker.getLength()), Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project), project, "", TextUtilities.getDefaultLineDelimiter(document)); //$NON-NLS-1$
private String prepareInitializerForLocation(Expression location) throws CoreException { HashSet staticImportsInReference= new HashSet(); final IJavaProject project= fCuRewrite.getCu().getJavaProject(); if (fIs15) location.accept(new ImportReferencesCollector(project, null, new ArrayList(), staticImportsInReference)); InitializerTraversal traversal= new InitializerTraversal(fInitializer, fStaticImportsInInitializer, location, staticImportsInReference, fCuRewrite); ASTRewrite initializerRewrite= traversal.getInitializerRewrite(); IDocument document= new Document(fInitializerUnit.getBuffer().getContents()); // could reuse document when generating and applying undo edits final RangeMarker marker= new RangeMarker(fInitializer.getStartPosition(), fInitializer.getLength()); TextEdit[] rewriteEdits= initializerRewrite.rewriteAST(document, fInitializerUnit.getJavaProject().getOptions(true)).removeChildren(); marker.addChildren(rewriteEdits); try { marker.apply(document, TextEdit.UPDATE_REGIONS); String rewrittenInitializer= document.get(marker.getOffset(), marker.getLength()); IRegion region= document.getLineInformation(document.getLineOfOffset(marker.getOffset())); int oldIndent= Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project); return Strings.changeIndent(rewrittenInitializer, oldIndent, project, "", TextUtilities.getDefaultLineDelimiter(document)); //$NON-NLS-1$ } catch (MalformedTreeException e) { JavaPlugin.log(e); } catch (BadLocationException e) { JavaPlugin.log(e); } return fInitializerUnit.getBuffer().getText(fInitializer.getStartPosition(), fInitializer.getLength()); }
private String prepareInitializerForLocation(Expression location) throws CoreException { HashSet<SimpleName> staticImportsInReference= new HashSet<>(); final IJavaProject project= fCuRewrite.getCu().getJavaProject(); if (fIs15) ImportReferencesCollector.collect(location, project, null, new ArrayList<SimpleName>(), staticImportsInReference); InitializerTraversal traversal= new InitializerTraversal(fInitializer, fStaticImportsInInitializer, location, staticImportsInReference, fCuRewrite); ASTRewrite initializerRewrite= traversal.getInitializerRewrite(); IDocument document= new Document(fInitializerUnit.getBuffer().getContents()); // could reuse document when generating and applying undo edits final RangeMarker marker= new RangeMarker(fInitializer.getStartPosition(), fInitializer.getLength()); TextEdit[] rewriteEdits= initializerRewrite.rewriteAST(document, fInitializerUnit.getJavaProject().getOptions(true)).removeChildren(); marker.addChildren(rewriteEdits); try { marker.apply(document, TextEdit.UPDATE_REGIONS); String rewrittenInitializer= document.get(marker.getOffset(), marker.getLength()); IRegion region= document.getLineInformation(document.getLineOfOffset(marker.getOffset())); int oldIndent= Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project); return Strings.changeIndent(rewrittenInitializer, oldIndent, project, "", TextUtilities.getDefaultLineDelimiter(document)); //$NON-NLS-1$ } catch (MalformedTreeException e) { JavaPlugin.log(e); } catch (BadLocationException e) { JavaPlugin.log(e); } return fInitializerUnit.getBuffer().getText(fInitializer.getStartPosition(), fInitializer.getLength()); }
private String createParameterizedInvocation(Expression invocation, Type[] typeArgumentNodes) throws JavaModelException { ASTRewrite rewrite= ASTRewrite.create(invocation.getAST()); ListRewrite typeArgsRewrite= rewrite.getListRewrite(invocation, Invocations.getTypeArgumentsProperty(invocation)); for (int i= 0; i < typeArgumentNodes.length; i++) { typeArgsRewrite.insertLast(typeArgumentNodes[i], null); } IDocument document= new Document(fCu.getBuffer().getContents()); final RangeMarker marker= new RangeMarker(invocation.getStartPosition(), invocation.getLength()); IJavaProject project= fCu.getJavaProject(); TextEdit[] rewriteEdits= rewrite.rewriteAST(document, project.getOptions(true)).removeChildren(); marker.addChildren(rewriteEdits); try { marker.apply(document, TextEdit.UPDATE_REGIONS); String rewrittenInitializer= document.get(marker.getOffset(), marker.getLength()); IRegion region= document.getLineInformation(document.getLineOfOffset(marker.getOffset())); int oldIndent= Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project); return Strings.changeIndent(rewrittenInitializer, oldIndent, project, "", TextUtilities.getDefaultLineDelimiter(document)); //$NON-NLS-1$ } catch (MalformedTreeException e) { JavaPlugin.log(e); } catch (BadLocationException e) { JavaPlugin.log(e); } //fallback: return fCu.getBuffer().getText(invocation.getStartPosition(), invocation.getLength()); }
IRegion region= document.getLineInformation(document.getLineOfOffset(marker.getOffset())); int oldIndent= Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project); return Strings.changeIndent(rewrittenInitializer, oldIndent, project, "", TextUtilities.getDefaultLineDelimiter(document)); //$NON-NLS-1$ } catch (MalformedTreeException e) { JavaPlugin.log(e);