A Module object represents a row in the modules view. Two attributes are mandatory: an id identifies a module in the modules view and is used in a ModuleEvent for identifying a module for adding, updating or deleting. The name is used to minimally render the module in the UI.

Additional attributes can be added to the module. They will show up in the module View if they have a corresponding ColumnDescriptor.

To avoid an unnecessary proliferation of additional attributes with similar semantics but different names we recommend to re-use attributes from the 'recommended' list below first, and only introduce new attributes if nothing appropriate could be found.

Fields

@:optionaloptionalversion:Null<String>

Version of Module.

@:optionaloptionalsymbolStatus:Null<String>

User understandable description of if symbols were found for the module (ex: 'Symbols Loaded', 'Symbols not found', etc.

@:optionaloptionalsymbolFilePath:Null<String>

Logical full path to the symbol file. The exact definition is implementation defined.

@:optionaloptionalpath:Null<String>

Logical full path to the module. The exact definition is implementation defined, but usually this would be a full path to the on-disk file for the module.

name:String

A name of the module.

@:optionaloptionalisUserCode:Null<Bool>

True if the module is considered 'user code' by a debugger that supports 'Just My Code'.

@:optionaloptionalisOptimized:Null<Bool>

True if the module is optimized.

id:EitherType<Int, String>

Unique identifier for the module.

@:optionaloptionaldateTimeStamp:Null<String>

Module created or modified.

@:optionaloptionaladdressRange:Null<String>

Address range covered by this module.