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

Returns a new instance of MemoryWindow.



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

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

Instance Method Details

#_cascade_update(src, br) ⇒ Object



1287
1288
1289
# File 'lib/adlint/cc1/object.rb', line 1287

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

#dynamic?Boolean

Returns:

  • (Boolean)


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

def dynamic?
  @owner.dynamic?
end

#static?Boolean

Returns:

  • (Boolean)


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

def static?
  @owner.static?
end

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



1282
1283
1284
1285
# File 'lib/adlint/cc1/object.rb', line 1282

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