Module: Steep::AST::Builtin

Defined in:
lib/steep/ast/builtin.rb

Defined Under Namespace

Classes: Type

Constant Summary collapse

Object =
Type.new("::Object")
BasicObject =
Type.new("::BasicObject")
Array =
Type.new("::Array", arity: 1)
Range =
Type.new("::Range", arity: 1)
Hash =
Type.new("::Hash", arity: 2)
Module =
Type.new("::Module")
Class =
Type.new("::Class")
Integer =
Type.new("::Integer")
Float =
Type.new("::Float")
String =
Type.new("::String")
Symbol =
Type.new("::Symbol")
TrueClass =
Type.new("::TrueClass")
FalseClass =
Type.new("::FalseClass")
Regexp =
Type.new("::Regexp")
NilClass =
Type.new("::NilClass")
Proc =
Type.new("::Proc")

Class Method Summary collapse

Class Method Details

.any_typeObject



83
84
85
# File 'lib/steep/ast/builtin.rb', line 83

def self.any_type
  AST::Types::Any.new
end

.bool_typeObject



87
88
89
# File 'lib/steep/ast/builtin.rb', line 87

def self.bool_type
  AST::Types::Boolean.new
end

.nil_typeObject



79
80
81
# File 'lib/steep/ast/builtin.rb', line 79

def self.nil_type
  AST::Types::Nil.new
end

.optional(type) ⇒ Object



91
92
93
# File 'lib/steep/ast/builtin.rb', line 91

def self.optional(type)
  AST::Types::Union.build(types: [type, nil_type])
end