reflect.Type$stream

A runtime value describing a BAML type.

Reference version

Signature

class reflect.Type$stream

A runtime value describing a BAML type.

reflect.Type.of<T>() describes a type argument and reflect.Type.of_value(value) describes a value's concrete runtime type. A type value's identity is its declarations': two values naming the same declarations compare equal, and a runtime-created declaration is equal only to itself. Reflection methods are exposed directly.

Source:<builtin>/reflect/type.bamlbytes 0–0

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

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

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

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 6092–6122