001 package edu.rice.cs.cunit.threadCheck.subAnnot.predicates;
002
003 import edu.rice.cs.cunit.threadCheck.subAnnot.PredicateLink;
004 import edu.rice.cs.cunit.threadCheck.subAnnot.Predicates;
005 import edu.rice.cs.cunit.threadCheck.subAnnot.InvariantAnnotation;
006
007 import java.lang.annotation.RetentionPolicy;
008 import java.lang.annotation.Retention;
009
010 /**
011 * This annotation combines other invariant annotations using Boolean or.
012 *
013 * Note that this is not compatible with standard Java, but requires xajavac.
014 * For more information about xajavac, see http://ricken.us/research/xajavac
015 *
016 * @author Mathias Ricken
017 */
018 @Retention(RetentionPolicy.RUNTIME)
019 @PredicateLink(value= Predicates.class, method="checkOr", arguments=true)
020 public @interface Or extends InvariantAnnotation {
021 InvariantAnnotation[] value();
022 }