reflect.Session

A live incremental evaluation environment. Its dependency aliases are fixed at construction; every eval checks in a fresh compiler context and commits successful statements to this Session's persistent runtime image.

Reference version

Signature

class reflect.Session

A live incremental evaluation environment. Its dependency aliases are fixed at construction; every eval checks in a fresh compiler context and commits successful statements to this Session's persistent runtime image.

Source:<builtin>/reflect/reflect.bamlbytes 1187913965

Fields

_inner

unknown

Static methods

function

new

(
packages: map<string, reflect.Package> = …
) -> reflect.Session throws reflect.errors.CompilationError

Opens a session whose dependency aliases are fixed to packages.

Throws

  • reflect.errors.CompilationError if the dependencies do not resolve.

Instance methods

Compiles and runs source against this session, returning its value as T.

Each call checks in a fresh compiler context; statements that succeed are committed to the session's persistent image and are visible to later calls. A call that throws commits nothing.

Throws

  • reflect.errors.CompilationError if source does not compile.
  • reflect.errors.EvaluationError if it compiles but throws when run.
  • reflect.errors.SessionBusy if the session is already evaluating.

Implementations

reflect.AnyClass for T

Instance methods

function

attributes

(self) -> reflect.Meta

The class declaration's schema metadata, or empty metadata when the runtime type is not a class.

function

get

<T>(self, name: string) -> T | null throws reflect.errors.TypeMismatch

Read a field as T. A missing field returns null; use has_field to distinguish that case from a present field whose value is null.

function

get_field

(self, name: string) -> reflect.class.Field | null

Return a value-bound field handle, or null when no such field exists.

function

has_field

(self, name: string) -> bool

Whether this value's runtime class declares a field called name. false when the runtime type is not a class.

function

list_fields

(self) -> reflect.class.Field[]

Reflected fields bound to this value for Field.value<T>().

function

name

(self) -> string

The rendered name of this value's concrete runtime type.

function

type

(self) -> reflect.Type

This value's concrete runtime type.

Source:<builtin>/reflect/reflect.bamlbytes 60926122