class PageTable

Public Class Methods

new(template, data_manager) click to toggle source
# File template.rb, line 1308
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 1329
def align(value)
  @data_manager.align value
end
label(id) click to toggle source
# File template.rb, line 1333
def label(id)
  @data_manager.label id
end
memory_object(attrs) click to toggle source
# File template.rb, line 1337
def memory_object(attrs)
  @template.memory_object attrs
end
org(address) click to toggle source
# File template.rb, line 1325
def org(address)
  @data_manager.org address
end
page_table_adapter(&contents) click to toggle source
# File template.rb, line 1321
def page_table_adapter(&contents)
  @adapter = contents
end
page_table_entry(attrs) click to toggle source
# File template.rb, line 1341
def page_table_entry(attrs)
  java_import Java::Ru.ispras.microtesk.test.template::MemoryObject

  if attrs.is_a?(Hash)
    unless defined? @preparator
      raise MTRubyError, "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 MTRubyError, "page_table_adapter is not defined."
    end
    @adapter.call attrs
  else
    raise MTRubyError,
      "Unsupported class of page_table_entry argument: #{attrs.class}"
  end
end
page_table_preparator(&contents) click to toggle source
# File template.rb, line 1317
def page_table_preparator(&contents)
  @preparator = contents
end
text(value) click to toggle source
# File template.rb, line 1313
def text(value)
  @data_manager.text value
end