class PageTable

Public Class Methods

new(template, data_manager) click to toggle source
# File template.rb, line 1469
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 1490
def align(value)

  @data_manager.align value

end
global_label(id) click to toggle source
# File template.rb, line 1498
def global_label(id)

  @data_manager.global_label id

end
label(id) click to toggle source
# File template.rb, line 1494
def label(id)

  @data_manager.label id

end
memory_object(attrs) click to toggle source
# File template.rb, line 1502
def memory_object(attrs)

  @template.memory_object attrs

end
org(address) click to toggle source
# File template.rb, line 1486
def org(address)

  @data_manager.org address

end
page_table_adapter(&contents) click to toggle source
# File template.rb, line 1482
def page_table_adapter(&contents)

  @adapter = contents

end
page_table_entry(attrs) click to toggle source
# File template.rb, line 1506
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 1478
def page_table_preparator(&contents)

  @preparator = contents

end
text(value) click to toggle source
# File template.rb, line 1474
def text(value)

  @data_manager.text value

end