Class: Yoda::Model::FunctionSignatures::Overload
- Defined in:
- lib/yoda/model/function_signatures/overload.rb
Instance Attribute Summary collapse
- #method_object ⇒ Store::Objects::MethodObject readonly
- #overload ⇒ Store::Objects::Overload readonly
Instance Method Summary collapse
- #document ⇒ String
-
#initialize(method_object, overload) ⇒ Overload
constructor
A new instance of Overload.
- #name ⇒ String
- #namespace_path ⇒ String abstract
- #parameter_type_of(param) ⇒ Object
- #parameters ⇒ ParameterList
- #primary_source ⇒ (String, Integer, Integer)?
- #rbs_type(env) ⇒ RBS::MethodType
- #sep ⇒ String
- #sources ⇒ Array<(String, Integer, Integer)>
- #tags ⇒ Array<Store::Objects::Tag>
- #type ⇒ TypeExpressions::FunctionType
- #visibility ⇒ Symbol
Methods inherited from Base
Constructor Details
#initialize(method_object, overload) ⇒ Overload
13 14 15 16 17 18 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 13 def initialize(method_object, overload) fail ArgumentError, method_object unless method_object.is_a?(Store::Objects::MethodObject) fail ArgumentError, overload unless overload.is_a?(Store::Objects::Overload) @method_object = method_object @overload = overload end |
Instance Attribute Details
#method_object ⇒ Store::Objects::MethodObject (readonly)
6 7 8 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 6 def method_object @method_object end |
#overload ⇒ Store::Objects::Overload (readonly)
9 10 11 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 9 def overload @overload end |
Instance Method Details
#document ⇒ String
36 37 38 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 36 def document overload.document || method_object.document end |
#name ⇒ String
26 27 28 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 26 def name method_object.name end |
#namespace_path ⇒ String
This method is abstract.
68 69 70 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 68 def namespace_path method_object.namespace_path end |
#parameter_type_of(param) ⇒ Object
82 83 84 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 82 def parameter_type_of(param) type_builder.type_of(param) end |
#parameters ⇒ ParameterList
78 79 80 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 78 def parameters @parameters ||= ParameterList.new(overload.parameters) end |
#primary_source ⇒ (String, Integer, Integer)?
73 74 75 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 73 def primary_source overload.primary_source || method_object.primary_source end |
#rbs_type(env) ⇒ RBS::MethodType
52 53 54 55 56 57 58 59 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 52 def rbs_type(env) RBS::MethodType.new( type_params: [], type: type.to_rbs_type(env), block: nil, location: nil, ) end |
#sep ⇒ String
31 32 33 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 31 def sep method_object.sep end |
#sources ⇒ Array<(String, Integer, Integer)>
62 63 64 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 62 def sources method_object.sources end |
#tags ⇒ Array<Store::Objects::Tag>
41 42 43 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 41 def overload.tag_list || method_object.tag_list end |
#type ⇒ TypeExpressions::FunctionType
46 47 48 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 46 def type @type = type_builder.type end |
#visibility ⇒ Symbol
21 22 23 |
# File 'lib/yoda/model/function_signatures/overload.rb', line 21 def visibility method_object.visibility end |