class
Crystal::Macros::AnnotationDef
Overview
An annotation definition.
Every annotation definitionnode is equivalent to:
{% begin %}
{{ node.kind }} {{ node.name }}
{{ node.body }}
end
{% end %}
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#body : Nop
Returns the body of this type definition.
-
#kind : MacroId
Returns the keyword used to define this type.
-
#name(*, generic_args : BoolLiteral = true) : Path
Returns the name of this type definition.
Instance methods inherited from class Crystal::Macros::ASTNode
!=(other : ASTNode) : BoolLiteral
!=,
==(other : ASTNode) : BoolLiteral
==,
class_name : StringLiteral
class_name,
column_number : StringLiteral | NilLiteral
column_number,
doc : StringLiteral
doc,
doc_comment : MacroId
doc_comment,
end_column_number : StringLiteral | NilLiteral
end_column_number,
end_line_number : StringLiteral | NilLiteral
end_line_number,
filename : StringLiteral | NilLiteral
filename,
id : MacroId
id,
is_a?(type : TypeNode) : BoolLiteral
is_a?,
line_number : StringLiteral | NilLiteral
line_number,
nil? : BoolLiteral
nil?,
raise(message) : NoReturn
raise,
stringify : StringLiteral
stringify,
symbolize : SymbolLiteral
symbolize,
warning(message : StringLiteral) : NilLiteral
warning
Instance Method Detail
Returns the body of this type definition.
Currently this is always aNop, because annotation definitions cannot
contain anything at all.
Returns the name of this type definition.
generic_args has no effect. It exists solely to match the interface of other related AST nodes.