class Crystal::Macros::ProcNotation
Overview
The type of a proc or block argument, like String -> Int32
.
Defined in:
compiler/crystal/macros.crInstance Method Summary
-
#inputs : ArrayLiteral(ASTNode)
Returns the argument types, or an empty list if no arguments.
-
#output : ASTNode | NilLiteral
Returns the output type, or nil if there is no return type.
-
#resolve : ASTNode
Resolves this proc notation to a
TypeNode
if it denotes a type, or otherwise gives a compile-time error. -
#resolve? : ASTNode | NilLiteral
Resolves this proc notation to a
TypeNode
if it denotes a type, or otherwise returns aNilLiteral
.
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,
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 argument types, or an empty list if no arguments.
Returns the output type, or nil if there is no return type.
Resolves this proc notation to a TypeNode
if it denotes a type,
or otherwise gives a compile-time error.
Resolves this proc notation to a TypeNode
if it denotes a type,
or otherwise returns a NilLiteral
.