Beispiel #1
0
        private static LineNumberTableEntry[] ReadLineNumberTableEntrys(this ClassReader reader)
        {
            var count  = reader.ReadU2();
            var tables = new LineNumberTableEntry[count];

            for (var i = 0; i < tables.Length; i++)
            {
                tables[i] = new LineNumberTableEntry()
                {
                    StartPc    = reader.ReadU2(),
                    LineNumber = reader.ReadU2()
                };
            }
            return(tables);
        }
        public override CompileAttribute Read(EndianBinaryReader reader, List<CompileConstant> constants, int length)
        {
            LineNumbers = new List<LineNumberTableEntry>();

            short lineCount = reader.ReadInt16();
            for (int i = 0; i < lineCount; i++)
            {
                var line = new LineNumberTableEntry();

                line.StartPC = reader.ReadInt16();
                line.LineNumber = reader.ReadInt16();

                LineNumbers.Add(line);
            }

            return this;
        }