• The Problem
  • New Features in Groovy-Eclipse 2.5.2
  • log expressions
  • supportsVersion and assertVersion
  • delegatesTo changes
  • Use contribute instead of accept
  • namedParams and optionalParams
  • New pointcuts
  • isDeprecated
  • The infrastructure
  • Reminder
  • An Overview
  • pointcuts
  • contribution blocks
  • Under the hood
  • More formally
  • A deep dive
  • Pointcuts
  • Semantic pointcuts
  • currentType
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • isThisType
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • currentTypeIsEnclosingType
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • sourceFolderOfCurrentType
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • Filtering pointcuts
  • field/method/property
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • hasConstructor
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • subType
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • isPublic/isPrivate/isSynchronized/isStatic/isFinal
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • annotatedBy
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • hasAttribute
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • type
  • declaringType
  • value
  • name
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • Lexical pointcuts
  • enclosingScript/enclosingClass
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • enclosingField/enclosingMethod
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • enclosingCall
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • hasArgument
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • enclosingCallName/enclosingCallDeclaringType
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • enclosingClosure
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • assignedVariable
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • Structural pointcuts
  • nature
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • fileName/fileExtension
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • sourceFolderOfCurrentFile
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • Combinatorial pointcuts
  • and/or/not
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • Things to be careful about
  • Binding pointcuts
  • bind
  • Pointcut Arguments
  • Evaluation arguments
  • Return values
  • Example
  • User-defined pointcuts
  • Other pointcuts
  • Some subtleties about java.lang.Class references
  • Assigning pointcuts to variables
  • Contribution Blocks
  • property
  • method
  • params
  • delegatesTo
  • delegatesTo (alternative form with named arguments)
  • delegatesToUseNamedArgs
  • And the following properties
  • provider
  • currentNode
  • enclosingNode
  • wormhole
  • Binding
  • supportsVersion and assertVersion
  • Register pointcut
  • Wormhole
  • The dark side of DSLDs