class

Crystal::Macros::CStructOrUnionDef

Inherits Crystal::Macros::ASTNode

A struct or union definition inside a lib.

Every type definition node is equivalent to:

{% begin %}
  {{ node.kind }} {{ node.name }}
    {{ node.body }}
  end
{% end %}

Instance methods

body

Returns the body of this type definition.

Source
kind

Returns the keyword used to define this type.

For CStructOrUnionDef this is either struct or union.

Source
name(*, generic_args : BoolLiteral = true) : Path

Returns the name of this type definition.

generic_args has no effect. It exists solely to match the interface of other related AST nodes.

Source
union?

Returns whether this node defines a C union.

Source