Static Crosscutting

Table A.5. Introduction

Modifiers Type TypePattern.Id(Formals) { Body } Defines a method on the types in TypePattern.
abstract Modifiers Type TypePattern.Id(Formals); Defines an abstract method on the types in TypePattern.
Modifiers TypePattern.new(Formals) { Body } Defines a a constructor on the types in TypePattern.
Modifiers Type TypePattern.Id [ = Expression ]; Defines a field on the types in TypePattern.

Table A.6. Other declarations

declare parents: TypePattern extends TypeList; Declares that the types in TypePattern extend the types of TypeList.
declare parents: TypePattern implements TypeList; Declares that the types in TypePattern implement the types of TypeList.
declare warning: Pointcut: String; Declares that if any of the join points in Pointcut possibly exist in the program, the compiler should emit a warning of String.
declare error: Pointcut: String; Declares that if any of the join points in Pointcut possibly exist in the program, the compiler should emit an error of String.
declare soft: TypePattern: Pointcut; Declares that any exception of a type in TypePattern that gets thrown at any join point picked out by Pointcut will be wrapped in org.aspectj.lang.SoftException.