Class: RBI::Type::Generic
Overview
A generic type like ‘T::Array` or `T::Hash[Symbol, Integer]`.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
: String.
-
#params ⇒ Object
readonly
: Array.
Instance Method Summary collapse
-
#==(other) ⇒ Object
: (BasicObject other) -> bool.
-
#initialize(name, *params) ⇒ Generic
constructor
: (String name, *Type params) -> void.
-
#normalize ⇒ Object
: -> Type.
-
#simplify ⇒ Object
: -> Type.
-
#to_rbi ⇒ Object
: -> String.
Methods inherited from RBI::Type
all, any, anything, attached_class, boolean, class_of, #eql?, generic, #hash, #nilable, nilable, #nilable?, #non_nilable, noreturn, parse_node, parse_string, proc, #rbs_string, self_type, shape, simple, t_class, #to_s, tuple, type_parameter, untyped, void
Constructor Details
#initialize(name, *params) ⇒ Generic
: (String name, *Type params) -> void
519 520 521 522 523 |
# File 'lib/rbi/type.rb', line 519 def initialize(name, *params) super() @name = name @params = params #: Array[Type] end |
Instance Attribute Details
#name ⇒ Object (readonly)
: String
513 514 515 |
# File 'lib/rbi/type.rb', line 513 def name @name end |
#params ⇒ Object (readonly)
: Array
516 517 518 |
# File 'lib/rbi/type.rb', line 516 def params @params end |
Instance Method Details
#==(other) ⇒ Object
: (BasicObject other) -> bool
527 528 529 |
# File 'lib/rbi/type.rb', line 527 def ==(other) Generic === other && @name == other.name && @params == other.params end |
#normalize ⇒ Object
: -> Type
539 540 541 |
# File 'lib/rbi/type.rb', line 539 def normalize self end |
#simplify ⇒ Object
: -> Type
545 546 547 |
# File 'lib/rbi/type.rb', line 545 def simplify self end |
#to_rbi ⇒ Object
: -> String
533 534 535 |
# File 'lib/rbi/type.rb', line 533 def to_rbi "#{@name}[#{@params.map(&:to_rbi).join(", ")}]" end |