CCState

dotty.tools.dotc.cc.CCState
See theCCState companion object
class CCState

Capture checking state, which is known to other capture checking components

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

Attributes

Supertypes
trait Stateless
class Closed
class VarState
class Object
trait Matchable
class Any
Show all
Self type
object HardSeparate extends Separating

Attributes

Supertypes
class Separating
class Closed
class VarState
class Object
trait Matchable
class Any
Show all
Self type
CCState.this.CCState.this.HardSeparate.type
object Separate extends Separating

Attributes

Supertypes
class Separating
class Closed
class VarState
class Object
trait Matchable
class Any
Show all
Self type
CCState.this.CCState.this.Separate.type
object Unrecorded extends Unrecorded

Attributes

Supertypes
class Unrecorded
trait Stateless
class VarState
class Object
trait Matchable
class Any
Show all
Self type
CCState.this.CCState.this.Unrecorded.type

Value members

Concrete methods

def inSepCheck(op: => Unit): Unit

Are we currently running separation checks?

Are we currently running separation checks?

Attributes

def mapVars(using Context): Boolean

When mapping a capture set variable with a BiTypeMap, should we create a BiMapped set so that future elements can also be mapped, and elements added to the BiMapped are back-propagated? Or should we return the capture set as is? Turned off when creating capture set variables for the first time, since we then do not want to change the binder to the original type without capture sets when back propagating. Error cases where this shows: pos-customargs/captures/lists.scala, method m2c, and pos-customargs/captures/infer-exists.scala,

When mapping a capture set variable with a BiTypeMap, should we create a BiMapped set so that future elements can also be mapped, and elements added to the BiMapped are back-propagated? Or should we return the capture set as is? Turned off when creating capture set variables for the first time, since we then do not want to change the binder to the original type without capture sets when back propagating. Error cases where this shows: pos-customargs/captures/lists.scala, method m2c, and pos-customargs/captures/infer-exists.scala,

Attributes

def nextIteration[T](op: => T): T
def start(): Unit
inline def withNoVarsMapped[T](op: => T)(using Context): T

Don't map capset variables with BiTypeMaps during this op

Don't map capset variables with BiTypeMaps during this op

Attributes

Concrete fields

Warnings relating to upper approximations of capture sets with existentially bound variables.

Warnings relating to upper approximations of capture sets with existentially bound variables.

Attributes

A map from class symbols in the current compilation unit to those of their fields that have an explicit type given. Used in captureSetImpliedByFields to avoid forcing fields with inferred types prematurely. The test file where this matters is i24335.scala. The precise failure scenario which this avoids is described in #24335.

A map from class symbols in the current compilation unit to those of their fields that have an explicit type given. Used in captureSetImpliedByFields to avoid forcing fields with inferred types prematurely. The test file where this matters is i24335.scala. The precise failure scenario which this avoids is described in #24335.

Attributes

A cache that stores for each class the classifiers of all LocalCap instances in the types of its fields and the fields that contribute such LocalCap instances.

A cache that stores for each class the classifiers of all LocalCap instances in the types of its fields and the fields that contribute such LocalCap instances.

Attributes

var rootId: Int

Next root id

Next root id

Attributes

var varId: Int

Next CaptureSet.Var id

Next CaptureSet.Var id

Attributes

A cache for mirrors of local mutable vars

A cache for mirrors of local mutable vars

Attributes