Func

struct Func

A named function used by declarations, methods, and function expressions.

The node's primary span is its body; meta_start..<meta_end preserves the complete token extent used by diagnostics and dumps. Parameter ownership and effect rows are still source declarations here, not inferred types.

Properties

let name: String

The source-spelled function name.

let name_start: Int

The inclusive starting byte offset of the name.

let name_end: Int

The exclusive ending byte offset of the name.

let generics: [GenericDecl]

The generic parameters in declaration order.

let captures: [CaptureSpec]

Explicit closure captures in declaration order.

let where_clause: WhereClause?

The declaration constraints, when present.

let params: [Parameter]

The parameters in declaration order.

let body: Block

The executable function body.

let start: Int

The inclusive starting byte offset in the source.

let end: Int

The exclusive ending byte offset in the source.

let meta_start: Int

The inclusive starting byte offset of the meta.

let meta_end: Int

The exclusive ending byte offset of the meta.