Class: AdLint::Cc1::MemoryWindow

Inherits:
MemoryBlock show all
Extended by:
Pluggable
Defined in:
lib/adlint/cc1/object.rb

Direct Known Subclasses

UnmappedMemoryWindow

Instance Attribute Summary

Attributes inherited from MemoryBlock

#windows

Attributes inherited from Memory

#address, #byte_size

Attributes included from Bindable

#binding

Instance Method Summary collapse

Methods included from Pluggable

def_plugin

Methods inherited from MemoryBlock

#_orig_write, #create_unmapped_window, #create_window

Methods inherited from Memory

#read

Methods included from Bindable

#be_alias_to, #bind_to

Constructor Details

#initialize(owner, addr, byte_size) ⇒ MemoryWindow



1256
1257
1258
1259
# File 'lib/adlint/cc1/object.rb', line 1256

def initialize(owner, addr, byte_size)
  super(addr, byte_size)
  @owner = owner
end

Instance Method Details

#_cascade_update(src, br) ⇒ Object



1278
1279
1280
# File 'lib/adlint/cc1/object.rb', line 1278

def _cascade_update(src, br)
  on_written.invoke(self, src, br)
end

#dynamic?Boolean



1269
1270
1271
# File 'lib/adlint/cc1/object.rb', line 1269

def dynamic?
  @owner.dynamic?
end

#static?Boolean



1265
1266
1267
# File 'lib/adlint/cc1/object.rb', line 1265

def static?
  @owner.static?
end

#write(val, src, br, cascade = true) ⇒ Object



1273
1274
1275
1276
# File 'lib/adlint/cc1/object.rb', line 1273

def write(val, src, br, cascade = true)
  super(val, src, br)
  _cascade_update(src, br) if cascade
end