cmsx.object Namespace

Classes

public class BinaryFile
public class BinaryFileFormatter
public class ClassIdMap
public class CleanupBlock
public class CleanupDispatchBlock
public class CodeSection
public class CopyRange
public class DataSection
public class DebugSection
public abstract class DispatchBlock
public class DispatchTableEntry
public class ExceptionBlock
public class ExecutableFile
public class ExecutableFileHeaderSection
public class FunctionExceptionData
public class FunctionInfo
public class FunctionTableEntry
public class HandlerBlock
public class LibraryFile
public class LibraryFileHeaderSection
public class LineInfo
public class LineNumberTableEntry
public class LineNumberTableLimits
public class LinkAbsoluteAddressCommand
public class LinkClsIdCommand
public abstract class LinkCommand
public class LinkFarOctaCommand
public class LinkOnceCommand
public class LinkSection
public class LinkTable
public class ObjectFile
public class ObjectFileHeaderSection
public class Section
public class Symbol
public class SymbolSection
public class SymbolTable
public class TryBlock
public class Value

Functions

public String<char> DebugRecordCodeStr(DebugRecordCode debugRecordCode)
public String<char> ExecutableFileVersionStr()
public List<DispatchTableEntry> InsertIntoDispatchTable(const List<DispatchTableEntry>& dispatchTable, const DispatchTableEntry& entry, Section* dataSection)
public String<char> LibraryFileVersionStr()
public void Link(ExecutableFile& executable, List<UniquePtr<BinaryFile>>& binaryFiles, const ClassIdMap& classIdMap, bool removeUnusedCode, bool debug)
public String<char> LinkCodeStr(LinkCode linkCode)
public void LinkInternal(ObjectFile& objectFile)
public void LinkObjectFile(LinkTable& linkTable, ExecutableFile& executable, ObjectFile* objectFile, Section*& prevCodeSection, Section*& prevDataSection, bool removeUnusedCode, bool debug)
public String<char> LinkageStr(Linkage linkage)
public ulong MakeExceptionTable(ExecutableFile& executable, const FunctionExceptionData& functionExceptionData)
public void MakeFuctionTable(ExecutableFile& executable, List<UniquePtr<BinaryFile>>& binaryFiles, const ClassIdMap& classIdMap, bool debug)
public void MarkUsedSymbols(LinkTable& linkTable, ObjectFile* objectFile, bool debug)
public String<char> ObjectFileVersionStr()
public void ProcessDebugSection(ExecutableFile& executable, ObjectFile* objectFile, HashMap<String<char>, ulong, Hasher<String<char>>, EqualTo<String<char>>>& stringAddressMap, List<FunctionTableEntry>& functionTable, HashSet<ulong, Hasher<ulong>, EqualTo<ulong>>& functionAddressSet, const ClassIdMap& classIdMap, bool debug)
public void ProcessLinkSection(LinkTable& linkTable, ExecutableFile& executable, ObjectFile* objectFile, Symbol* forSymbol, bool debug)
public void ProcessSymbols(LinkTable& linkTable, ExecutableFile& executable, ObjectFile* objectFile, bool removeUnusedCode, bool debug)
public void ProcessUsedSymbol(Symbol* symbol, SymbolTable& symbolTable, LinkTable& linkTable, Section* linkSection, bool debug)
public UniquePtr<BinaryFile> ReadBinaryFile(BinaryReader& reader, const String<char>& fileName)
public UniquePtr<BinaryFile> ReadBinaryFile(BinaryReader& reader, const String<char>& fileName, ReadOption readOption)
public UniquePtr<BinaryFile> ReadBinaryFile(const String<char>& fileName)
public String<char> ReadHeaderName(const String<char>& fileName, BinaryReader& reader, int length)
public ulong ReadULong(const String<char>& fileName, BinaryReader& reader)
public String<char> SegmentStr(Segment segment)
public String<char> ValueFlagStr(Flag flags)
public String<char> ValueStr(const Value& value)
public void WriteHeaderName(BinaryWriter& writer, const String<char>& headerName)
public void WriteULong(BinaryWriter& writer, ulong x)
public bool operator<(const DispatchTableEntry& left, const DispatchTableEntry& right)
public bool operator<(const FunctionTableEntry& left, const FunctionTableEntry& right)
public bool operator<(const LineNumberTableEntry& left, const LineNumberTableEntry& right)
public bool operator==(const DispatchTableEntry& left, const DispatchTableEntry& right)
public bool operator==(const FunctionTableEntry& left, const FunctionTableEntry& right)
public bool operator==(const LineNumberTableEntry& left, const LineNumberTableEntry& right)

