| 1234567891011121314151617181920212223242526272829303132 |
- using System;
- using System.Collections.Generic;
- namespace FF8
- {
- public static partial class Jsm
- {
- public static partial class Control
- {
- private sealed class ProcessedJumps
- {
- private readonly HashSet<IJumpToInstruction> _processed = new HashSet<IJumpToInstruction>();
- public ProcessedJumps()
- {
- }
- public Boolean TryProcess(IJumpToInstruction jmp)
- {
- return _processed.Add(jmp);
- }
- public void Process(IJumpToInstruction jmp)
- {
- if (!_processed.Add(jmp))
- throw new InvalidProgramException($"The jump instruction ({jmp}) has already been processed.");
- }
- }
- }
- }
- }
|