class PageTable

Public Class Methods

new(template, data_manager) click to toggle source
# File template.rb, line 1426
def initialize(template, data_manager)
  @template = template
  @data_manager = data_manager
end

Public Instance Methods

align(value) click to toggle source
# File template.rb, line 1447
def align(value)
  @data_manager.align value
end
global_label(id) click to toggle source
# File template.rb, line 1455
def global_label(id)
  @data_manager.global_label id
end
label(id) click to toggle source
# File template.rb, line 1451
def label(id)
  @data_manager.label id
end
memory_object(attrs) click to toggle source
# File template.rb, line 1459
def memory_object(attrs)
  @template.memory_object attrs
end
org(address) click to toggle source
# File template.rb, line 1443
def org(address)
  @data_manager.org address
end
page_table_adapter(&contents) click to toggle source
# File template.rb, line 1439
def page_table_adapter(&contents)
  @adapter = contents
end
page_table_entry(attrs) click to toggle source
# File template.rb, line 1463
def page_table_entry(attrs)
  java_import Java::Ru.ispras.microtesk.test.template::MemoryObject

  if attrs.is_a?(Hash)
    unless defined? @preparator
      raise "page_table_preparator is not defined"
    end

    prep = @preparator
    @data_manager.instance_exec(Entry.new(attrs), &prep)
  elsif attrs.is_a?(MemoryObject)
    unless defined? @adapter
      raise "page_table_adapter is not defined"
    end
    @adapter.call attrs
  else
    raise "Unsupported class of page_table_entry argument: #{attrs.class}"
  end
end
page_table_preparator(&contents) click to toggle source
# File template.rb, line 1435
def page_table_preparator(&contents)
  @preparator = contents
end
text(value) click to toggle source
# File template.rb, line 1431
def text(value)
  @data_manager.text value
end