Example usage for org.eclipse.jdt.internal.core.dom.rewrite NodeInfoStore newPlaceholderNode

List of usage examples for org.eclipse.jdt.internal.core.dom.rewrite NodeInfoStore newPlaceholderNode

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core.dom.rewrite NodeInfoStore newPlaceholderNode.

Prototype

public final ASTNode newPlaceholderNode(int nodeType) 

Source Link

Document

Creates a placeholder node of the given type.

Usage

From source file:org.flowerplatform.codesync.code.java.adapter.JavaAbstractAstNodeModelAdapter.java

License:Open Source License

protected void setJavaDoc(Object element, String docComment) {
    if (element instanceof BodyDeclaration) {
        BodyDeclaration node = (BodyDeclaration) element;
        try {/*from   w  w  w .ja v a 2s  .  c  om*/
            Class ast = node.getAST().getClass();
            Field rewriterField = ast.getDeclaredField("rewriter");
            rewriterField.setAccessible(true);
            Object rewriter = rewriterField.get(node.getAST());
            Field storeField = rewriter.getClass().getDeclaredField("nodeStore");
            storeField.setAccessible(true);
            NodeInfoStore store = (NodeInfoStore) storeField.get(rewriter);
            ASTNode javadoc = store.newPlaceholderNode(ASTNode.JAVADOC);
            store.markAsStringPlaceholder(javadoc, docComment);
            node.setJavadoc((Javadoc) javadoc);
        } catch (NoSuchFieldException | SecurityException | IllegalArgumentException
                | IllegalAccessException e) {
            throw new RuntimeException(e);
        }
    }
}