Class: Yoda::Model::NodeSignatures::Base Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/model/node_signatures/base.rb

Overview

This class is abstract.

Direct Known Subclasses

Const, MethodDefinition, Node, Send

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node_info) ⇒ Base

Returns a new instance of Base.

Parameters:



10
11
12
# File 'lib/yoda/model/node_signatures/base.rb', line 10

def initialize(node_info)
  @node_info = node_info
end

Instance Attribute Details

#node_infoTyping::NodeInfo (readonly)

Returns:



7
8
9
# File 'lib/yoda/model/node_signatures/base.rb', line 7

def node_info
  @node_info
end

Instance Method Details

#defined_filesArray<String, Integer, Integer>

Returns:

  • (Array<String, Integer, Integer>)


26
27
28
# File 'lib/yoda/model/node_signatures/base.rb', line 26

def defined_files
  []
end

#descriptionsArray<Descriptions::Base>

This method is abstract.

Returns:



21
22
23
# File 'lib/yoda/model/node_signatures/base.rb', line 21

def descriptions
  fail NotImplementedError
end

#node_rangeRange

Returns:

  • (Range)


15
16
17
# File 'lib/yoda/model/node_signatures/base.rb', line 15

def node_range
  node_info.range
end

#node_type_descriptionDescriptions::Base

Returns:



31
32
33
# File 'lib/yoda/model/node_signatures/base.rb', line 31

def node_type_description
  Descriptions::NodeDescription.new(node_info.node, node_info.type)
end

#type_descriptionsArray<Descriptions::Base>

Returns:



36
37
38
# File 'lib/yoda/model/node_signatures/base.rb', line 36

def type_descriptions
  node_info.objects.map { |object| Descriptions::ValueDescription.new(object) }
end