Class: SystemRDL::Evaluator::Root

Inherits:
ComponentDefinition show all
Defined in:
lib/systemrdl/evaluator/root.rb

Instance Attribute Summary

Attributes inherited from ComponentDefinition

#definitions, #id

Attributes included from Common

#component, #parent, #token_range

Instance Method Summary collapse

Methods inherited from ComponentDefinition

#assign_default_property, #connect, #create_instances, #finalize, #find_default_property, #revalidate, #upper_layers, #validate

Methods included from Common

#connect

Constructor Details

#initialize(elements, token_range) ⇒ Root

Returns a new instance of Root.



10
11
12
13
# File 'lib/systemrdl/evaluator/root.rb', line 10

def initialize(elements, token_range)
  super(Value.new(:root, nil, nil, nil), elements, nil, token_range)
  connect(nil, nil)
end

Instance Method Details

#evaluate(instance, **optargs) ⇒ Object



15
16
17
18
19
20
# File 'lib/systemrdl/evaluator/root.rb', line 15

def evaluate(instance, **optargs)
  inherit(instance) if instance&.root?
  root = create_instance(nil, :root, nil, nil, nil, **optargs)
  root.finalize
  root
end

#layerObject



6
7
8
# File 'lib/systemrdl/evaluator/root.rb', line 6

def layer
  :root
end