The capture checker
Attributes
- Companion
- class
- Graph
-
- Supertypes
- Self type
-
CheckCaptures.type
Members list
Type members
Classlikes
A class describing environments.
A class describing environments.
Value parameters
- captured
-
the caputure set containing all references to tracked free variables outside of boxes
- isBoxed
-
true if the environment is inside a box (in which case references are not counted)
- nestedInOwner
-
true if the environment is a temporary one nested in the owner's environment, and does not have a different actual owner symbol (this happens when doing box adaptation).
- outer0
-
the next enclosing environment
- owner
-
the current owner
Attributes
- Supertypes
Attributes
- Supertypes
-
trait SymTransformerclass PreRechecktrait DenotTransformerclass Phaseclass Objecttrait Matchableclass AnyShow all
Similar normal substParams, but this is an approximating type map that maps parameters in contravariant capture sets to the empty set. TODO: check what happens with non-variant.
Similar normal substParams, but this is an approximating type map that maps parameters in contravariant capture sets to the empty set. TODO: check what happens with non-variant.
Attributes
- Supertypes
-
trait IdempotentCaptRefMapclass ApproximatingTypeMapclass TypeMapclass VariantTraversalclass Objecttrait Matchableclass AnyShow all
Value members
Concrete methods
Check that a @retains annotation only mentions references that can be tracked. This check is performed at Typer.
Check that a @retains annotation only mentions references that can be tracked. This check is performed at Typer.
Attributes
If tp
is a capturing type, check that all references it mentions have non-empty capture sets. Also: warn about redundant capture annotations. This check is performed after capture sets are computed in phase cc.
If tp
is a capturing type, check that all references it mentions have non-empty capture sets. Also: warn about redundant capture annotations. This check is performed after capture sets are computed in phase cc.
Attributes
Warn if ann
, which is a tree of a @retains annotation, defines some elements that are already accounted for by other elements of the same annotation. Note: We need to perform the check on the original annotation rather than its capture set since the conversion to a capture set already eliminates redundant elements.
Warn if ann
, which is a tree of a @retains annotation, defines some elements that are already accounted for by other elements of the same annotation. Note: We need to perform the check on the original annotation rather than its capture set since the conversion to a capture set already eliminates redundant elements.