Framework AspectJ

for Java environment

Julia will translate the AspectJ annotations into its own, considering each advice method as an entry point for the analysis, as well as suppressing Deadcode warnings on pointcuts.

Required libraries: org.aspectj.aspectjrt.jar, or org.aspectj.aspectjweaver.jar, or org.aspectj.aspectjtools.jar

Applicability

This specification gets automatically applied when:

  • the framework of the analysis contains the word java (case insensitive)
  • there exists an annotation that starts with org.aspectj


Implications between annotations

Some annotations of this framework get translated automatically into standard Julia annotations, such that the analysis engine can react accordingly. Namely:

  • if an element is annotated with org.aspectj.lang.annotation.After, Julia considers it to be annotated also with:
    • com.juliasoft.julia.extraction.EntryPoint
  • if an element is annotated with org.aspectj.lang.annotation.AfterReturnung, Julia considers it to be annotated also with:
    • com.juliasoft.julia.extraction.EntryPoint
  • if an element is annotated with org.aspectj.lang.annotation.AfterThrowing, Julia considers it to be annotated also with:
    • com.juliasoft.julia.extraction.EntryPoint
  • if an element is annotated with org.aspectj.lang.annotation.Around, Julia considers it to be annotated also with:
    • com.juliasoft.julia.extraction.EntryPoint
  • if an element is annotated with org.aspectj.lang.annotation.Before, Julia considers it to be annotated also with:
    • com.juliasoft.julia.extraction.EntryPoint
  • if an element is annotated with org.aspectj.lang.annotation.Pointcut, Julia considers it to be annotated also with:
    • com.juliasoft.julia.checkers.SuppressJuliaWarnings with value=deadcode