Class: Yoda::Model::NodeSignature
- Inherits:
-
Object
- Object
- Yoda::Model::NodeSignature
- Defined in:
- lib/yoda/model/node_signature.rb
Instance Attribute Summary collapse
-
#node ⇒ Object
readonly
Returns the value of attribute node.
-
#trace ⇒ Object
readonly
Returns the value of attribute trace.
Instance Method Summary collapse
- #descriptions ⇒ Array<Descriptions::Base>
-
#initialize(node, trace) ⇒ NodeSignature
constructor
A new instance of NodeSignature.
- #node_range ⇒ Range
Constructor Details
#initialize(node, trace) ⇒ NodeSignature
Returns a new instance of NodeSignature.
7 8 9 10 |
# File 'lib/yoda/model/node_signature.rb', line 7 def initialize(node, trace) @node = node @trace = trace end |
Instance Attribute Details
#node ⇒ Object (readonly)
Returns the value of attribute node.
4 5 6 |
# File 'lib/yoda/model/node_signature.rb', line 4 def node @node end |
#trace ⇒ Object (readonly)
Returns the value of attribute trace.
4 5 6 |
# File 'lib/yoda/model/node_signature.rb', line 4 def trace @trace end |
Instance Method Details
#descriptions ⇒ Array<Descriptions::Base>
18 19 20 21 22 23 24 25 |
# File 'lib/yoda/model/node_signature.rb', line 18 def descriptions case trace when Typing::Traces::Send trace.functions.map { |function| Descriptions::FunctionDescription.new(function) }.take(1) else trace.values.map { |value| Descriptions::ValueDescription.new(value) } end end |
#node_range ⇒ Range
13 14 15 |
# File 'lib/yoda/model/node_signature.rb', line 13 def node_range Parsing::Range.of_ast_location(node.location) end |