Enumerated Types

public enum DebugRecordCode
public enum LinkCode
public enum Linkage
public enum ReadOption
public enum Segment

Constants

public const ulong cleanupBlockDiscriminator = 2u
public const char currentExecutableFileVersion = executableFileVersion_3
public const char currentLibraryFileVersion = libraryFileVersion_3
public const char currentObjectFileVersion = objectFileVersion_3
public const ulong endBlockDiscriminator = 0u
public const char executableFileVersion_1 = '1'
public const char executableFileVersion_2 = '2'
public const char executableFileVersion_3 = '3'
public const ulong fileBlockSize = 4096u
public const ulong handlerBlockDiscriminator = 1u
public const char libraryFileVersion_1 = '1'
public const char libraryFileVersion_2 = '2'
public const char libraryFileVersion_3 = '3'
public const int maxDebugCodeStrLength = 12
public const int maxLinkCodeStrLength = 17
public const char objectFileVersion_1 = '1'
public const char objectFileVersion_2 = '2'
public const char objectFileVersion_3 = '3'
public const ulong undefinedValue = cast

Function Details

DebugRecordCodeStr Function

public String<char> DebugRecordCodeStr(DebugRecordCode debugRecordCode)

Definition
Line 13 of cmsxo/Debug.cm


ExecutableFileVersionStr Function

public String<char> ExecutableFileVersionStr()

Definition
Line 34 of cmsxo/BinaryFile.cm


InsertIntoDispatchTable Function

public List<DispatchTableEntry> InsertIntoDispatchTable(const List<DispatchTableEntry>& dispatchTable, const DispatchTableEntry& entry, Section* dataSection)

Definition
Line 809 of cmsxo/Link.cm


LibraryFileVersionStr Function

public String<char> LibraryFileVersionStr()

Definition
Line 29 of cmsxo/BinaryFile.cm


public void Link(ExecutableFile& executable, List<UniquePtr<BinaryFile>>& binaryFiles, const ClassIdMap& classIdMap, bool removeUnusedCode, bool debug)

Definition
Line 1272 of cmsxo/Link.cm


LinkCodeStr Function

public String<char> LinkCodeStr(LinkCode linkCode)

Definition
Line 13 of cmsxo/Link.cm


LinkInternal Function

public void LinkInternal(ObjectFile& objectFile)

Definition
Line 285 of cmsxo/Link.cm


LinkObjectFile Function

public void LinkObjectFile(LinkTable& linkTable, ExecutableFile& executable, ObjectFile* objectFile, Section*& prevCodeSection, Section*& prevDataSection, bool removeUnusedCode, bool debug)

Definition
Line 653 of cmsxo/Link.cm


LinkageStr Function

public String<char> LinkageStr(Linkage linkage)

Definition
Line 30 of cmsxo/Symbol.cm


MakeExceptionTable Function

public ulong MakeExceptionTable(ExecutableFile& executable, const FunctionExceptionData& functionExceptionData)

Definition
Line 874 of cmsxo/Link.cm


MakeFuctionTable Function

public void MakeFuctionTable(ExecutableFile& executable, List<UniquePtr<BinaryFile>>& binaryFiles, const ClassIdMap& classIdMap, bool debug)

Definition
Line 1211 of cmsxo/Link.cm


MarkUsedSymbols Function

public void MarkUsedSymbols(LinkTable& linkTable, ObjectFile* objectFile, bool debug)

