reflect.class.PendingType

A reference to a not-yet-frozen builder type. It is deliberately not a subtype of the built-in `type`; only Builder.field accepts it directly.

Reference version

Signature

class reflect.class.PendingType

A reference to a not-yet-frozen builder type. It is deliberately not a subtype of the built-in type; only Builder.field accepts it directly.

Source:<builtin>/reflect/ns_class/class.bamlbytes 3925–5810

Fields

_handle

$rust_type

_roots

unknown[]

Instance methods

function

_union

(
self,
others: (reflect.Type | reflect.class.PendingType)[]
) -> reflect.class.PendingType throws never

(internal) Internal native backing union; a member that is not pending is a type value.

function

array

(self) -> reflect.class.PendingType throws never

Construct an array over this pending type.

function

meta

(
self,
alias: string | null = …,
description: string | null = …,
docstring: string | null = …,
other: map<string, string> | null = …
) -> reflect.WithMeta<reflect.class.PendingType> throws never

Pair this pending reference with schema metadata, mirroring reflect.Type.meta. Only Builder.field accepts the result.

function

optional

(self) -> reflect.class.PendingType throws never

Construct the canonical union of this pending type and null.

function

resolved

(self) -> reflect.Type | null throws never

Return the frozen type, or null while any referenced builder is pending.

function

union

(
self,
others: (reflect.TypeView | reflect.class.PendingType)[]
) -> reflect.class.PendingType throws never

Construct a union containing this pending type and others.

Implementations

reflect.AnyClass for T

Instance methods

function

attributes

(self) -> reflect.Meta throws never

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

function

find

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

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.TypeMismatch if the field's value is not a T.
function

find_field

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

A value-bound handle to the field called name, or null if this value's class declares no such field.

function

get

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

Read 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.NotFound if this value's class declares no field called name.
  • reflect.errors.TypeMismatch if the field's value is not a T.
function

get_field

(self, name: string) -> reflect.class.Field throws reflect.errors.NotFound

A value-bound handle to the field called name. find_field returns null instead of throwing.

Throws

  • reflect.errors.NotFound if this value's class declares no field called name.
function

has_field

(self, name: string) -> bool throws never

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[] throws never

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

function

name

(self) -> string throws never

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

function

type

(self) -> reflect.Type throws never

This value's concrete runtime type.

Source:<builtin>/reflect/reflect.bamlbytes 14431–14461