org.checkerframework.checker.lock.qual.LockingFree Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of checker-qual-android Show documentation
Show all versions of checker-qual-android Show documentation
checker-qual-android contains annotations (type qualifiers) that a programmer
writes to specify Java code for type-checking by the Checker Framework.
The checker-qual-android artifact is identical to the checker-qual
artifact, except that in checker-qual-android annotations have classfile
retention. The default Android Gradle plugin retains types annotated with
runtime annotations in the main dex, but strips out class-retention
annotations.
package org.checkerframework.checker.lock.qual;
import org.checkerframework.dataflow.qual.Pure;
import org.checkerframework.dataflow.qual.SideEffectFree;
import org.checkerframework.framework.qual.InheritedAnnotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* The method neither acquires nor releases locks, nor do any of the methods that it calls. More
* specifically, the method is not {@code synchronized}, it contains no {@code synchronized} blocks,
* it contains no calls to {@code lock} or {@code unlock}, and it contains no calls to other
* non-{@code @LockingFree} methods.
*
* {@code @LockingFree} provides a stronger guarantee than {@code @}{@link ReleasesNoLocks} and a
* weaker guarantee than {@code @}{@link SideEffectFree}.
*
* @see MayReleaseLocks
* @see ReleasesNoLocks
* @see SideEffectFree
* @see Pure
* @checker_framework.manual #lock-checker Lock Checker
* @checker_framework.manual #lock-lockingfree-example Example use of @LockingFree
*/
@Documented
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
@InheritedAnnotation
public @interface LockingFree {}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy