@Documented @Retention(value=RUNTIME) @InheritedAnnotation @Target(value={METHOD,CONSTRUCTOR}) public @interface ReleasesNoLocks
EnsuresLockHeld
or
@EnsuresLockHeldIf
).
This is the default for methods being type-checked that have no
@
LockingFree
, @
MayReleaseLocks
,
@
SideEffectFree
, or @
Pure
annotation.
@ReleasesNoLocks
provides a guarantee unlike
@
MayReleaseLocks
, which provides no guarantees.
However, @ReleasesNoLocks
provides a weaker guarantee than
@
LockingFree
.
MayReleaseLocks
,
LockingFree
,
SideEffectFree
,
Pure