Java 类org.eclipse.jdt.core.dom.Comment 实例源码

项目:eip-designer    文件:CamelJavaFileParser.java   
/**
 * Parse the routeFile given while building the instance and fill the model.
 * @param model The EIP Model to fill with parsed elements from routeFile.
 * @throws InvalidArgumentException if given file is not a valid Spring integration file
 */
public void parseAndFillModel(EIPModel model) throws Exception {
   // Read source content.
   routeSource = parseRouteClass();

   // Parse and get the compilation unit.
   ASTParser parser = ASTParser.newParser(AST.JLS8);
   parser.setKind(ASTParser.K_COMPILATION_UNIT);
   parser.setSource(routeSource.toCharArray());
   parser.setResolveBindings(false);
   routeCU = (CompilationUnit) parser.createAST(null);

   // Visit and build a comment map before parsing.
   for (Object comment : routeCU.getCommentList()) {
      ((Comment) comment).accept(this);
   }

   // Initialize and build a route.
   route = EipFactory.eINSTANCE.createRoute();
   model.getOwnedRoutes().add(route);

   // 
   routeCU.accept(this);
}
项目:j2d    文件:J2dVisitor.java   
@Override
public boolean visit(CompilationUnit node) {
    //System.out.println("Found: " + node.getClass());
    // TODO Non-javadoc comments.
    // It looks like the way to do this is add a doComments() method
    // and call it before and after every AST node. Not ideal, but
    // it would work. Can probably use pre/postVisit methods for this
    // purpose

    for (Object o : node.getCommentList()) {
        if (!(o instanceof Javadoc)) {
            comments.add((Comment)o);
        }
    }
    /*List l = node.getCommentList();
    for (Object o : l) {
        Comment c = (Comment)o;
        println("COMMENT");
        println(c.toString());
        println("----");
        println(c.getAlternateRoot().getClass().toString());
        println("/COMMENT");
    }*/
    return super.visit(node);
}
项目:j2d    文件:J2dVisitor.java   
private void doComments(ASTNode node, boolean post) {
    Comment c = comments.peek();

    while (c != null && c.getStartPosition() > endOfLastNode) {
        int startOfNextNode = post ? siblingOrParentPosition(node) 
                                   : node.getStartPosition();

        if (c.getStartPosition() + c.getLength() < startOfNextNode) {
            comments.remove().accept(this);
            c = comments.peek();
        } else {
            break;
        }
    }
    endOfLastNode = node.getStartPosition() + node.getLength();
}
项目:pandionj    文件:TagParser.java   
public void run() {
    parser.parse(new TagVisitor());
    CommentVisitor commentVisitor = new CommentVisitor();
    for (Comment comment : (List<Comment>) cunit.getCommentList())
        comment.accept(commentVisitor);

    Collections.sort(variables);
}
项目:o3smeasures-tool    文件:LinesOfCodeVisitor.java   
/**
 * @see ASTVisitor#visit(CompilationUnit)
 */
@SuppressWarnings("unchecked")
@Override
public boolean visit(CompilationUnit unit) {
    List<Comment> commentList = unit.getCommentList();
    for (Comment comment : commentList) {
        comment.delete();
    }
    this.numberOfLinesOfCode = (double) unit.toString().split("\n").length;
    return false;
}
项目:hybris-commerce-eclipse-plugin    文件:CopyrightManager.java   
/**
 * Adds copyright header to the compilation unit
 *
 * @param compilationUnit
 *            compilation unit affected
 * @return compilation unit change
 */
public CompilationUnitChange addCopyrightsHeader(final CompilationUnit compilationUnit) {
    final ICompilationUnit unit = (ICompilationUnit) compilationUnit.getJavaElement();
    change = new CompilationUnitChange(ADD_COPYRIGHT, unit);
    rewriter = ASTRewrite.create(compilationUnit.getAST());
    final ListRewrite listRewrite = rewriter.getListRewrite(compilationUnit.getPackage(),
            PackageDeclaration.ANNOTATIONS_PROPERTY);
    final Comment placeHolder = (Comment) rewriter.createStringPlaceholder(getCopyrightText() + NEW_LINE_SEPARATOR,
            ASTNode.BLOCK_COMMENT);
    listRewrite.insertFirst(placeHolder, null);
    rewriteCompilationUnit(unit, getNewUnitSource(unit, null));
    return change;
}
项目:hybris-commerce-eclipse-plugin    文件:CopyrightManager.java   
/**
 * Replaces copyright header to the compilation unit
 *
 * @param compilationUnit
 *            compilation unit affected
 * @return compilation unit change
 */
public CompilationUnitChange replaceCopyrightsHeader(final CompilationUnit compilationUnit) {
    final ICompilationUnit unit = (ICompilationUnit) compilationUnit.getJavaElement();
    change = new CompilationUnitChange(OVERRIDE_COPYRIGHT, unit);
    rewriter = ASTRewrite.create(compilationUnit.getAST());
    final List<Comment> comments = getCommentList(compilationUnit);
    Comment copyrightComment = null;
    if (!comments.isEmpty()) {
        copyrightComment = comments.get(0);
    }
    rewriteCompilationUnit(unit, getNewUnitSource(unit, copyrightComment));
    return change;
}
项目:hybris-commerce-eclipse-plugin    文件:CopyrightManager.java   
/**
 * Checks whether {@link CompilationUnit} has copyright header
 *
 * @param compilationUnit
 *            checked compilation unit
 * @return true if {@link CompilationUnit} has copyright header
 */
public boolean hasCopyrightsComment(final CompilationUnit compilationUnit) {
    final List<Comment> comments = getCommentList(compilationUnit);
    boolean hasCopyrights = false;
    if (!comments.isEmpty()) {
        final PackageDeclaration packageNode = compilationUnit.getPackage();
        final boolean commentBeforePackage = comments.get(0).getStartPosition() <= packageNode.getStartPosition();
        final boolean hasJavaDoc = packageNode.getJavadoc() != null;
        hasCopyrights = commentBeforePackage || hasJavaDoc;
    }
    return hasCopyrights;
}
项目:hybris-commerce-eclipse-plugin    文件:CopyrightManager.java   
/**
 * Gets compilation unit's source
 *
 * @param unit
 *            affected compilation unit
 * @param comment
 *            comment to be replaced; set null if comment is not present
 * @return new compilation unit's source
 */
