Class: SystemRDL::Evaluator::List

Inherits:
Object
  • Object
show all
Includes:
Common
Defined in:
lib/systemrdl/evaluator/list.rb

Instance Attribute Summary collapse

Attributes included from Common

#component, #parent

Instance Method Summary collapse

Methods included from Common

#connect

Constructor Details

#initialize(elements, token_range) ⇒ List

Returns a new instance of List.



8
9
10
11
# File 'lib/systemrdl/evaluator/list.rb', line 8

def initialize(elements, token_range)
  @elements = elements
  @token_range = token_range
end

Instance Attribute Details

#elementsObject (readonly)

Returns the value of attribute elements.



13
14
15
# File 'lib/systemrdl/evaluator/list.rb', line 13

def elements
  @elements
end

#token_rangeObject (readonly)

Returns the value of attribute token_range.



14
15
16
# File 'lib/systemrdl/evaluator/list.rb', line 14

def token_range
  @token_range
end

Instance Method Details

#evaluate(instance, **optargs) ⇒ Object



16
17
18
19
# File 'lib/systemrdl/evaluator/list.rb', line 16

def evaluate(instance, **optargs)
  elements = @elements.map { |element| element.evaluate(instance, **optargs) }
  List.new(elements, @token_range)
end

#sizeObject



21
22
23
# File 'lib/systemrdl/evaluator/list.rb', line 21

def size
  @elements.size
end