package org.jerlang.stdlib.beam_lib; import org.jerlang.type.Str; public class LineTableChunk extends Chunk { private int version; private int flags; private int count; private Str[] fnames; private LineRecord[] records; public LineTableChunk( Chunk chunk, int version, int flags, int count, int records, int fnames) { super(ChunkId.LINE, chunk); this.version = version; this.flags = flags; this.count = count; this.records = new LineRecord[records]; this.fnames = new Str[fnames]; } public int count() { return count; } public int flags() { return flags; } public Str[] fnames() { return fnames; } public LineRecord[] records() { return records; } public int version() { return version; } @Override public String toString() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("{lines,[\n "); stringBuilder.append("{records,[\n "); for (LineRecord lineRecord : records) { stringBuilder.append(lineRecord).append(",\n "); } if (records.length > 0) { stringBuilder.setLength(stringBuilder.length() - 8); } stringBuilder.append("]},\n "); if (fnames.length == 0) { stringBuilder.append("{filenames,[]}"); } else { stringBuilder.append("{filenames,[\n "); for (Str filename : fnames) { stringBuilder.append(filename).append(",\n "); } if (fnames.length > 0) { stringBuilder.setLength(stringBuilder.length() - 6); } stringBuilder.append("]}"); } stringBuilder.append("]}"); return stringBuilder.toString(); } }