Class: Yoda::Model::FunctionSignatures::Overload

Inherits:
Base
  • Object
show all
Defined in:
lib/yoda/model/function_signatures/overload.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#to_s

Constructor Details

#initialize(method_object, overload) ⇒ Overload

Returns a new instance of Overload.

Parameters:



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_objectStore::Objects::MethodObject (readonly)



6
7
8
# File 'lib/yoda/model/function_signatures/overload.rb', line 6

def method_object
  @method_object
end

#overloadStore::Objects::Overload (readonly)



9
10
11
# File 'lib/yoda/model/function_signatures/overload.rb', line 9

def overload
  @overload
end

Instance Method Details

#documentString

Returns:

  • (String)


36
37
38
# File 'lib/yoda/model/function_signatures/overload.rb', line 36

def document
  overload.document || method_object.document
end

#nameString

Returns:

  • (String)


26
27
28
# File 'lib/yoda/model/function_signatures/overload.rb', line 26

def name
  method_object.name
end

#namespace_pathString

This method is abstract.

Returns:

  • (String)


52
53
54
# File 'lib/yoda/model/function_signatures/overload.rb', line 52

def namespace_path
  method_object.namespace_path
end

#parameter_type_of(param) ⇒ Object



66
67
68
# File 'lib/yoda/model/function_signatures/overload.rb', line 66

def parameter_type_of(param)
  type_builder.type_of(param)
end

#parametersParameterList

Returns:



62
63
64
# File 'lib/yoda/model/function_signatures/overload.rb', line 62

def parameters
  @parameters ||= ParameterList.new(overload.parameters)
end

#primary_source(String, Integer, Integer)?

Returns:

  • ((String, Integer, Integer), nil)


57
58
59
# File 'lib/yoda/model/function_signatures/overload.rb', line 57

def primary_source
  overload.primary_source || method_object.primary_source
end

#sepString

Returns:

  • (String)


31
32
33
# File 'lib/yoda/model/function_signatures/overload.rb', line 31

def sep
  method_object.sep
end

#sourcesArray<(String, Integer, Integer)>

Returns:

  • (Array<(String, Integer, Integer)>)


46
47
48
# File 'lib/yoda/model/function_signatures/overload.rb', line 46

def sources
  method_object.sources
end

#typeTypes::FunctionType

Returns:



41
42
43
# File 'lib/yoda/model/function_signatures/overload.rb', line 41

def type
  @type = type_builder.type
end

#visibilitySymbol

Returns:

  • (Symbol)


21
22
23
# File 'lib/yoda/model/function_signatures/overload.rb', line 21

def visibility
  method_object.visibility
end