cache: allow passing instruction set to assembler

This commit is contained in:
Adam
2018-01-26 20:31:31 -05:00
parent 4624371bf9
commit e650637176
8 changed files with 39 additions and 24 deletions

View File

@@ -27,6 +27,7 @@ package net.runelite.cache.definitions.savers;
import java.io.IOException;
import net.runelite.cache.definitions.ScriptDefinition;
import net.runelite.cache.definitions.loaders.ScriptLoader;
import net.runelite.cache.script.Instructions;
import net.runelite.cache.script.assembler.Assembler;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
@@ -42,7 +43,9 @@ public class ScriptSaverTest
@Test
public void testSave() throws IOException
{
ScriptDefinition script = new Assembler().assemble(getClass().getResourceAsStream(SCRIPT_RESOURCE));
Instructions instructions = new Instructions();
instructions.init();
ScriptDefinition script = new Assembler(instructions).assemble(getClass().getResourceAsStream(SCRIPT_RESOURCE));
byte[] saved = new ScriptSaver().save(script);
ScriptDefinition loadedScripot = new ScriptLoader().load(42, saved);
assertEquals(script, loadedScripot);

View File

@@ -31,7 +31,7 @@ public class InstructionsTest
@Test
public void testInit()
{
Instructions.init();
new Instructions().init();
}
}

View File

@@ -26,6 +26,7 @@ package net.runelite.cache.script.assembler;
import java.io.InputStream;
import net.runelite.cache.definitions.ScriptDefinition;
import net.runelite.cache.script.Instructions;
import net.runelite.cache.script.disassembler.Disassembler;
import org.apache.commons.compress.utils.IOUtils;
import org.junit.Assert;
@@ -60,7 +61,10 @@ public class AssemblerTest
InputStream in = AssemblerTest.class.getResourceAsStream(script);
Assert.assertNotNull(in);
Assembler assembler = new Assembler();
Instructions instructions = new Instructions();
instructions.init();
Assembler assembler = new Assembler(instructions);
ScriptDefinition script = assembler.assemble(in);
// compare with disassembler

View File

@@ -35,7 +35,6 @@ import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Storage;
import net.runelite.cache.fs.Store;
import net.runelite.cache.script.Instructions;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
@@ -55,8 +54,6 @@ public class DisassemblerTest
File outDir = folder.newFolder();
int count = 0;
Instructions.init();
try (Store store = new Store(StoreLocation.LOCATION))
{
store.load();