RustQ.Codegen.DecoderHelpers (rustq v0.8.3)

Copy Markdown View Source

Shared Rust helper functions used by generated AST decoders.

Summary

Functions

asts()

required_arm_list(arg1, arg2)

@spec required_arm_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:Arm)))

required_enum_variant_list(arg1, arg2)

@spec required_enum_variant_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:Variant)))

required_expr(arg1, arg2)

@spec required_expr(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.path(:Expr))

required_expr_list(arg1, arg2)

@spec required_expr_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:Expr)))

required_function_arg_list(arg1, arg2)

@spec required_function_arg_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:FnArg)))

required_item_list(arg1, arg2)

@spec required_item_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:Item)))

required_pat(arg1, arg2)

@spec required_pat(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.path(:Pat))

required_pat_list(arg1, arg2)

@spec required_pat_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:Pat)))

required_path(arg1, arg2)

@spec required_path(term(), RustQ.Type.str()) :: RustQ.Type.nif_result(Path.t())

required_stmt_list(arg1, arg2)

@spec required_stmt_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:Stmt)))

required_string_list(arg1, arg2)

@spec required_string_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(String.t()))

required_struct_field_list(arg1, arg2)

@spec required_struct_field_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:Field)))

required_type(arg1, arg2)

@spec required_type(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.path(:Type))

required_type_list(arg1, arg2)

@spec required_type_list(term(), RustQ.Type.str()) ::
  RustQ.Type.nif_result(RustQ.Type.vec(RustQ.Type.path(:Type)))