Example usage for org.aspectj.org.eclipse.jdt.core.dom AdviceDeclaration BODY_PROPERTY

List of usage examples for org.aspectj.org.eclipse.jdt.core.dom AdviceDeclaration BODY_PROPERTY

Introduction

In this page you can find the example usage for org.aspectj.org.eclipse.jdt.core.dom AdviceDeclaration BODY_PROPERTY.

Prototype

ChildPropertyDescriptor BODY_PROPERTY

To view the source code for org.aspectj.org.eclipse.jdt.core.dom AdviceDeclaration BODY_PROPERTY.

Click Source Link

Document

The "body" structural property of this node type.

Usage

From source file:org.eclipse.ajdt.core.dom.rewrite.AjASTRewriteAnalyzer.java

License:Open Source License

private void rewriteAdviceBody(AdviceDeclaration parent, int startPos) {
    //ajh02: method added, forked from rewriteMethodBody
    RewriteEvent event = getEvent(parent, AdviceDeclaration.BODY_PROPERTY);
    if (event != null) {
        switch (event.getChangeKind()) {
        case RewriteEvent.INSERTED: {
            int endPos = parent.getStartPosition() + parent.getLength();
            TextEditGroup editGroup = getEditGroup(event);
            ASTNode body = (ASTNode) event.getNewValue();
            doTextRemove(startPos, endPos - startPos, editGroup);
            int indent = getIndent(parent.getStartPosition());
            String prefix = this.formatter.METHOD_BODY.getPrefix(indent);
            doTextInsert(startPos, prefix, editGroup);
            doTextInsert(startPos, body, indent, true, editGroup);
            return;
        }// w w w.  jav a2  s  . c  om
        case RewriteEvent.REMOVED: {
            TextEditGroup editGroup = getEditGroup(event);
            ASTNode body = (ASTNode) event.getOriginalValue();
            int endPos = parent.getStartPosition() + parent.getLength();
            doTextRemoveAndVisit(startPos, endPos - startPos, body, editGroup);
            doTextInsert(startPos, ";", editGroup); //$NON-NLS-1$
            return;
        }
        case RewriteEvent.REPLACED: {
            TextEditGroup editGroup = getEditGroup(event);
            ASTNode body = (ASTNode) event.getOriginalValue();
            doTextRemoveAndVisit(body.getStartPosition(), body.getLength(), body, editGroup);
            doTextInsert(body.getStartPosition(), (ASTNode) event.getNewValue(),
                    getIndent(body.getStartPosition()), true, editGroup);
            return;
        }
        }
    }
    voidVisit(parent, AdviceDeclaration.BODY_PROPERTY);
}