module RgGen::Core::Base::ComponentLayerExtension::RegisterFile

Public Instance Methods

bit_fields() click to toggle source
# File lib/rggen/core/base/component_layer_extension.rb, line 122
def bit_fields
  registers.flat_map(&:bit_fields)
end
block_or_file() click to toggle source
# File lib/rggen/core/base/component_layer_extension.rb, line 90
def block_or_file
  parent
end
files_and_registers() click to toggle source
# File lib/rggen/core/base/component_layer_extension.rb, line 102
def files_and_registers
  children
end
register_block() click to toggle source
# File lib/rggen/core/base/component_layer_extension.rb, line 94
def register_block
  parent.register_block? && parent || parent.register_block
end
register_file() click to toggle source
# File lib/rggen/core/base/component_layer_extension.rb, line 98
def register_file
  parent.register_file? && parent || nil
end
register_files(include_lower_layer = true) click to toggle source
# File lib/rggen/core/base/component_layer_extension.rb, line 106
def register_files(include_lower_layer = true)
  files_and_registers
    .select(&:register_file?)
    .flat_map { |rf| [rf, *(include_lower_layer ? rf : nil)&.register_files] }
end
registers(include_lower_layer = true) click to toggle source
# File lib/rggen/core/base/component_layer_extension.rb, line 112
def registers(include_lower_layer = true)
  files_and_registers.flat_map do |file_or_register|
    if file_or_register.register?
      file_or_register
    else
      [*(include_lower_layer ? file_or_register : nil)&.registers]
    end
  end
end
root() click to toggle source
# File lib/rggen/core/base/component_layer_extension.rb, line 86
def root
  register_block.root
end