Entry Point | AST Class (all paths prefixed by org.aspectj.compiler) |
Example |
---|---|---|
base.ast.IDENT | IDENT foo = `[ MyClass ]; |
|
Identifier | base.ast.Identifier | Identifer foo = `[ java.util.Vector ]; |
Identifier Pattern | crosscuts.ast.NamePattern |
NamePattern foo = `[ * ]; NamePattern bar = `[ java.lang.* ]; |
Modifiers | base.ast.Modifiers | Modifiers foo = `[ public static ]; |
Import | base.ast.Import | Import foo = `[ import java.lang.*; ]; |
Type Spec. | base.ast.TypeD |
TypeD foo = `[ MyClass ]; TypeD builtIn = `[ int ]; |
base.ast.FormalDec | FormalDec foo = `[ int x ]; |
|
Variable Declaration | base.ast.VarDec |
VarDec foo = `[ int x = 0; ]; VarDec bar = `[ Object x, y; ]; |
Expression | base.ast.JavaExpr |
JavaExpr myInt = `[ 32 ]; JavaExpr myBool = `[ true && myInt == 32 ]; JavaExpr myMethCall = `[ a.foo(3, 5) ]; |
Statement | base.ast.Stmt |
Stmt myIncr = `[ x++; ]; Stmt myFor = `[ for ( int x=0; x++; x<5 ) { foo(x); } ]; Stmt myEmpty = `[ {} ]; |
Method Declaration | base.ast.MethodDec |
MethodDec meth1 = `[ public void getY() { return y; } ]; |
Constructor Declaration | base.ast.ConstructorDec |
ConstructorDec myCons = `[ public Foo() {} ]; |
Class Declaration | base.ast.ClassDec |
ClassDec classFoo = `[ public class Foo { public static final int x = 0; } ]; |
Interface Declaration | base.ast.InterfaceDec |
public interface myInterface { public void foo(); } |
Compilation Unit Member (Java) | base.ast.ClassMember | This could be a Class Declaration or Interface Declaration |
Compilation Unit Member (AspectJ) | base.ast.AspectMember | This could be Class Declaration, Interface Declaration, or Aspect Declaration |
Compilation Unit | base.ast.CompUnit |
import java.lang.*; import java.util.*; public class Foo { private int m_iX = 0; public Foo() { } } |
Intertype Declare | crosscuts.ast.DeclareDec |
DeclareDec d1 = `[ declare parents : myClass implements java.io.Serializable ]; |
Advice Declaration | crosscuts.ast.AdviceDec |
AdviceDec myAdv = `[ before():get(int Foo.y) {}]; |
Pointcut | crosscuts.ast.Pcd |
Pcd pcd1 = `[ call (void Foo.m(int,int,...)) ]; Pcd pcd2 = `[ execution (Foo.new(int)) ]; |
Pointcut Declaration | crosscuts.ast.PointcutDec |
PointcutDec pdec = `[ private pointcut foo(Object o); ]; |
Aspect Declaration | crosscuts.ast.AspectDec |
AspectDec myAspect = `[ public aspect Foo { declare precedence: Security, Logging; before();get(int Foo.y) {} } ]; |