Definition
Line 781 of cmsxo/Link.cm


ObjectFileVersionStr Function

public String<char> ObjectFileVersionStr()

Definition
Line 24 of cmsxo/BinaryFile.cm


ProcessDebugSection Function

public void ProcessDebugSection(ExecutableFile& executable, ObjectFile* objectFile, HashMap<String<char>, ulong, Hasher<String<char>>, EqualTo<String<char>>>& stringAddressMap, List<FunctionTableEntry>& functionTable, HashSet<ulong, Hasher<ulong>, EqualTo<ulong>>& functionAddressSet, const ClassIdMap& classIdMap, bool debug)

Definition
Line 935 of cmsxo/Link.cm


public void ProcessLinkSection(LinkTable& linkTable, ExecutableFile& executable, ObjectFile* objectFile, Symbol* forSymbol, bool debug)

Definition
Line 556 of cmsxo/Link.cm


ProcessSymbols Function

public void ProcessSymbols(LinkTable& linkTable, ExecutableFile& executable, ObjectFile* objectFile, bool removeUnusedCode, bool debug)

Definition
Line 371 of cmsxo/Link.cm


ProcessUsedSymbol Function

public void ProcessUsedSymbol(Symbol* symbol, SymbolTable& symbolTable, LinkTable& linkTable, Section* linkSection, bool debug)

Definition
Line 705 of cmsxo/Link.cm


ReadBinaryFile Function

public UniquePtr<BinaryFile> ReadBinaryFile(BinaryReader& reader, const String<char>& fileName)

Definition
Line 165 of cmsxo/BinaryFile.cm


ReadBinaryFile Function

public UniquePtr<BinaryFile> ReadBinaryFile(BinaryReader& reader, const String<char>& fileName, ReadOption readOption)

Definition
Line 112 of cmsxo/BinaryFile.cm


ReadBinaryFile Function

public UniquePtr<BinaryFile> ReadBinaryFile(const String<char>& fileName)

Definition
Line 170 of cmsxo/BinaryFile.cm


ReadHeaderName Function

public String<char> ReadHeaderName(const String<char>& fileName, BinaryReader& reader, int length)

Definition
Line 39 of cmsxo/BinaryFile.cm


ReadULong Function

public ulong ReadULong(const String<char>& fileName, BinaryReader& reader)

Definition
Line 62 of cmsxo/BinaryFile.cm


SegmentStr Function

public String<char> SegmentStr(Segment segment)

Definition
Line 13 of cmsxo/Symbol.cm


ValueFlagStr Function

public String<char> ValueFlagStr(Flag flags)

Definition
Line 43 of cmsxo/Symbol.cm


ValueStr Function

public String<char> ValueStr(const Value& value)

Definition
Line 137 of cmsxo/Symbol.cm


WriteHeaderName Function

public void WriteHeaderName(BinaryWriter& writer, const String<char>& headerName)

Definition
Line 54 of cmsxo/BinaryFile.cm


WriteULong Function

public void WriteULong(BinaryWriter& writer, ulong x)

Definition
Line 79 of cmsxo/BinaryFile.cm


operator< Function

public bool operator<(const DispatchTableEntry& left, const DispatchTableEntry& right)

Definition
Line 153 of cmsxo/Debug.cm


operator< Function

public bool operator<(const FunctionTableEntry& left, const FunctionTableEntry& right)

Definition
Line 75 of cmsxo/Debug.cm


operator< Function

public bool operator<(const LineNumberTableEntry& left, const LineNumberTableEntry& right)

Definition
Line 100 of cmsxo/Debug.cm


operator== Function

public bool operator==(const DispatchTableEntry& left, const DispatchTableEntry& right)

Definition
Line 148 of cmsxo/Debug.cm


operator== Function

public bool operator==(const FunctionTableEntry& left, const FunctionTableEntry& right)

Definition
Line 70 of cmsxo/Debug.cm


operator== Function

public bool operator==(const LineNumberTableEntry& left, const LineNumberTableEntry& right)

Definition
Line 95 of cmsxo/Debug.cm