package org.jerlang.stdlib.beam_lib; /** * This class represents a BEAM file. */ public class BeamData { private final AbstractSyntaxTreeChunk abstractSyntaxTreeChunk; private final AtomChunk atomChunk; private final AttributeChunk attributeChunk; private final CodeChunk codeChunk; private final CompileInfoChunk compileInfoChunk; private final ExportTableChunk exportTableChunk; private final FunctionTableChunk functionTableChunk; private final ImportTableChunk importTableChunk; private final LineTableChunk lineTableChunk; private final LiteralTableChunk literalTableChunk; private final LocalFunctionTableChunk localFunctionTableChunk; private final StringTableChunk stringTableChunk; public BeamData( AbstractSyntaxTreeChunk abstractSyntaxTreeChunk, AtomChunk atomChunk, AttributeChunk attributeChunk, CodeChunk codeChunk, CompileInfoChunk compileInfoChunk, ExportTableChunk exportTableChunk, FunctionTableChunk functionTableChunk, ImportTableChunk importTableChunk, LineTableChunk lineTableChunk, LiteralTableChunk literalTableChunk, LocalFunctionTableChunk localFunctionTableChunk, StringTableChunk stringTableChunk) { this.abstractSyntaxTreeChunk = abstractSyntaxTreeChunk; this.atomChunk = atomChunk; this.attributeChunk = attributeChunk; this.codeChunk = codeChunk; this.compileInfoChunk = compileInfoChunk; this.exportTableChunk = exportTableChunk; this.functionTableChunk = functionTableChunk; this.importTableChunk = importTableChunk; this.lineTableChunk = lineTableChunk; this.literalTableChunk = literalTableChunk; this.localFunctionTableChunk = localFunctionTableChunk; this.stringTableChunk = stringTableChunk; } public AbstractSyntaxTreeChunk abstractSyntaxTreeChunk() { return abstractSyntaxTreeChunk; } public AtomChunk atomChunk() { return atomChunk; } public AttributeChunk attributeChunk() { return attributeChunk; } public CodeChunk codeChunk() { return codeChunk; } public CompileInfoChunk compileInfoChunk() { return compileInfoChunk; } public ExportTableChunk exportTableChunk() { return exportTableChunk; } public FunctionTableChunk functionTableChunk() { return functionTableChunk; } public ImportTableChunk importTableChunk() { return importTableChunk; } public LineTableChunk lineTableChunk() { return lineTableChunk; } public LiteralTableChunk literalTableChunk() { return literalTableChunk; } public LocalFunctionTableChunk localFunctionTableChunk() { return localFunctionTableChunk; } public StringTableChunk stringTableChunk() { return stringTableChunk; } @Override public String toString() { StringBuilder stringBuilder = new StringBuilder() .append("{beam_data, [\n") .append(" ").append(abstractSyntaxTreeChunk).append('\n') .append(" ").append(atomChunk).append('\n') .append(" ").append(attributeChunk).append('\n') .append(" ").append(codeChunk).append('\n') .append(" ").append(compileInfoChunk).append('\n') .append(" ").append(exportTableChunk).append('\n') .append(" ").append(functionTableChunk).append('\n') .append(" ").append(importTableChunk).append('\n') .append(" ").append(lineTableChunk).append('\n') .append(" ").append(literalTableChunk).append('\n') .append(" ").append(localFunctionTableChunk).append('\n') .append(" ").append(stringTableChunk).append('\n') .append(" ]}"); return stringBuilder.toString(); } }