public static int getIndentUsed(IBuffer buffer, int offset, IJavaProject project) { int i= offset; // find beginning of line while (i > 0 && !IndentManipulation.isLineDelimiterChar(buffer.getChar(i - 1))) { i--; } return Strings.computeIndentUnits(buffer.getText(i, offset - i), project); }
continue; toDo[i]= line; int indent= computeIndentUnits(line, tabWidth, indentWidth); if (indent < minIndent) { minIndent= indent; else { String line= lines[i]; int indent= computeIndentUnits(line, tabWidth, indentWidth); if (indent > minIndent) lines[i]= trimIndent(line, minIndent, tabWidth, indentWidth);
final IJavaProject project= fCompilationUnit.getJavaProject(); IRegion region= document.getLineInformationOfOffset(getReplacementOffset()); int indent= Strings.computeIndentUnits(document.get(region.getOffset(), region.getLength()), project);
/** * Returns the indentation level at the position of code completion. * * @return the indentation level at the position of the code completion */ private int getIndentation() { int start= getStart(); IDocument document= getDocument(); try { IRegion region= document.getLineInformationOfOffset(start); String lineContent= document.get(region.getOffset(), region.getLength()); IJavaProject project= getJavaProject(); return Strings.computeIndentUnits(lineContent, project); } catch (BadLocationException e) { return 0; } } }
/** * Returns the indentation level at the position of code completion. * * @return the indentation level at the position of the code completion */ private int getIndentation() { int start= getStart(); IDocument document= getDocument(); try { IRegion region= document.getLineInformationOfOffset(start); String lineContent= document.get(region.getOffset(), region.getLength()); IJavaProject project= getJavaProject(); return Strings.computeIndentUnits(lineContent, project); } catch (BadLocationException e) { return 0; } }
/** * Returns the indentation level at the position of code completion. * * @return the indentation level at the position of the code completion */ private int getIndentation() { int start= getStart(); IDocument document= getDocument(); try { IRegion region= document.getLineInformationOfOffset(start); String lineContent= document.get(region.getOffset(), region.getLength()); IJavaProject project= getJavaProject(); return Strings.computeIndentUnits(lineContent, project); } catch (BadLocationException e) { return 0; } } }
/** * Returns the indentation level at the position of code completion. * * @return the indentation level at the position of the code completion */ private int getIndentation() { int start= getStart(); IDocument document= getDocument(); try { IRegion region= document.getLineInformationOfOffset(start); String lineContent= document.get(region.getOffset(), region.getLength()); IJavaProject project= getJavaProject(); return Strings.computeIndentUnits(lineContent, project); } catch (BadLocationException e) { return 0; } }
protected boolean updateReplacementString(IDocument document, char trigger, int offset, ImportRewrite impRewrite) throws CoreException, BadLocationException { CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings(fField.getJavaProject()); boolean addComments= settings.createComments; int flags= Flags.AccPublic | (fField.getFlags() & Flags.AccStatic); String stub; if (fIsGetter) { String getterName= GetterSetterUtil.getGetterName(fField, null); stub= GetterSetterUtil.getGetterStub(fField, getterName, addComments, flags); } else { String setterName= GetterSetterUtil.getSetterName(fField, null); stub= GetterSetterUtil.getSetterStub(fField, setterName, addComments, flags); } // use the code formatter String lineDelim= TextUtilities.getDefaultLineDelimiter(document); IRegion region= document.getLineInformationOfOffset(getReplacementOffset()); int lineStart= region.getOffset(); int indent= Strings.computeIndentUnits(document.get(lineStart, getReplacementOffset() - lineStart), settings.tabWidth, settings.indentWidth); String replacement= CodeFormatterUtil.format(CodeFormatter.K_CLASS_BODY_DECLARATIONS, stub, indent, null, lineDelim, fField.getJavaProject()); if (replacement.endsWith(lineDelim)) { replacement= replacement.substring(0, replacement.length() - lineDelim.length()); } setReplacementString(Strings.trimLeadingTabsAndSpaces(replacement)); return true; }
@Override protected boolean updateReplacementString(IDocument document, char trigger, int offset, ImportRewrite impRewrite) throws CoreException, BadLocationException { CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings(fField.getJavaProject()); boolean addComments= settings.createComments; int flags= Flags.AccPublic | (fField.getFlags() & Flags.AccStatic); String stub; if (fIsGetter) { String getterName= GetterSetterUtil.getGetterName(fField, null); stub= GetterSetterUtil.getGetterStub(fField, getterName, addComments, flags); } else { String setterName= GetterSetterUtil.getSetterName(fField, null); stub= GetterSetterUtil.getSetterStub(fField, setterName, addComments, flags); } // use the code formatter String lineDelim= TextUtilities.getDefaultLineDelimiter(document); IRegion region= document.getLineInformationOfOffset(getReplacementOffset()); int lineStart= region.getOffset(); int indent= Strings.computeIndentUnits(document.get(lineStart, getReplacementOffset() - lineStart), settings.tabWidth, settings.indentWidth); String replacement= CodeFormatterUtil.format(CodeFormatter.K_CLASS_BODY_DECLARATIONS, stub, indent, lineDelim, fField.getJavaProject()); if (replacement.endsWith(lineDelim)) { replacement= replacement.substring(0, replacement.length() - lineDelim.length()); } setReplacementString(Strings.trimLeadingTabsAndSpaces(replacement)); return true; }
/** * Evaluates the indentation used by a Java element. (in tabulators) */ public static int getIndentUsed(IJavaElement elem) throws JavaModelException { if (elem instanceof ISourceReference) { ICompilationUnit cu= (ICompilationUnit) elem.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu != null) { IBuffer buf= cu.getBuffer(); int offset= ((ISourceReference)elem).getSourceRange().getOffset(); int i= offset; // find beginning of line while (i > 0 && !IndentManipulation.isLineDelimiterChar(buf.getChar(i - 1)) ){ i--; } return Strings.computeIndentUnits(buf.getText(i, offset - i), elem.getJavaProject()); } } return 0; }
public static int getIndentationLevel(ASTNode node, ICompilationUnit unit) throws CoreException { IPath fullPath= unit.getCorrespondingResource().getFullPath(); try{ FileBuffers.getTextFileBufferManager().connect(fullPath, LocationKind.IFILE, new NullProgressMonitor()); ITextFileBuffer buffer= FileBuffers.getTextFileBufferManager().getTextFileBuffer(fullPath, LocationKind.IFILE); try { IRegion region= buffer.getDocument().getLineInformationOfOffset(node.getStartPosition()); return Strings.computeIndentUnits(buffer.getDocument().get(region.getOffset(), region.getLength()), unit.getJavaProject()); } catch (BadLocationException exception) { JavaPlugin.log(exception); } return 0; } finally { FileBuffers.getTextFileBufferManager().disconnect(fullPath, LocationKind.IFILE, new NullProgressMonitor()); } }
public static int getIndentationLevel(ASTNode node, ICompilationUnit unit) throws CoreException { IPath fullPath= unit.getCorrespondingResource().getFullPath(); try{ FileBuffers.getTextFileBufferManager().connect(fullPath, LocationKind.IFILE, new NullProgressMonitor()); ITextFileBuffer buffer= FileBuffers.getTextFileBufferManager().getTextFileBuffer(fullPath, LocationKind.IFILE); try { IRegion region= buffer.getDocument().getLineInformationOfOffset(node.getStartPosition()); return Strings.computeIndentUnits(buffer.getDocument().get(region.getOffset(), region.getLength()), unit.getJavaProject()); } catch (BadLocationException exception) { JavaPlugin.log(exception); } return 0; } finally { FileBuffers.getTextFileBufferManager().disconnect(fullPath, LocationKind.IFILE, new NullProgressMonitor()); } }
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); }
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); }
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()); }
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<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()); }
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) {