Package org.eclipse.jdt.core

Examples of org.eclipse.jdt.core.IBuffer


    ASTNode result= finder.getCoveredNode();
    if (result == null)
      return null;
    int nodeStart= result.getStartPosition();
    if (start <= nodeStart && ((nodeStart + result.getLength()) <= (start + length))) {
      IBuffer buffer= source.getBuffer();
      if (buffer != null) {
        IScanner scanner= ToolFactory.createScanner(false, false, false, false);
        try {
          scanner.setSource(buffer.getText(start, length).toCharArray());
          int token= scanner.getNextToken();
          if (token != ITerminalSymbols.TokenNameEOF) {
            int tStart= scanner.getCurrentTokenStartPosition();
            if (tStart == result.getStartPosition() - start) {
              scanner.resetTo(tStart + result.getLength(), length - 1);
View Full Code Here


    try {
      int importsStart=  this.replaceRange.getOffset();
      int importsLen= this.replaceRange.getLength();

      String lineDelim= this.compilationUnit.findRecommendedLineSeparator();
      IBuffer buffer= this.compilationUnit.getBuffer();

      int currPos= importsStart;
      MultiTextEdit resEdit= new MultiTextEdit();

      if ((this.flags & F_NEEDS_LEADING_DELIM) != 0) {
        // new import container
        resEdit.addChild(new InsertEdit(currPos, lineDelim));
      }

      PackageEntry lastPackage= null;

      Set onDemandConflicts= null;
      if (this.findAmbiguousImports) {
        onDemandConflicts= evaluateStarImportConflicts(monitor);
      }

      int spacesBetweenGroups= getSpacesBetweenImportGroups();

      ArrayList stringsToInsert= new ArrayList();

      int nPackageEntries= this.packageEntries.size();
      for (int i= 0; i < nPackageEntries; i++) {
        PackageEntry pack= (PackageEntry) this.packageEntries.get(i);
        if (this.filterImplicitImports && !pack.isStatic() && isImplicitImport(pack.getName())) {
          pack.filterImplicitImports(this.useContextToFilterImplicitImports);
        }
        int nImports= pack.getNumberOfImports();
        if (nImports == 0) {
          continue;
        }

        if (spacesBetweenGroups > 0 && lastPackage != null) {
          // add a space between two different groups by looking at the two adjacent imports
          if (!lastPackage.isComment() && !pack.isComment() && !pack.isSameGroup(lastPackage)) {
            for (int k= spacesBetweenGroups; k > 0; k--) {
              stringsToInsert.add(lineDelim);
            }
          } else if (lastPackage.isComment() && pack.isSameGroup(lastPackage)) {
            // the last pack may be a dummy for a comment which doesn't belong to any extended range
            stringsToInsert.add(lineDelim);
          }
        }
        lastPackage= pack;

        boolean isStatic= pack.isStatic();
        int threshold= isStatic ? this.staticImportOnDemandThreshold : this.importOnDemandThreshold;

        boolean doStarImport= pack.hasStarImport(threshold, onDemandConflicts);
        boolean allImportsAddedToStar = false;
        if (doStarImport && (pack.find("*") == null)) { //$NON-NLS-1$
          String[] imports = getNewImportStrings(buffer, pack, isStatic, lineDelim);
          for (int j = 0, max = imports.length; j < max; j++) {
            stringsToInsert.add(imports[j]);
          }
          allImportsAddedToStar = true; // may still need to handle onDemandConflicts below
        }

        for (int k= 0; k < nImports; k++) {
          ImportDeclEntry currDecl= pack.getImportAt(k);
          IRegion region= currDecl.getSourceRange();
          boolean isConflict = !currDecl.isComment() && onDemandConflicts != null && onDemandConflicts.contains(currDecl.getSimpleName());
          boolean addRegularToStar = doStarImport && !currDecl.isOnDemand();
         
          if (region == null) { // new entry
            if (!addRegularToStar || isConflict) {
              IRegion rangeBefore = currDecl.getPrecedingCommentRange();
              IRegion rangeAfter = currDecl.getTrailingCommentRange();
              if (rangeBefore != null) {
                stringsToInsert.add(buffer.getText(rangeBefore.getOffset(), rangeBefore.getLength()));
              }
             
              String trailingComment = null;
              if (rangeAfter != null) {
                trailingComment = buffer.getText(rangeAfter.getOffset(), rangeAfter.getLength());
              }
              String str= getNewImportString(currDecl.getElementName(), isStatic, trailingComment, lineDelim);
              stringsToInsert.add(str);
            } else if (addRegularToStar && !allImportsAddedToStar) {
              String simpleName = currDecl.getTypeQualifiedName();
              if (simpleName.indexOf('.') != -1) {
                String str= getNewImportString(currDecl.getElementName(), isStatic, lineDelim);
                if (stringsToInsert.indexOf(str) == -1) {
                  stringsToInsert.add(str);
                }
              }
            }
          } else if (!addRegularToStar || isConflict) {
            int offset= region.getOffset();
            IRegion rangeBefore = currDecl.getPrecedingCommentRange();
            if (rangeBefore != null && currPos > rangeBefore.getOffset()) {
              // moved ahead of the leading comments, bring the currPos back
              currPos = rangeBefore.getOffset();
            }
            if (rangeBefore != null) {
              stringsToInsert.add(buffer.getText(rangeBefore.getOffset(), rangeBefore.getLength()));
            }
            removeAndInsertNew(buffer, currPos, offset, stringsToInsert, resEdit);
            stringsToInsert.clear();
            currPos= offset + region.getLength();
          } else if (addRegularToStar && !allImportsAddedToStar && !currDecl.isComment()) {
            String simpleName = currDecl.getTypeQualifiedName();
            if (simpleName.indexOf('.') != -1) {
              IRegion rangeBefore = currDecl.getPrecedingCommentRange();
              if (rangeBefore != null && currPos > rangeBefore.getOffset()) {
                // moved ahead of the leading comments, bring the currPos back
                currPos = rangeBefore.getOffset();
              }
              if (rangeBefore != null) {
                stringsToInsert.add(buffer.getText(rangeBefore.getOffset(), rangeBefore.getLength()));
              }
              IRegion rangeAfter = currDecl.getTrailingCommentRange();
              String trailingComment = null;
              if (rangeAfter != null) {
                trailingComment = buffer.getText(rangeAfter.getOffset(), rangeAfter.getLength());
              }
              String str= getNewImportString(currDecl.getElementName(), isStatic, trailingComment, lineDelim);
              if (stringsToInsert.indexOf(str) == -1) {
                stringsToInsert.add(str);
              }
            }
          }
        }
      }

      // insert back all existing imports comments since existing imports were not preserved
      if (this.preserveExistingCommentsRanges != null) {
        for (int i = 0, max = this.preserveExistingCommentsRanges.length; (i < max && this.preserveExistingCommentsRanges[i] != null); i++) {
          IRegion region = this.preserveExistingCommentsRanges[i];
          String text = buffer.getText(region.getOffset(), region.getLength());
          // remove preceding whitespaces
          int index = 0;
          int length = text.length();
          loop: while (index < length) {
            if (Character.isWhitespace(text.charAt(index))) {
View Full Code Here

  protected void executeOperation() throws JavaModelException {
    try {
      beginTask(Messages.operation_sortelements, getMainAmountOfWork());
      CompilationUnit copy = (CompilationUnit) this.elementsToProcess[0];
      ICompilationUnit unit = copy.getPrimary();
      IBuffer buffer = copy.getBuffer();
      if (buffer  == null) {
        return;
      }
      char[] bufferContents = buffer.getCharacters();
      String result = processElement(unit, bufferContents);
      if (!CharOperation.equals(result.toCharArray(), bufferContents)) {
        copy.getBuffer().setContents(result);
      }
      worked(1);
View Full Code Here

*
* <p>NOTE: this triggers an external removal of this buffer
* by closing the buffer.
*/
protected boolean close(LRUCacheEntry entry) {
  IBuffer buffer= (IBuffer) entry.value;

  // prevent buffer that have unsaved changes or working copy buffer to be removed
  // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=39311
  if (!((Openable)buffer.getOwner()).canBufferBeRemovedFromCache(buffer)) {
    return false;
  } else {
    ArrayList buffers = (ArrayList) this.buffersToClose.get();
    if (buffers == null) {
      buffers = new ArrayList();
View Full Code Here

          return overridden;
        }
        IOpenable openable = member.getOpenable();
        if (openable == null)
          return InheritDocVisitor.CONTINUE;
        IBuffer buf= openable.getBuffer();
        if (buf == null) {
          // no source attachment found. This method maybe the one. Stop.
          return InheritDocVisitor.STOP_BRANCH;
        }

        ISourceRange javadocRange= member.getJavadocRange();
        if (javadocRange == null)
          return InheritDocVisitor.CONTINUE;  // this method doesn't have javadoc, continue to look.
        String rawJavadoc= buf.getText(javadocRange.getOffset(), javadocRange.getLength());
        if (rawJavadoc != null) {
          return overridden;
        }
        return InheritDocVisitor.CONTINUE;
      }
View Full Code Here

    ASTNode result= finder.getCoveredNode();
    if (result == null)
      return null;
    int nodeStart= result.getStartPosition();
    if (start <= nodeStart && ((nodeStart + result.getLength()) <= (start + length))) {
      IBuffer buffer= source.getBuffer();
      if (buffer != null) {
        IScanner scanner= ToolFactory.createScanner(false, false, false, false);
        try {
          scanner.setSource(buffer.getText(start, length).toCharArray());
          int token= scanner.getNextToken();
          if (token != ITerminalSymbols.TokenNameEOF) {
            int tStart= scanner.getCurrentTokenStartPosition();
            if (tStart == result.getStartPosition() - start) {
              scanner.resetTo(tStart + result.getLength(), length - 1);
View Full Code Here

  public static void setContentsToCU(ICompilationUnit unit, String value){
    if (unit == null)
      return;

    synchronized (unit) {
      IBuffer buffer;
      try {

        buffer = unit.getBuffer();
      }
      catch (JavaModelException e) {
        e.printStackTrace();
        buffer = null;
      }

      if (buffer != null)
        buffer.setContents(value);
    }
  }
View Full Code Here

  private static void setContents(ICompilationUnit cu, String source) {
    if (cu == null)
      return;

    synchronized (cu) {
      IBuffer buffer;
      try {

        buffer = cu.getBuffer();
      }
      catch (JavaModelException e) {
        SpringCore.log(e);
        buffer = null;
      }

      if (buffer != null)
        buffer.setContents(source);
    }
  }
View Full Code Here

    Set<IClassFile> set = decompiledClasses.remove(mapper);
    for (IClassFile file : set)
    {
      BufferManager bufferManager = BufferManager.getDefaultBufferManager();

      IBuffer buffer = bufferManager.getBuffer(file);

      if (buffer != null)
      {
        try
        {
View Full Code Here

        Enumeration<?> openBuffers = BufferManager.getDefaultBufferManager()
            .getOpenBuffers();
        while (openBuffers.hasMoreElements())
        {
          IBuffer buffer = (IBuffer) openBuffers.nextElement();
          IOpenable owner = buffer.getOwner();

          if (owner instanceof IClassFile)
          {
            IClassFile bufClassFile = (IClassFile) owner;
            PackageFragmentRoot bufRoot = SelectUtils.getRoot(bufClassFile);
View Full Code Here

TOP

Related Classes of org.eclipse.jdt.core.IBuffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.