From 22448e09f40622f8785fd1de615bcafe16ba2e45 Mon Sep 17 00:00:00 2001 From: Joao Matos Date: Sat, 2 Jan 2021 15:46:51 +0000 Subject: [PATCH] Fix generation of overloads in NAPI by re-ordering final calculated states. --- src/Generator/Generators/NAPI/NAPISources.cs | 5 +++++ src/Generator/Utils/FSM/DFSM.cs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Generator/Generators/NAPI/NAPISources.cs b/src/Generator/Generators/NAPI/NAPISources.cs index 5d8f0af7..5ba39d33 100644 --- a/src/Generator/Generators/NAPI/NAPISources.cs +++ b/src/Generator/Generators/NAPI/NAPISources.cs @@ -822,6 +822,11 @@ namespace CppSharp.Generators.Cpp DFSM = Minimize.MinimizeDFSM(DFSM); #endif + // The construction step above can result in unordered final states, so re-order them to + // make the following code generation steps easier. + + DFSM.F = DFSM.F.OrderBy(f => f).ToList(); + return DFSM; } diff --git a/src/Generator/Utils/FSM/DFSM.cs b/src/Generator/Utils/FSM/DFSM.cs index 125ccef2..8e15c84c 100644 --- a/src/Generator/Utils/FSM/DFSM.cs +++ b/src/Generator/Utils/FSM/DFSM.cs @@ -9,7 +9,7 @@ namespace CppSharp.Utils.FSM public readonly List Sigma = new List(); public readonly List Delta = new List(); public List Q0 = new List(); - public readonly List F = new List(); + public List F = new List(); public DFSM(IEnumerable q, IEnumerable sigma, IEnumerable delta, IEnumerable q0, IEnumerable f){