WasmModuleInfo
Namespace: Dotsider.Core.Analysis.Models
Assembly: Dotsider.Core.dll
Parsed facts for a WebAssembly module, including its functions and optional .NET symbol map.
public sealed record WasmModuleInfo : IEquatable<WasmModuleInfo>Inheritance
Section titled “Inheritance”Object → WasmModuleInfo
Implements
Section titled “Implements”Constructors
Section titled “Constructors”WasmModuleInfo(int, IReadOnlyList<WasmSectionInfo>, IReadOnlyList<WasmTypeInfo>, IReadOnlyList<WasmImportInfo>, IReadOnlyList<WasmExportInfo>, IReadOnlyList<WasmFunctionInfo>, IReadOnlyList<WasmTableInfo>, IReadOnlyList<WasmMemoryInfo>, IReadOnlyList<WasmGlobalInfo>, IReadOnlyList<WasmElementSegmentInfo>, IReadOnlyList<WasmDataSegmentInfo>, IReadOnlyList<WasmTagInfo>, int?, int?, IReadOnlyList<string>, IReadOnlyList<string>, string?, WasmSymbolMapStatus, int, string?)
Section titled “WasmModuleInfo(int, IReadOnlyList<WasmSectionInfo>, IReadOnlyList<WasmTypeInfo>, IReadOnlyList<WasmImportInfo>, IReadOnlyList<WasmExportInfo>, IReadOnlyList<WasmFunctionInfo>, IReadOnlyList<WasmTableInfo>, IReadOnlyList<WasmMemoryInfo>, IReadOnlyList<WasmGlobalInfo>, IReadOnlyList<WasmElementSegmentInfo>, IReadOnlyList<WasmDataSegmentInfo>, IReadOnlyList<WasmTagInfo>, int?, int?, IReadOnlyList<string>, IReadOnlyList<string>, string?, WasmSymbolMapStatus, int, string?)”Parsed facts for a WebAssembly module, including its functions and optional .NET symbol map.
Parameters:
Version(Int32): The WebAssembly binary version.Sections(IReadOnlyList<WasmSectionInfo>): The section table in file order.Types(IReadOnlyList<WasmTypeInfo>): The parsed function type entries.Imports(IReadOnlyList<WasmImportInfo>): The parsed import entries.Exports(IReadOnlyList<WasmExportInfo>): The parsed export entries.Functions(IReadOnlyList<WasmFunctionInfo>): Imported and defined functions in function-index order.Tables(IReadOnlyList<WasmTableInfo>): The parsed table declarations.Memories(IReadOnlyList<WasmMemoryInfo>): The parsed memory declarations.Globals(IReadOnlyList<WasmGlobalInfo>): The parsed global declarations.Elements(IReadOnlyList<WasmElementSegmentInfo>): The parsed element segments.DataSegments(IReadOnlyList<WasmDataSegmentInfo>): The parsed data segments.Tags(IReadOnlyList<WasmTagInfo>): The parsed exception tag declarations.StartFunctionIndex(Nullable<Int32>): The start function index, when present.DataCount(Nullable<Int32>): The data-count section value, when present.TargetFeatures(IReadOnlyList<String>): Feature names from thetarget_featurescustom section.ProducerFields(IReadOnlyList<String>): Producer strings from theproducerscustom section.SymbolMapPath(String): The symbol-map sidecar path, when loaded.SymbolMapStatus(WasmSymbolMapStatus): The symbol-map probe outcome.SymbolMapEntryCount(Int32): The number of parsed sidecar entries.Diagnostic(String): The reason standard-section parsing stopped after the safely decoded prefix, or null when all standard sections were decoded.
public WasmModuleInfo(int Version, IReadOnlyList<WasmSectionInfo> Sections, IReadOnlyList<WasmTypeInfo> Types, IReadOnlyList<WasmImportInfo> Imports, IReadOnlyList<WasmExportInfo> Exports, IReadOnlyList<WasmFunctionInfo> Functions, IReadOnlyList<WasmTableInfo> Tables, IReadOnlyList<WasmMemoryInfo> Memories, IReadOnlyList<WasmGlobalInfo> Globals, IReadOnlyList<WasmElementSegmentInfo> Elements, IReadOnlyList<WasmDataSegmentInfo> DataSegments, IReadOnlyList<WasmTagInfo> Tags, int? StartFunctionIndex, int? DataCount, IReadOnlyList<string> TargetFeatures, IReadOnlyList<string> ProducerFields, string? SymbolMapPath, WasmSymbolMapStatus SymbolMapStatus, int SymbolMapEntryCount, string? Diagnostic)Properties
Section titled “Properties”CodeSize
Section titled “CodeSize”The total byte count of all defined function instruction streams.
Returns: Int64
public long CodeSize { get; }DataCount
Section titled “DataCount”The data-count section value, when present.
Returns: Nullable<Int32>
public int? DataCount { get; init; }DataSegments
Section titled “DataSegments”The parsed data segments.
Returns: IReadOnlyList<WasmDataSegmentInfo>
public IReadOnlyList<WasmDataSegmentInfo> DataSegments { get; init; }DataSize
Section titled “DataSize”The total byte count of all data segments.
Returns: Int64
public long DataSize { get; }DefinedFunctionCount
Section titled “DefinedFunctionCount”The number of defined functions with code bodies in the module.
Returns: Int32
public int DefinedFunctionCount { get; }Diagnostic
Section titled “Diagnostic”The reason standard-section parsing stopped after the safely decoded prefix, or null when all standard sections were decoded.
Returns: String
public string? Diagnostic { get; init; }Elements
Section titled “Elements”The parsed element segments.
Returns: IReadOnlyList<WasmElementSegmentInfo>
public IReadOnlyList<WasmElementSegmentInfo> Elements { get; init; }Exports
Section titled “Exports”The parsed export entries.
Returns: IReadOnlyList<WasmExportInfo>
public IReadOnlyList<WasmExportInfo> Exports { get; init; }Functions
Section titled “Functions”Imported and defined functions in function-index order.
Returns: IReadOnlyList<WasmFunctionInfo>
public IReadOnlyList<WasmFunctionInfo> Functions { get; init; }Globals
Section titled “Globals”The parsed global declarations.
Returns: IReadOnlyList<WasmGlobalInfo>
public IReadOnlyList<WasmGlobalInfo> Globals { get; init; }ImportedFunctionCount
Section titled “ImportedFunctionCount”The number of imported functions in the module.
Returns: Int32
public int ImportedFunctionCount { get; }Imports
Section titled “Imports”The parsed import entries.
Returns: IReadOnlyList<WasmImportInfo>
public IReadOnlyList<WasmImportInfo> Imports { get; init; }Memories
Section titled “Memories”The parsed memory declarations.
Returns: IReadOnlyList<WasmMemoryInfo>
public IReadOnlyList<WasmMemoryInfo> Memories { get; init; }ProducerFields
Section titled “ProducerFields”Producer strings from the producers custom section.
Returns: IReadOnlyList<String>
public IReadOnlyList<string> ProducerFields { get; init; }Sections
Section titled “Sections”The section table in file order.
Returns: IReadOnlyList<WasmSectionInfo>
public IReadOnlyList<WasmSectionInfo> Sections { get; init; }StartFunctionIndex
Section titled “StartFunctionIndex”The start function index, when present.
Returns: Nullable<Int32>
public int? StartFunctionIndex { get; init; }SymbolMapEntryCount
Section titled “SymbolMapEntryCount”The number of parsed sidecar entries.
Returns: Int32
public int SymbolMapEntryCount { get; init; }SymbolMapPath
Section titled “SymbolMapPath”The symbol-map sidecar path, when loaded.
Returns: String
public string? SymbolMapPath { get; init; }SymbolMapStatus
Section titled “SymbolMapStatus”The symbol-map probe outcome.
Returns: WasmSymbolMapStatus
public WasmSymbolMapStatus SymbolMapStatus { get; init; }Tables
Section titled “Tables”The parsed table declarations.
Returns: IReadOnlyList<WasmTableInfo>
public IReadOnlyList<WasmTableInfo> Tables { get; init; }The parsed exception tag declarations.
Returns: IReadOnlyList<WasmTagInfo>
public IReadOnlyList<WasmTagInfo> Tags { get; init; }TargetFeatures
Section titled “TargetFeatures”Feature names from the target_features custom section.
Returns: IReadOnlyList<String>
public IReadOnlyList<string> TargetFeatures { get; init; }The parsed function type entries.
Returns: IReadOnlyList<WasmTypeInfo>
public IReadOnlyList<WasmTypeInfo> Types { get; init; }Version
Section titled “Version”The WebAssembly binary version.
Returns: Int32
public int Version { get; init; }Methods
Section titled “Methods”Deconstruct(out int, out IReadOnlyList<WasmSectionInfo>, out IReadOnlyList<WasmTypeInfo>, out IReadOnlyList<WasmImportInfo>, out IReadOnlyList<WasmExportInfo>, out IReadOnlyList<WasmFunctionInfo>, out IReadOnlyList<WasmTableInfo>, out IReadOnlyList<WasmMemoryInfo>, out IReadOnlyList<WasmGlobalInfo>, out IReadOnlyList<WasmElementSegmentInfo>, out IReadOnlyList<WasmDataSegmentInfo>, out IReadOnlyList<WasmTagInfo>, out int?, out int?, out IReadOnlyList<string>, out IReadOnlyList<string>, out string?, out WasmSymbolMapStatus, out int, out string?)
Section titled “Deconstruct(out int, out IReadOnlyList<WasmSectionInfo>, out IReadOnlyList<WasmTypeInfo>, out IReadOnlyList<WasmImportInfo>, out IReadOnlyList<WasmExportInfo>, out IReadOnlyList<WasmFunctionInfo>, out IReadOnlyList<WasmTableInfo>, out IReadOnlyList<WasmMemoryInfo>, out IReadOnlyList<WasmGlobalInfo>, out IReadOnlyList<WasmElementSegmentInfo>, out IReadOnlyList<WasmDataSegmentInfo>, out IReadOnlyList<WasmTagInfo>, out int?, out int?, out IReadOnlyList<string>, out IReadOnlyList<string>, out string?, out WasmSymbolMapStatus, out int, out string?)”Parameters:
Version(Int32)Sections(IReadOnlyList<WasmSectionInfo>)Types(IReadOnlyList<WasmTypeInfo>)Imports(IReadOnlyList<WasmImportInfo>)Exports(IReadOnlyList<WasmExportInfo>)Functions(IReadOnlyList<WasmFunctionInfo>)Tables(IReadOnlyList<WasmTableInfo>)Memories(IReadOnlyList<WasmMemoryInfo>)Globals(IReadOnlyList<WasmGlobalInfo>)Elements(IReadOnlyList<WasmElementSegmentInfo>)DataSegments(IReadOnlyList<WasmDataSegmentInfo>)Tags(IReadOnlyList<WasmTagInfo>)StartFunctionIndex(Nullable<Int32>)DataCount(Nullable<Int32>)TargetFeatures(IReadOnlyList<String>)ProducerFields(IReadOnlyList<String>)SymbolMapPath(String)SymbolMapStatus(WasmSymbolMapStatus)SymbolMapEntryCount(Int32)Diagnostic(String)
public void Deconstruct(out int Version, out IReadOnlyList<WasmSectionInfo> Sections, out IReadOnlyList<WasmTypeInfo> Types, out IReadOnlyList<WasmImportInfo> Imports, out IReadOnlyList<WasmExportInfo> Exports, out IReadOnlyList<WasmFunctionInfo> Functions, out IReadOnlyList<WasmTableInfo> Tables, out IReadOnlyList<WasmMemoryInfo> Memories, out IReadOnlyList<WasmGlobalInfo> Globals, out IReadOnlyList<WasmElementSegmentInfo> Elements, out IReadOnlyList<WasmDataSegmentInfo> DataSegments, out IReadOnlyList<WasmTagInfo> Tags, out int? StartFunctionIndex, out int? DataCount, out IReadOnlyList<string> TargetFeatures, out IReadOnlyList<string> ProducerFields, out string? SymbolMapPath, out WasmSymbolMapStatus SymbolMapStatus, out int SymbolMapEntryCount, out string? Diagnostic)Equals(object?)
Section titled “Equals(object?)”Parameters:
obj(Object)
Returns: Boolean
public override bool Equals(object? obj)Equals(WasmModuleInfo?)
Section titled “Equals(WasmModuleInfo?)”Parameters:
other(WasmModuleInfo)
Returns: Boolean
public bool Equals(WasmModuleInfo? other)GetHashCode()
Section titled “GetHashCode()”Returns: Int32
public override int GetHashCode()ToString()
Section titled “ToString()”Returns: String
public override string ToString()Members
Section titled “Members”operator !=(WasmModuleInfo?, WasmModuleInfo?)
Section titled “operator !=(WasmModuleInfo?, WasmModuleInfo?)”Parameters:
left(WasmModuleInfo)right(WasmModuleInfo)
Returns: Boolean
public static bool operator !=(WasmModuleInfo? left, WasmModuleInfo? right)operator ==(WasmModuleInfo?, WasmModuleInfo?)
Section titled “operator ==(WasmModuleInfo?, WasmModuleInfo?)”Parameters:
left(WasmModuleInfo)right(WasmModuleInfo)
Returns: Boolean
public static bool operator ==(WasmModuleInfo? left, WasmModuleInfo? right)