private String getNewUnitSource(final ICompilationUnit unit, final Comment comment) {
    String source = null;
    try {
        source = unit.getSource();
        if (comment != null) {
            final int endOfComment = comment.getLength() + comment.getStartPosition();
            source = source.replace(source.substring(0, endOfComment), getCopyrightText());
        }
    } catch (final JavaModelException e) {
        ConsoleUtils.printError(e.getMessage());
    }
    return source;
}
项目:compiler    文件:UglyMathCommentsExtractor.java   
private final CommentItem extractCommentItem(final int index) {
    if (commentsVisited[index]) {
        return null;
    } else {
        final Comment comment = (Comment) comments.get(index);
        if (comment.isDocComment()) {
            /* Interpret DocComment as Line or Block */
            comment.delete();
        }
        final int start = comment.getStartPosition();
        final int end = start + comment.getLength();
        final String value = this.src.substring(start, end);
        return new CommentItem(comment, value);
    }
}
项目:compiler    文件:UglyMathCommentsExtractor.java   
private final int getNodeFirstLeadingCommentIndex(final ASTNode node) {
    if (node instanceof PackageDeclaration) {
        if (commentsVisited.length > 0) {
            final Comment comment = (Comment) comments.get(0);
            if (comment.getStartPosition() + comment.getLength() <= ((PackageDeclaration) node).getName()
                    .getStartPosition()) {
                return 0;
            }
        }
        return -1;
    } else {
        return cu.firstLeadingCommentIndex(node);
    }
}
项目:eip-designer    文件:CamelJavaFileParser.java   
/** Extract comment content from source. */
private String getCommentContent(Comment comment) {
   int start = comment.getStartPosition();
   int end = start + comment.getLength();
   String content = routeSource.substring(start, end);
   if (content.startsWith("//")) {
      content = content.substring(2).trim();
   }
   return content;
}
项目:j2d    文件:J2dVisitor.java   
@Override
public void postVisit(ASTNode node) {
    //super.postVisit(node);
    // Skip CU
    if (node instanceof CompilationUnit || node instanceof Comment) {
        return;
    }
    doComments(node, true);
}
项目:java-driver    文件:CompilationUnitSerializer.java   
private void serializeAll(CompilationUnit cu, ASTNode node, JsonGenerator jG, SerializerProvider provider) throws IOException {
    List<StructuralPropertyDescriptor> descriptorList = node.structuralPropertiesForType();
    jG.writeStartObject();

    final int Ntype = node.getNodeType();
    String ClassName = node.nodeClassForType(Ntype).getName().substring(25);
    jG.writeFieldName("internalClass");
    jG.writeString(ClassName);

    for (StructuralPropertyDescriptor descriptor : descriptorList) {
        Object child = node.getStructuralProperty(descriptor);
        if (child instanceof List) {
            serializeChildList(cu, (List<ASTNode>) child, jG, descriptor, provider);
        } else if (child instanceof ASTNode) {
            serializeChild(cu, (ASTNode) child, jG, descriptor, provider);
        } else if (child != null) {
            jG.writeFieldName(descriptor.getId());
            jG.writeString(child.toString());
            serializePosition(cu, node, jG);
        }
    }

    if (node == cu) {
        List<Comment> cl = cu.getCommentList();
        if (!cl.isEmpty()) {
            jG.writeFieldName("comments");
            jG.writeStartArray();
            for (Comment c: (List<Comment>) cu.getCommentList()) {
                if (c.getParent() != null) continue;
                jG.writeStartObject();
                final int type = c.getNodeType();
                String name = c.nodeClassForType(type).getName().substring(25);
                jG.writeFieldName("internalClass");
                jG.writeString(name);
                serializePosition(cu, (ASTNode)c, jG);
                jG.writeEndObject();
            }
            jG.writeEndArray();
        }
    }

    jG.writeEndObject();
}
项目:compiler    文件:ICommentsExtractor.java   
protected CommentItem(final Comment node, final String value) {
    this.node = node;
    this.value = value;
}
项目:Eclipse-Postfix-Code-Completion    文件:SuperTypeConstraintsCreator.java   
@Override
public final boolean visit(final Comment node) {
    return false;
}
项目:codemodify    文件:NonJavaDocRemover.java   
@Override
public void modifyCompilationUnit(CompilationUnit astRoot,
        IProgressMonitor monitor) throws JavaModelException, CoreException,
        BadLocationException {
    final ICompilationUnit adapter = (ICompilationUnit) astRoot
            .getJavaElement().getAdapter(IOpenable.class);
    modifiedDocument = false;
    if (adapter != null) {
        document = new Document(adapter.getSource());
        List<Comment> commentList = astRoot.getCommentList();
        offset = 0;
        for (Comment comment : commentList) {
            comment.accept(new ASTVisitor() {
                @Override
                public boolean visit(BlockComment node) {
                    int startPosition = node.getStartPosition();
                    int endPosition = startPosition + node.getLength();

                    try {
                        int lineOfOffset = document
                                .getLineOfOffset(startPosition - offset);
                        startPosition = document
                                .getLineOffset(lineOfOffset);
                        int replaceLength = endPosition - startPosition
                                + LINE_DELIMITER_LENGTH - offset;
                        if (startPosition > -1
                                && document
                                .get()
                                        .substring(
                                                startPosition,
                                                startPosition
                                                        + replaceLength)
                                .contains(NON_JAVADOC_COMMENT)) {
                            int replaceStart = startPosition
                                    - LINE_DELIMITER_LENGTH;
                            document.replace(replaceStart, replaceLength,
                                    EMPTY_STRING);
                            offset = endPosition - startPosition
                                    + LINE_DELIMITER_LENGTH;
                            modifiedDocument = true;
                        }
                    } catch (BadLocationException e) {
                        e.printStackTrace();
                    }

                    return super.visit(node);
                }
            });
        }
        if (modifiedDocument) {
            adapter.getBuffer().setContents(document.get());
            adapter.save(monitor, true);
        }
    }
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:SuperTypeConstraintsCreator.java   
@Override
public final boolean visit(final Comment node) {
    return false;
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:HierarchicalASTVisitor.java   
public boolean visit(Comment node) {
    return visit((ASTNode)node);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:HierarchicalASTVisitor.java   
public void endVisit(Comment node) {
    endVisit((ASTNode)node);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:HierarchicalASTVisitor.java   
@Override
public boolean visit(BlockComment node) {
    return visit((Comment)node);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:HierarchicalASTVisitor.java   
@Override
public void endVisit(BlockComment node) {
    endVisit((Comment)node);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:HierarchicalASTVisitor.java   
@Override
public boolean visit(Javadoc node) {
    return visit((Comment)node);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:HierarchicalASTVisitor.java   
@Override
public void endVisit(Javadoc node) {
    endVisit((Comment)node);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:HierarchicalASTVisitor.java   
@Override
public boolean visit(LineComment node) {
    return visit((Comment)node);
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:HierarchicalASTVisitor.java   
@Override
public void endVisit(LineComment node) {
    endVisit((Comment)node);
}
项目:hybris-commerce-eclipse-plugin    文件:CopyrightManager.java   
/**
 * Returns list of {@link Comment}
 *
 * @param compilationUnit
 *            compilation unit to be analyzed
 * @return lists of comments
 */
@SuppressWarnings("unchecked")
private List<Comment> getCommentList(final CompilationUnit compilationUnit) {
    return compilationUnit.getCommentList();
}