mirror of
https://github.com/sirjonasxx/G-Wasm.git
synced 2024-11-22 16:30:51 +01:00
stuff
This commit is contained in:
parent
198cea9968
commit
d0b17c6a5f
@ -1,43 +0,0 @@
|
||||
package disassembly.modules.sections.imprt;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
||||
public class ImportSection extends Section {
|
||||
|
||||
public static final int IMPORT_SECTION_ID = 2;
|
||||
|
||||
private Vector<Import> functionTypes;
|
||||
|
||||
|
||||
public ImportSection(BufferedInputStream in) throws IOException, InvalidOpCodeException {
|
||||
super(in, IMPORT_SECTION_ID);
|
||||
functionTypes = new Vector<>(in, Import::new);
|
||||
}
|
||||
|
||||
public ImportSection(List<Import> functionTypes) {
|
||||
super(IMPORT_SECTION_ID);
|
||||
this.functionTypes = new Vector<>(functionTypes);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void assemble2(OutputStream out) throws IOException, InvalidOpCodeException {
|
||||
functionTypes.assemble(out);
|
||||
}
|
||||
|
||||
public List<Import> getFunctionTypes() {
|
||||
return functionTypes.getElements();
|
||||
}
|
||||
|
||||
public void setFunctionTypes(List<Import> functionTypes) {
|
||||
this.functionTypes = new Vector<>(functionTypes);
|
||||
}
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
package disassembly.values;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
public class WName extends WASMOpCode {
|
||||
|
||||
private String value;
|
||||
|
||||
public WName(BufferedInputStream in) throws IOException, InvalidOpCodeException {
|
||||
long length = WUnsignedInt.read(in, 32);
|
||||
byte[] arr = new byte[(int)length];
|
||||
in.read(arr);
|
||||
value = new String(arr, StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
public WName(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public void assemble(OutputStream out) throws IOException, InvalidOpCodeException {
|
||||
byte[] bytes = value.getBytes(StandardCharsets.UTF_8);
|
||||
WUnsignedInt.write(bytes.length, out, 32);
|
||||
out.write(bytes);
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package disassembly;
|
||||
package wasm.disassembly;
|
||||
|
||||
public class InvalidOpCodeException extends Exception {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package disassembly;
|
||||
package wasm.disassembly;
|
||||
|
||||
import java.io.*;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package disassembly.conventions;
|
||||
package wasm.disassembly.conventions;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
@ -1,10 +1,9 @@
|
||||
package disassembly.conventions;
|
||||
package wasm.disassembly.conventions;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
public interface Creator<B> {
|
||||
|
@ -1,7 +1,7 @@
|
||||
package disassembly.conventions;
|
||||
package wasm.disassembly.conventions;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.conventions;
|
||||
package wasm.disassembly.conventions;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,7 +1,7 @@
|
||||
package disassembly.instructions;
|
||||
package wasm.disassembly.instructions;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,8 @@
|
||||
package disassembly.instructions;
|
||||
package wasm.disassembly.instructions;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
@ -1,13 +1,13 @@
|
||||
package disassembly.instructions;
|
||||
package wasm.disassembly.instructions;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.control.*;
|
||||
import disassembly.instructions.memory.Mem0Instr;
|
||||
import disassembly.instructions.memory.MemInstr;
|
||||
import disassembly.instructions.misc.SingleByteInstr;
|
||||
import disassembly.instructions.numeric.*;
|
||||
import disassembly.instructions.variable.GlobalVariableInstr;
|
||||
import disassembly.instructions.variable.LocalVariableInstr;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.control.*;
|
||||
import wasm.disassembly.instructions.memory.Mem0Instr;
|
||||
import wasm.disassembly.instructions.memory.MemInstr;
|
||||
import wasm.disassembly.instructions.misc.SingleByteInstr;
|
||||
import wasm.disassembly.instructions.numeric.*;
|
||||
import wasm.disassembly.instructions.variable.GlobalVariableInstr;
|
||||
import wasm.disassembly.instructions.variable.LocalVariableInstr;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,6 +1,6 @@
|
||||
package disassembly.instructions;
|
||||
package wasm.disassembly.instructions;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,6 +1,4 @@
|
||||
package disassembly.instructions;
|
||||
|
||||
import disassembly.types.ElemType;
|
||||
package wasm.disassembly.instructions;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
@ -1,10 +1,9 @@
|
||||
package disassembly.instructions.control;
|
||||
package wasm.disassembly.instructions.control;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrFactory;
|
||||
import disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrFactory;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.control;
|
||||
package wasm.disassembly.instructions.control;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.types.ValType;
|
||||
import disassembly.values.WSignedLong;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.types.ValType;
|
||||
import wasm.disassembly.values.WSignedLong;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.control;
|
||||
package wasm.disassembly.instructions.control;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.modules.indices.LabelIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.modules.indices.LabelIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,11 +1,10 @@
|
||||
package disassembly.instructions.control;
|
||||
package wasm.disassembly.instructions.control;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.conventions.Creator;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.modules.indices.LabelIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.modules.indices.LabelIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,10 +1,9 @@
|
||||
package disassembly.instructions.control;
|
||||
package wasm.disassembly.instructions.control;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.modules.indices.FuncIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.modules.indices.FuncIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.control;
|
||||
package wasm.disassembly.instructions.control;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.modules.indices.FuncIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.modules.indices.FuncIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.control;
|
||||
package wasm.disassembly.instructions.control;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrFactory;
|
||||
import disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrFactory;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.instructions.memory;
|
||||
package wasm.disassembly.instructions.memory;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.instructions.memory;
|
||||
package wasm.disassembly.instructions.memory;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.instructions.memory;
|
||||
package wasm.disassembly.instructions.memory;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,7 +1,7 @@
|
||||
package disassembly.instructions.misc;
|
||||
package wasm.disassembly.instructions.misc;
|
||||
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.numeric;
|
||||
package wasm.disassembly.instructions.numeric;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.values.WFloat;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.values.WFloat;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.numeric;
|
||||
package wasm.disassembly.instructions.numeric;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.values.WDouble;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.values.WDouble;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.numeric;
|
||||
package wasm.disassembly.instructions.numeric;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.values.WSignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.values.WSignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.numeric;
|
||||
package wasm.disassembly.instructions.numeric;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.values.WSignedLong;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.values.WSignedLong;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,7 +1,7 @@
|
||||
package disassembly.instructions.numeric;
|
||||
package wasm.disassembly.instructions.numeric;
|
||||
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.numeric;
|
||||
package wasm.disassembly.instructions.numeric;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.variable;
|
||||
package wasm.disassembly.instructions.variable;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.modules.indices.GlobalIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.modules.indices.GlobalIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.instructions.variable;
|
||||
package wasm.disassembly.instructions.variable;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.instructions.Instr;
|
||||
import disassembly.instructions.InstrType;
|
||||
import disassembly.modules.indices.LocalIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.instructions.Instr;
|
||||
import wasm.disassembly.instructions.InstrType;
|
||||
import wasm.disassembly.modules.indices.LocalIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,7 +1,7 @@
|
||||
package disassembly.modules;
|
||||
package wasm.disassembly.modules;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,21 +1,21 @@
|
||||
package disassembly.modules;
|
||||
package wasm.disassembly.modules;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.modules.sections.Section;
|
||||
import disassembly.modules.sections.code.CodeSection;
|
||||
import disassembly.modules.sections.custom.CustomSection;
|
||||
import disassembly.modules.sections.custom.CustomSectionFactory;
|
||||
import disassembly.modules.sections.data.DataSection;
|
||||
import disassembly.modules.sections.element.ElementSection;
|
||||
import disassembly.modules.sections.export.ExportSection;
|
||||
import disassembly.modules.sections.function.FunctionSection;
|
||||
import disassembly.modules.sections.global.GlobalSection;
|
||||
import disassembly.modules.sections.imprt.ImportSection;
|
||||
import disassembly.modules.sections.memory.MemorySection;
|
||||
import disassembly.modules.sections.start.StartSection;
|
||||
import disassembly.modules.sections.table.TableSection;
|
||||
import disassembly.modules.sections.type.TypeSection;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.modules.sections.code.CodeSection;
|
||||
import wasm.disassembly.modules.sections.custom.CustomSection;
|
||||
import wasm.disassembly.modules.sections.custom.CustomSectionFactory;
|
||||
import wasm.disassembly.modules.sections.data.DataSection;
|
||||
import wasm.disassembly.modules.sections.element.ElementSection;
|
||||
import wasm.disassembly.modules.sections.export.ExportSection;
|
||||
import wasm.disassembly.modules.sections.function.FunctionSection;
|
||||
import wasm.disassembly.modules.sections.global.GlobalSection;
|
||||
import wasm.disassembly.modules.sections.imprt.ImportSection;
|
||||
import wasm.disassembly.modules.sections.memory.MemorySection;
|
||||
import wasm.disassembly.modules.sections.start.StartSection;
|
||||
import wasm.disassembly.modules.sections.table.TableSection;
|
||||
import wasm.disassembly.modules.sections.type.TypeSection;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
@ -143,4 +143,117 @@ public class Module extends WASMOpCode {
|
||||
section.assemble(out);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public Magic getMagic() {
|
||||
return magic;
|
||||
}
|
||||
|
||||
public void setMagic(Magic magic) {
|
||||
this.magic = magic;
|
||||
}
|
||||
|
||||
public Version getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(Version version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public TypeSection getTypeSection() {
|
||||
return typeSection;
|
||||
}
|
||||
|
||||
public void setTypeSection(TypeSection typeSection) {
|
||||
this.typeSection = typeSection;
|
||||
}
|
||||
|
||||
public ImportSection getImportSection() {
|
||||
return importSection;
|
||||
}
|
||||
|
||||
public void setImportSection(ImportSection importSection) {
|
||||
this.importSection = importSection;
|
||||
}
|
||||
|
||||
public FunctionSection getFunctionSection() {
|
||||
return functionSection;
|
||||
}
|
||||
|
||||
public void setFunctionSection(FunctionSection functionSection) {
|
||||
this.functionSection = functionSection;
|
||||
}
|
||||
|
||||
public TableSection getTableSection() {
|
||||
return tableSection;
|
||||
}
|
||||
|
||||
public void setTableSection(TableSection tableSection) {
|
||||
this.tableSection = tableSection;
|
||||
}
|
||||
|
||||
public MemorySection getMemorySection() {
|
||||
return memorySection;
|
||||
}
|
||||
|
||||
public void setMemorySection(MemorySection memorySection) {
|
||||
this.memorySection = memorySection;
|
||||
}
|
||||
|
||||
public GlobalSection getGlobalSection() {
|
||||
return globalSection;
|
||||
}
|
||||
|
||||
public void setGlobalSection(GlobalSection globalSection) {
|
||||
this.globalSection = globalSection;
|
||||
}
|
||||
|
||||
public ExportSection getExportSection() {
|
||||
return exportSection;
|
||||
}
|
||||
|
||||
public void setExportSection(ExportSection exportSection) {
|
||||
this.exportSection = exportSection;
|
||||
}
|
||||
|
||||
public StartSection getStartSection() {
|
||||
return startSection;
|
||||
}
|
||||
|
||||
public void setStartSection(StartSection startSection) {
|
||||
this.startSection = startSection;
|
||||
}
|
||||
|
||||
public ElementSection getElementSection() {
|
||||
return elementSection;
|
||||
}
|
||||
|
||||
public void setElementSection(ElementSection elementSection) {
|
||||
this.elementSection = elementSection;
|
||||
}
|
||||
|
||||
public CodeSection getCodeSection() {
|
||||
return codeSection;
|
||||
}
|
||||
|
||||
public void setCodeSection(CodeSection codeSection) {
|
||||
this.codeSection = codeSection;
|
||||
}
|
||||
|
||||
public DataSection getDataSection() {
|
||||
return dataSection;
|
||||
}
|
||||
|
||||
public void setDataSection(DataSection dataSection) {
|
||||
this.dataSection = dataSection;
|
||||
}
|
||||
|
||||
public List<List<CustomSection>> getCustomSectionsList() {
|
||||
return customSectionsList;
|
||||
}
|
||||
|
||||
public void setCustomSectionsList(List<List<CustomSection>> customSectionsList) {
|
||||
this.customSectionsList = customSectionsList;
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package disassembly.modules;
|
||||
package wasm.disassembly.modules;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.indices;
|
||||
package wasm.disassembly.modules.indices;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
@ -10,6 +10,9 @@ import java.io.OutputStream;
|
||||
|
||||
public class FuncIdx extends WASMOpCode {
|
||||
|
||||
|
||||
public static int OFFSET = 0;
|
||||
|
||||
private long x;
|
||||
|
||||
public FuncIdx(BufferedInputStream in) throws IOException, InvalidOpCodeException {
|
||||
@ -17,19 +20,19 @@ public class FuncIdx extends WASMOpCode {
|
||||
}
|
||||
|
||||
public FuncIdx(long x) {
|
||||
this.x = x;
|
||||
this.x = x - OFFSET;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void assemble(OutputStream out) throws IOException, InvalidOpCodeException {
|
||||
WUnsignedInt.write(x, out, 32);
|
||||
WUnsignedInt.write(x + OFFSET, out, 32);
|
||||
}
|
||||
|
||||
public long getX() {
|
||||
return x;
|
||||
return x + OFFSET;
|
||||
}
|
||||
|
||||
public void setX(long x) {
|
||||
this.x = x;
|
||||
this.x = x - OFFSET;
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.indices;
|
||||
package wasm.disassembly.modules.indices;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.indices;
|
||||
package wasm.disassembly.modules.indices;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.indices;
|
||||
package wasm.disassembly.modules.indices;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.indices;
|
||||
package wasm.disassembly.modules.indices;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.indices;
|
||||
package wasm.disassembly.modules.indices;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.indices;
|
||||
package wasm.disassembly.modules.indices;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.sections;
|
||||
package wasm.disassembly.modules.sections;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
@ -1,6 +1,6 @@
|
||||
package disassembly.modules.sections;
|
||||
package wasm.disassembly.modules.sections;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.sections.code;
|
||||
package wasm.disassembly.modules.sections.code;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
@ -1,13 +1,11 @@
|
||||
package disassembly.modules.sections.code;
|
||||
package wasm.disassembly.modules.sections.code;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
@ -1,9 +1,9 @@
|
||||
package disassembly.modules.sections.code;
|
||||
package wasm.disassembly.modules.sections.code;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.instructions.Expression;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.instructions.Expression;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.modules.sections.code;
|
||||
package wasm.disassembly.modules.sections.code;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.types.ValType;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.types.ValType;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.sections.custom;
|
||||
package wasm.disassembly.modules.sections.custom;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.modules.sections.Section;
|
||||
import disassembly.values.WName;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.values.WName;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
@ -12,26 +12,26 @@ public abstract class CustomSection extends Section {
|
||||
|
||||
public static final int CUSTOM_SECTION_ID = 0;
|
||||
|
||||
private WName name;
|
||||
private String name;
|
||||
|
||||
public CustomSection(long size, WName name) throws IOException, InvalidOpCodeException {
|
||||
public CustomSection(long size, String name) throws IOException, InvalidOpCodeException {
|
||||
super(CUSTOM_SECTION_ID, size);
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void assemble2(OutputStream out) throws IOException, InvalidOpCodeException {
|
||||
out.write(name.getValue().getBytes(StandardCharsets.UTF_8));
|
||||
WName.write(name, out);
|
||||
assemble3(out);
|
||||
}
|
||||
|
||||
protected abstract void assemble3(OutputStream out) throws IOException, InvalidOpCodeException;
|
||||
|
||||
public WName getName() {
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(WName name) {
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.sections.custom;
|
||||
package wasm.disassembly.modules.sections.custom;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.values.WName;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.values.WName;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
@ -11,7 +11,7 @@ public class CustomSectionFactory {
|
||||
|
||||
public static CustomSection get(BufferedInputStream in) throws IOException, InvalidOpCodeException {
|
||||
long size = WUnsignedInt.read(in, 32);
|
||||
WName name = new WName(in);
|
||||
String name = WName.read(in);
|
||||
|
||||
// select implementation
|
||||
|
@ -1,9 +1,10 @@
|
||||
package disassembly.modules.sections.custom;
|
||||
package wasm.disassembly.modules.sections.custom;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.values.WName;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.values.WName;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
@ -12,9 +13,13 @@ public class UnImplementedCustomSection extends CustomSection {
|
||||
|
||||
private byte[] bytes;
|
||||
|
||||
public UnImplementedCustomSection(BufferedInputStream in, long size, WName name) throws IOException, InvalidOpCodeException {
|
||||
public UnImplementedCustomSection(BufferedInputStream in, long size, String name) throws IOException, InvalidOpCodeException {
|
||||
super(size, name);
|
||||
bytes = new byte[(int)size - name.getValue().getBytes(StandardCharsets.UTF_8).length];
|
||||
|
||||
ByteArrayOutputStream nameOut = new ByteArrayOutputStream();
|
||||
WName.write(name, nameOut);
|
||||
|
||||
bytes = new byte[(int)size - nameOut.toByteArray().length];
|
||||
in.read(bytes);
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
package disassembly.modules.sections.data;
|
||||
package wasm.disassembly.modules.sections.data;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.instructions.Expression;
|
||||
import disassembly.modules.indices.MemIdx;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.instructions.Expression;
|
||||
import wasm.disassembly.modules.indices.MemIdx;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,13 +1,11 @@
|
||||
package disassembly.modules.sections.data;
|
||||
package wasm.disassembly.modules.sections.data;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
@ -1,11 +1,11 @@
|
||||
package disassembly.modules.sections.element;
|
||||
package wasm.disassembly.modules.sections.element;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.instructions.Expression;
|
||||
import disassembly.modules.indices.FuncIdx;
|
||||
import disassembly.modules.indices.TableIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.instructions.Expression;
|
||||
import wasm.disassembly.modules.indices.FuncIdx;
|
||||
import wasm.disassembly.modules.indices.TableIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,13 +1,11 @@
|
||||
package disassembly.modules.sections.element;
|
||||
package wasm.disassembly.modules.sections.element;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.sections.export;
|
||||
package wasm.disassembly.modules.sections.export;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WName;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WName;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
@ -10,31 +10,30 @@ import java.io.OutputStream;
|
||||
|
||||
public class Export extends WASMOpCode {
|
||||
|
||||
private WName name;
|
||||
private String name;
|
||||
private ExportDesc exportDesc;
|
||||
|
||||
public Export(BufferedInputStream in) throws IOException, InvalidOpCodeException {
|
||||
name = new WName(in);
|
||||
name = WName.read(in);
|
||||
exportDesc = new ExportDesc(in);
|
||||
}
|
||||
|
||||
public Export(WName name, ExportDesc exportDesc) {
|
||||
public Export(String name, ExportDesc exportDesc) {
|
||||
this.name = name;
|
||||
this.exportDesc = exportDesc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void assemble(OutputStream out) throws IOException, InvalidOpCodeException {
|
||||
name.assemble(out);
|
||||
WName.write(name, out);
|
||||
exportDesc.assemble(out);
|
||||
}
|
||||
|
||||
|
||||
public WName getName() {
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(WName name) {
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
package disassembly.modules.sections.export;
|
||||
package wasm.disassembly.modules.sections.export;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.modules.indices.FuncIdx;
|
||||
import disassembly.modules.indices.GlobalIdx;
|
||||
import disassembly.modules.indices.MemIdx;
|
||||
import disassembly.modules.indices.TableIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.modules.indices.FuncIdx;
|
||||
import wasm.disassembly.modules.indices.GlobalIdx;
|
||||
import wasm.disassembly.modules.indices.MemIdx;
|
||||
import wasm.disassembly.modules.indices.TableIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,13 +1,11 @@
|
||||
package disassembly.modules.sections.export;
|
||||
package wasm.disassembly.modules.sections.export;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
@ -1,9 +1,9 @@
|
||||
package disassembly.modules.sections.function;
|
||||
package wasm.disassembly.modules.sections.function;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.indices.TypeIdx;
|
||||
import disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.indices.TypeIdx;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,9 @@
|
||||
package disassembly.modules.sections.global;
|
||||
package wasm.disassembly.modules.sections.global;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.instructions.Expression;
|
||||
import disassembly.types.GlobalType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.instructions.Expression;
|
||||
import wasm.disassembly.types.GlobalType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,13 +1,11 @@
|
||||
package disassembly.modules.sections.global;
|
||||
package wasm.disassembly.modules.sections.global;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
@ -1,9 +1,8 @@
|
||||
package disassembly.modules.sections.imprt;
|
||||
package wasm.disassembly.modules.sections.imprt;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.modules.Module;
|
||||
import disassembly.values.WName;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WName;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
@ -11,17 +10,17 @@ import java.io.OutputStream;
|
||||
|
||||
public class Import extends WASMOpCode {
|
||||
|
||||
private WName module;
|
||||
private WName name;
|
||||
private String module;
|
||||
private String name;
|
||||
private ImportDesc importDescription;
|
||||
|
||||
public Import(BufferedInputStream in) throws IOException, InvalidOpCodeException {
|
||||
module = new WName(in);
|
||||
name = new WName(in);
|
||||
module = WName.read(in);
|
||||
name = WName.read(in);
|
||||
importDescription = new ImportDesc(in);
|
||||
}
|
||||
|
||||
public Import(WName module, WName name, ImportDesc importDescription) {
|
||||
public Import(String module, String name, ImportDesc importDescription) {
|
||||
this.module = module;
|
||||
this.name = name;
|
||||
this.importDescription = importDescription;
|
||||
@ -29,24 +28,24 @@ public class Import extends WASMOpCode {
|
||||
|
||||
@Override
|
||||
public void assemble(OutputStream out) throws IOException, InvalidOpCodeException {
|
||||
module.assemble(out);
|
||||
name.assemble(out);
|
||||
WName.write(module, out);
|
||||
WName.write(name, out);
|
||||
importDescription.assemble(out);
|
||||
}
|
||||
|
||||
public WName getModule() {
|
||||
public String getModule() {
|
||||
return module;
|
||||
}
|
||||
|
||||
public void setModule(WName module) {
|
||||
public void setModule(String module) {
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
public WName getName() {
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(WName name) {
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
package disassembly.modules.sections.imprt;
|
||||
package wasm.disassembly.modules.sections.imprt;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.modules.indices.TypeIdx;
|
||||
import disassembly.types.GlobalType;
|
||||
import disassembly.types.MemType;
|
||||
import disassembly.types.TableType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.modules.indices.TypeIdx;
|
||||
import wasm.disassembly.types.GlobalType;
|
||||
import wasm.disassembly.types.MemType;
|
||||
import wasm.disassembly.types.TableType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -0,0 +1,51 @@
|
||||
package wasm.disassembly.modules.sections.imprt;
|
||||
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.indices.FuncIdx;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ImportSection extends Section {
|
||||
|
||||
public static final int IMPORT_SECTION_ID = 2;
|
||||
|
||||
private Vector<Import> imports;
|
||||
|
||||
|
||||
public ImportSection(BufferedInputStream in) throws IOException, InvalidOpCodeException {
|
||||
super(in, IMPORT_SECTION_ID);
|
||||
imports = new Vector<>(in, Import::new);
|
||||
}
|
||||
|
||||
public ImportSection(List<Import> imports) {
|
||||
super(IMPORT_SECTION_ID);
|
||||
this.imports = new Vector<>(imports);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void assemble2(OutputStream out) throws IOException, InvalidOpCodeException {
|
||||
imports.assemble(out);
|
||||
}
|
||||
|
||||
public List<Import> getImports() {
|
||||
return imports.getElements();
|
||||
}
|
||||
|
||||
public void setImports(List<Import> imports) {
|
||||
this.imports = new Vector<>(imports);
|
||||
}
|
||||
|
||||
public void importFunctions(List<Import> functions) {
|
||||
List<Import> newImports = new ArrayList<>(functions);
|
||||
newImports.addAll(imports.getElements());
|
||||
|
||||
setImports(newImports);
|
||||
FuncIdx.OFFSET += functions.size();
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.sections.memory;
|
||||
package wasm.disassembly.modules.sections.memory;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.types.MemType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.types.MemType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,13 +1,11 @@
|
||||
package disassembly.modules.sections.memory;
|
||||
package wasm.disassembly.modules.sections.memory;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.sections.start;
|
||||
package wasm.disassembly.modules.sections.start;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.modules.indices.FuncIdx;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.modules.indices.FuncIdx;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,12 +1,10 @@
|
||||
package disassembly.modules.sections.start;
|
||||
package wasm.disassembly.modules.sections.start;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class StartSection extends Section {
|
@ -1,8 +1,8 @@
|
||||
package disassembly.modules.sections.table;
|
||||
package wasm.disassembly.modules.sections.table;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.types.TableType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.types.TableType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,15 +1,11 @@
|
||||
package disassembly.modules.sections.table;
|
||||
package wasm.disassembly.modules.sections.table;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.Creator;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
import disassembly.types.TableType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
@ -1,9 +1,9 @@
|
||||
package disassembly.modules.sections.type;
|
||||
package wasm.disassembly.modules.sections.type;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.conventions.Vector;
|
||||
import disassembly.modules.sections.Section;
|
||||
import disassembly.types.FuncType;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.conventions.Vector;
|
||||
import wasm.disassembly.modules.sections.Section;
|
||||
import wasm.disassembly.types.FuncType;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,4 +1,4 @@
|
||||
package disassembly.types;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
@ -1,11 +1,10 @@
|
||||
package disassembly.types;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class FuncType extends WASMOpCode {
|
@ -1,11 +1,10 @@
|
||||
package disassembly.types;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class GlobalType extends WASMOpCode {
|
@ -1,8 +1,8 @@
|
||||
package disassembly.types;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.values.WUnsignedInt;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.values.WUnsignedInt;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,11 +1,10 @@
|
||||
package disassembly.types;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class MemType extends WASMOpCode {
|
@ -1,4 +1,4 @@
|
||||
package disassembly.types;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
@ -1,12 +1,11 @@
|
||||
package disassembly.types;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import disassembly.conventions.CustomVector;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
import wasm.disassembly.conventions.CustomVector;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
@ -1,11 +1,10 @@
|
||||
package disassembly.types;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class TableType extends WASMOpCode {
|
@ -1,6 +1,4 @@
|
||||
package disassembly.types;
|
||||
|
||||
import disassembly.WASMOpCode;
|
||||
package wasm.disassembly.types;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
@ -1,10 +1,9 @@
|
||||
package disassembly.values;
|
||||
package wasm.disassembly.values;
|
||||
|
||||
import disassembly.WASMOpCode;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class WByte extends WASMOpCode {
|
@ -1,4 +1,4 @@
|
||||
package disassembly.values;
|
||||
package wasm.disassembly.values;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,9 +1,8 @@
|
||||
package disassembly.values;
|
||||
package wasm.disassembly.values;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.math.BigInteger;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
public class WFloat {
|
25
src/main/java/wasm/disassembly/values/WName.java
Normal file
25
src/main/java/wasm/disassembly/values/WName.java
Normal file
@ -0,0 +1,25 @@
|
||||
package wasm.disassembly.values;
|
||||
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.WASMOpCode;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
public class WName {
|
||||
|
||||
public static String read(BufferedInputStream in) throws IOException, InvalidOpCodeException {
|
||||
long length = WUnsignedInt.read(in, 32);
|
||||
byte[] arr = new byte[(int)length];
|
||||
in.read(arr);
|
||||
return new String(arr, StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
public static void write(String value, OutputStream out) throws IOException, InvalidOpCodeException {
|
||||
byte[] bytes = value.getBytes(StandardCharsets.UTF_8);
|
||||
WUnsignedInt.write(bytes.length, out, 32);
|
||||
out.write(bytes);
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package disassembly.values;
|
||||
package wasm.disassembly.values;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,12 +1,10 @@
|
||||
package disassembly.values;
|
||||
package wasm.disassembly.values;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class WSignedLong {
|
||||
|
@ -1,6 +1,6 @@
|
||||
package disassembly.values;
|
||||
package wasm.disassembly.values;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
@ -1,13 +1,11 @@
|
||||
package disassembly.values;
|
||||
package wasm.disassembly.values;
|
||||
|
||||
import disassembly.InvalidOpCodeException;
|
||||
import wasm.disassembly.InvalidOpCodeException;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class WUnsignedLong {
|
||||
|
Loading…
Reference in New Issue
Block a user