Made MicroInstructions immutable
[Mograsim.git] / plugins / net.mograsim.machine / src / net / mograsim / machine / mi / MicroInstructionMemoryParser.java
index d049e37..1aa518d 100644 (file)
@@ -35,8 +35,7 @@ public class MicroInstructionMemoryParser
                {
                        for (; i <= maxAddr && input.ready() && !"".equals((line = input.readLine())); i++)
                        {
-                               long iFinal = i;
-                               memory.setCell(i, parse(() -> memory.notifyObservers(iFinal), miDef, line));
+                               memory.setCell(i, parse(miDef, line));
                        }
                }
                catch (IOException e)
@@ -46,12 +45,11 @@ public class MicroInstructionMemoryParser
 
                for (; i <= maxAddr; i++)
                {
-                       long iFinal = i;
-                       memory.setCell(i, miDef.createDefaultInstruction(() -> memory.notifyObservers(iFinal)));
+                       memory.setCell(i, miDef.createDefaultInstruction());
                }
        }
 
-       public static MicroInstruction parse(Runnable updateCallback, MicroInstructionDefinition definition, String toParse)
+       public static MicroInstruction parse(MicroInstructionDefinition definition, String toParse)
        {
                int size = definition.size();
                String[] strings = toParse.split(",");
@@ -65,7 +63,7 @@ public class MicroInstructionMemoryParser
                        {
                                params[i] = classes[i].parse(strings[i]);
                        }
-                       return new StandardMicroInstruction(updateCallback, params);
+                       return new StandardMicroInstruction(params);
                }
                catch (Exception e)
                {