JPISuperArgAccess : VarAccess; JPITypeDecl : JoinpointTypeDecl ::= SuperTypeName:Access SuperArgumentName:Access*; ExhibitBodyDecl : BodyDecl ::= ReturnType:Access JPIName:Access Parameter:ParameterDeclaration* Pointcut:PointcutExpr; DummyAccess : TypeAccess; JPITypeAccess : TypeAccess; GenericJPITypeDecl : JPITypeDecl ::= TypeVar:TypeVariable*; GenericExhibitBodyDecl : ExhibitBodyDecl ::= TypeVar:TypeVariable*; GenericCJPBeforeSpec : CJPBeforeSpec ::= TypeVar:TypeVariable*; GenericCJPAfterSpec : CJPAfterSpec ::= TypeVar:TypeVariable*; GenericCJPAfterReturningSpec : CJPAfterReturningSpec ::= TypeVar:TypeVariable*; GenericCJPAfterThrowingSpec : CJPAfterThrowingSpec ::= TypeVar:TypeVariable*; GenericCJPAroundSpec : CJPAroundSpec ::= TypeVar:TypeVariable*; GlobalJPITypeDecl : JPITypeDecl ::= Pointcut:PointcutExpr; GenericGlobalJPITypeDecl : GenericJPITypeDecl ::= Pointcut:PointcutExpr; GlobalExpr : PointcutExpr; ThisInvPointcutExpr : ThisPointcutExpr; TargetInvPointcutExpr : TargetPointcutExpr; ArgsInvPointcutExpr : ArgsPointcutExpr;