public static InstructionBase NewLogicalInstruction(Type type, List <Value> parameters, out InstructionBase?pairedInstruction) { var instruction = NewInstruction(type, parameters); pairedInstruction = null; switch (true) { case var _ when type == typeof(BranchAlways): case var _ when type == typeof(BranchIfTrue): var logicalBranch = new LogicalBranch(instruction, _getName); pairedInstruction = logicalBranch.Destination; return(logicalBranch); case var _ when type == typeof(DefineFunction): case var _ when type == typeof(DefineFunction2): var logicalDefineFunction = new LogicalDefineFunction(instruction); pairedInstruction = logicalDefineFunction.CreateEndOfFunction(); return(logicalDefineFunction); } return(instruction); }
public LogicalEndOfFunction(LogicalDefineFunction logicalDefineFunction) { // Parameters = new List<Value>(); LogicalDefineFunction = logicalDefineFunction; }