State

case class State(var visited: Set[Effect], path: Vector[Tree], thisClass: ClassSymbol, fieldsInited: Set[Symbol], parentsInited: Set[ClassSymbol], safePromoted: Set[Potential], env: Env)

The checking state

The checking state

Why visited is a set of effects instead of Symbol? Think the following program:

class C(x: Int, a: A @cold) {
  val n = if (x > 0) new C(x - 1, a).m() else 0
  val b: Int = this.m()
  def m(): Int = b
}
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

def test(op: State => Errors): Errors
def withOwner(sym: Symbol): State

Inherited methods

Inherited from
Product