@Documented
@Retention(value=RUNTIME)
@Target(value={METHOD,TYPE})
public @interface DirtyUI
This annotation specifies code which runs on Swing Event Dispatch Thread and accesses IDE model (PSI, etc.) at the same time.
Accessing IDE model from EDT is prohibited by default, but many existing components are designed without such limitations. Such code can be marked with this annotation which will cause a dedicated instrumenter to modify bytecode to acquire Write Intent lock before the execution and release after the execution.
Marked methods will be modified to acquire/release IW lock. Marked classes will have a predefined set of their methods
modified in the same way. This list of methods can be found at LockWrappingClassVisitor.METHODS_TO_WRAP
WriteIntentLockInstrumenter
,
Application