001 package edu.rice.cs.cunit.threadCheck.predicates;
002
003 import edu.rice.cs.cunit.threadCheck.Combine;
004
005 import java.lang.annotation.ElementType;
006 import java.lang.annotation.Retention;
007 import java.lang.annotation.RetentionPolicy;
008 import java.lang.annotation.Target;
009
010 /**
011 * An annotation used to designate methods that are not allowed to be run by the event thread.
012 *
013 * The annotation is constructed by using the @OnlyEventThread annotation and inverting its result.
014 * @author Mathias Ricken
015 */
016 @Retention(RetentionPolicy.RUNTIME)
017 @Target({ElementType.CONSTRUCTOR,ElementType.METHOD,ElementType.TYPE})
018
019 @Combine(Combine.Mode.NOT)
020 public @interface NotEventThread {
021 OnlyEventThread value() default @OnlyEventThread;
022 }