yumemi/gen/glance_util
glance の木を覗くための小道具。glance は定義を逆順に積むので、順を戻すのもここ。
Values
pub fn args(
expression: glance.Expression,
) -> List(glance.Expression)
呼び出しの引数。ラベルは無視して順に返す。
pub fn ctor_module(
expression: glance.Expression,
) -> option.Option(String)
構成子の module 修飾(article.Published -> “article”)。
pub fn ctor_name(
expression: glance.Expression,
) -> option.Option(String)
構成子の名。module 修飾は落とす(q.Select -> “Select”)。
pub fn find_constant(
module: glance.Module,
name: String,
) -> option.Option(glance.Constant)
pub fn find_custom_type(
module: glance.Module,
name: String,
) -> option.Option(glance.CustomType)
pub fn find_function(
module: glance.Module,
name: String,
) -> option.Option(glance.Function)
pub fn find_type_alias(
module: glance.Module,
name: String,
) -> option.Option(glance.TypeAlias)
pub fn in_order(module: glance.Module) -> glance.Module
glance は Module の各リストへ先頭から積むので、宣言順に戻す。
pub fn int_value(
expression: glance.Expression,
) -> option.Option(String)
pub fn labelled(
expression: glance.Expression,
label: String,
) -> option.Option(glance.Expression)
ラベル付き引数を名で引く。
pub fn list_elements(
expression: glance.Expression,
) -> List(glance.Expression)
pub fn string_value(
expression: glance.Expression,
) -> option.Option(String)
pub fn type_module(
annotation: glance.Type,
) -> option.Option(String)
pub fn type_name(
annotation: glance.Type,
) -> option.Option(String)
型注釈の名(q.Select(P) -> “Select”)。
pub fn type_params(annotation: glance.Type) -> List(glance.Type)
pub fn variant_field_label(
field: glance.VariantField,
) -> option.Option(String)
pub fn variant_field_type(
field: glance.VariantField,
) -> glance.Type