You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

design.txt 3.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. This table shows the members we create as a result of aspect declarations and weaving,
  2. and whether they should be marked synthetic or not.
  3. Inside aspects:
  4. ==================
  5. name type description synthetic
  6. -----------------------------------------------------------------------------------------
  7. ajc$preClinit method start of static initialization yes
  8. ajc$postClinit method end of static initialization yes
  9. ajc$perCflowPush method start a cflow yes
  10. ajc$perCflowStack field cflow stack yes
  11. ajc$perSingletonInstance field singleton instance yes
  12. ajc$initFailureCause field exception during init yes
  13. ajc$withinType field type for perwithin aspects yes
  14. ajc$perObjectBind method creation of perobject aspects yes
  15. ajc$getInstance method perwithin instance accessor yes
  16. ajc$createAspectInstance method creates ptw aspect yes
  17. aspectOf method generated aspectOf method yes?* (it has no matching source code)
  18. hasAspect method generated hasAspect method yes?* (it has no matching source code)
  19. ajc$superDispatch$<STname>$name super method accessor (for around advice) yes
  20. ajc$inlineAccessMethod$<AName>$<TName>$<mname> accessor for around advice yes
  21. ajc$inlineAccessFieldGet$... method for around advice yes
  22. ajc$inlineAccessFieldSet$... method for around advice yes
  23. ajc$preInterConstructor$<AName>$<TName> method ITD cons yes
  24. ajc$postInterConstructor$<AName>$<TName> method ITD cons yes
  25. ajc$interFieldInit$... method initializer for ITD field yes
  26. ajc$interFieldSetDispatch$... method set of ITD field yes
  27. ajc$interFieldGetDispatch$... method get of ITD field yes
  28. ajc$interMethodDispatch1$... method dispatch for ITD method yes
  29. ajc$interMethod$<AName>$<TName>$<name> method body of ITD method no
  30. ajc$before$... method before advice no
  31. ajc$after$... method after advice no
  32. ajc$around$... method around advice no
  33. ajc$afterReturning$... method after returning advice no
  34. ajc$afterThrowing$... method after throwing advice no
  35. ajc$declare... method declare statement yes
  36. ajc$if_... method if statement inside pointcut yes
  37. ajc$pointcut$... method pointcut declaration yes
  38. ajc$around$.....proceed method proceed method for around advice yes
  39. Inside classes:
  40. ===================
  41. ajc$pointcut$... method pointcut declaration yes
  42. Inside woven types:
  43. ===================
  44. ajc$<TName>$perObjectField field holds per-object aspect instance yes
  45. ajc$<TName>$ptwAspectInstance field holds per-type-within aspect yes
  46. <AName>$ajcMightHaveAspect interface added to per-xxx aspects n/a
  47. ajc$<AName>$perObjectGet method on types with ajcMightHaveAspect yes
  48. ajc$<AName>$perObjectSet method on types with ajcMightHaveAspect yes
  49. ajc$<AName>$localAspectOf method get ptw aspect instance yes
  50. ajc$privMethod$<Tname>$<AName>$<mname> method privileged accessor yes
  51. ajc$privFieldGet$<Tname>$<AName>$<fname> method privileged accessor yes
  52. ajc$privFieldSet$<Tname>$<AName>$<fname> method privileged mutator yes
  53. ajc$<AName>$<DPType> field @DeclareParents delegate yes
  54. ajc$interField$... field ITD-field yes
  55. ajc$interFieldGet$... method on target of ITD-field yes
  56. ajc$interFieldSet$... method on target of ITD-field yes
  57. ajc$interMethodDispatch2$... method on target of ITD-method yes
  58. ** note - also make sure that every ajc$ field we introduce in a woven type is marked as transient.