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.
Signature
class reflect.SessionA 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 23212–25259
Fields
_inner
unknownStatic methods
_new
(new
(Opens a session whose dependency aliases are fixed to packages.
Throws
reflect.errors.CompilationErrorif the dependencies do not resolve.
Instance methods
_compile
<T>(Diagnostics from this session's most recent eval.
eval
<T>(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.CompilationErrorifsourcedoes not compile.reflect.errors.EvaluationErrorif it compiles but throws when run.reflect.errors.SessionBusyif the session is already evaluating.
Implementations
reflect.AnyClass for T
Instance methods
The class declaration's schema metadata, or empty metadata when the runtime type is not a class.
Read the field called name as T, or null if this value's class
declares no such field. A present field holding null also reads as
null; use has_field or get<T?> to tell the two apart.
Throws
reflect.errors.TypeMismatchif the field's value is not aT.
A value-bound handle to the field called name, or null if this
value's class declares no such field.
get
<T>(self, name: string) -> T throws reflect.errors.NotFound | reflect.errors.TypeMismatchRead the field called name as T. Read a nullable field with a
nullable T (get<int?>). find returns null for a missing field
instead of throwing.
Throws
reflect.errors.NotFoundif this value's class declares no field calledname.reflect.errors.TypeMismatchif the field's value is not aT.
A value-bound handle to the field called name. find_field returns
null instead of throwing.
Throws
reflect.errors.NotFoundif this value's class declares no field calledname.
has_field
(self, name: string) -> bool throws neverWhether this value's runtime class declares a field called name.
false when the runtime type is not a class.
Reflected fields bound to this value for Field.value<T>().
name
(self) -> string throws neverThe rendered name of this value's concrete runtime type.
This value's concrete runtime type.
Source:<builtin>/reflect/reflect.bamlbytes 14431–14461
Related definitions
reflect.AnyClassreflect.AnyClassreflect.AnyClassreflect.AnyClassreflect.AnyClassreflect.AnyClassreflect.AnyClassreflect.AnyClassreflect.AnyClassreflect.AnyClassreflect.class.Fieldreflect.CompileArtifactreflect.Diagnosticreflect.errors.CompilationErrorreflect.errors.EvaluationErrorreflect.errors.NotFoundreflect.errors.SessionBusyreflect.errors.TypeMismatchreflect.Metareflect.Packagereflect.Type