Example usage for org.aspectj.org.eclipse.jdt.core.dom AspectDeclaration getPerClause

List of usage examples for org.aspectj.org.eclipse.jdt.core.dom AspectDeclaration getPerClause

Introduction

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

Prototype

public ASTNode getPerClause() 

Source Link

Usage

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

License:Open Source License

public void testPerthisPointcutRename() throws Exception {
    IProject project = createPredefinedProject("AST"); //$NON-NLS-1$
    Map compilerOptions = JavaCore.create(project).getOptions(true);

    // add node, change ASTVisitor and ASTMatcher
    // update ASTConverter and ASTRewriteAnalyzer
    Document doc = new Document("aspect A perthis(a()) {\n" //$NON-NLS-1$
            + "    public pointcut a();\n" //$NON-NLS-1$
            + "    public pointcut b();\n" + "}\n"); //$NON-NLS-1$ //$NON-NLS-2$
    ASTParser parser = ASTParser.newParser(AST.JLS2); // ajh02: need to
    // use 2 for//from   w  ww .  j ava2 s  .c  om
    // returnType - in 3
    // it has
    // "returnType2"
    parser.setSource(doc.get().toCharArray());
    parser.setCompilerOptions(compilerOptions);
    CompilationUnit astRoot = (CompilationUnit) parser.createAST(null);
    AjASTRewrite rewrite = AjASTRewrite.create(astRoot.getAST());
    AST ast = astRoot.getAST();
    AspectDeclaration type = (AspectDeclaration) findAbstractTypeDeclaration(astRoot, "A"); //$NON-NLS-1$
    { // rename perthis pointcut expression
        PerObject perObject = (PerObject) type.getPerClause();
        ReferencePointcut referencePointcut = (ReferencePointcut) perObject.getBody();
        SimpleName name = referencePointcut.getName();
        SimpleName newName = ast.newSimpleName("b"); //$NON-NLS-1$
        rewrite.replace(name, newName, null);
    }
    String expected = "aspect A perthis(b()) {\n" //$NON-NLS-1$
            + "    public pointcut a();\n" //$NON-NLS-1$
            + "    public pointcut b();\n" + "}\n"; //$NON-NLS-1$ //$NON-NLS-2$
    check(rewrite, doc, expected, compilerOptions);
}

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

License:Open Source License

public void testPercflowPointcutRename() throws Exception {
    IProject project = createPredefinedProject("AST"); //$NON-NLS-1$
    Map compilerOptions = JavaCore.create(project).getOptions(true);

    // add node, change ASTVisitor and ASTMatcher
    // update ASTConverter and ASTRewriteAnalyzer
    Document doc = new Document("aspect A percflow(a()) {\n" //$NON-NLS-1$
            + "    public pointcut a();\n" //$NON-NLS-1$
            + "    public pointcut b();\n" + "}\n"); //$NON-NLS-1$ //$NON-NLS-2$
    ASTParser parser = ASTParser.newParser(AST.JLS2); // ajh02: need to
    // use 2 for//  w w  w  . j  av  a  2  s .c  o m
    // returnType - in 3
    // it has
    // "returnType2"
    parser.setSource(doc.get().toCharArray());
    parser.setCompilerOptions(compilerOptions);
    CompilationUnit astRoot = (CompilationUnit) parser.createAST(null);
    AjASTRewrite rewrite = AjASTRewrite.create(astRoot.getAST());
    AST ast = astRoot.getAST();
    AspectDeclaration type = (AspectDeclaration) findAbstractTypeDeclaration(astRoot, "A"); //$NON-NLS-1$
    { // rename percflow pointcut expression
        PerCflow perCflow = (PerCflow) type.getPerClause();
        ReferencePointcut referencePointcut = (ReferencePointcut) perCflow.getBody();
        SimpleName name = referencePointcut.getName();
        SimpleName newName = ast.newSimpleName("b"); //$NON-NLS-1$
        rewrite.replace(name, newName, null);
    }
    String expected = "aspect A percflow(b()) {\n" //$NON-NLS-1$
            + "    public pointcut a();\n" //$NON-NLS-1$
            + "    public pointcut b();\n" + "}\n"; //$NON-NLS-1$ //$NON-NLS-2$
    check(rewrite, doc, expected, compilerOptions);
}