Class StructuredLineNumberInfo


  • public class StructuredLineNumberInfo
    extends LineNumberInfo
    Line number info with extra information for lines that came from a different source than the current method (e.g. inlined from a different method). Tracking this information is necessary for printing a correct mapping file.

    The structured line number info contains:

    • Source string indicating the originating class/method of the line.
    • Optional start/end line number indicating the original line numbers for a block of inlined instructions.
    • A list of origins, indicating the transformations these lines underwent, e.g. multiple levels of inlining
    • A block ID, that identifies a group of lines that belongs to a singular block.

    Since these transformations operate on blocks of lines, and the mapping file identifies blocks rather than singular lines, StructuredLineNumberInfo objects are generated through a StructuredLineNumberInfo.Block object, which is a factory object that generates StructuredLineNumberInfos with consistent block IDs.