reflect.class.Builder
A mutable runtime-class definition. Calling `build` freezes every builder connected through a pending field type as one atomic recursive group.
Signature
class reflect.class.BuilderA mutable runtime-class definition. Calling build freezes every builder
connected through a pending field type as one atomic recursive group.
Source:<builtin>/reflect/ns_class/class.bamlbytes 1416–3772
Fields
Instance methods
_build
((internal) Internal native backing build; all arguments have been materialized.
(internal) Internal native backing field; a field type that is not
pending is a type value.
build
(Validate and freeze this builder's complete connected recursive group.
Append one field in definition order.
A recursive field carries metadata the same way a resolved one does:
PendingType.meta(...) produces the WithMeta<PendingType> row, and the
metadata survives the atomic group build.
fields_from
(Append every field of some_class, in declaration order, with all of
its metadata: alias, description, docstring, other and skip.
Only the fields are copied. The new class gets neither some_class's
own metadata nor its interfaces; it implements what build is given.
A statically-distinct reference to this builder's eventual class type.
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.Classreflect.class.Fieldreflect.class.PendingTypereflect.errors.CompilationErrorreflect.errors.NotFoundreflect.errors.TypeMismatchreflect.interface.Implementationreflect.Metareflect.Typereflect.TypeViewreflect.WithMeta