##// END OF EJS Templates
Fixed promise rejection when there is not specified error handler in the reaction....
Fixed promise rejection when there is not specified error handler in the reaction. FIXED SPELLING IN THE XML CONTAINER CONFIGURATION signleton->singleton Code cleanup Update tests make them working on dotnet core

File last commit:

r295:28af686e24f7 default
r295:28af686e24f7 default
Show More
CharMap.cs
39 lines | 1.2 KiB | text/x-csharp | CSharpLexer
using Implab.Automaton;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Implab.Formats {
public class CharMap : IAlphabet<char> {
readonly char m_min;
readonly char m_max;
readonly int[] m_map;
public CharMap(char min, int[] map) {
Safe.ArgumentNotNull(map, nameof(map));
Count = map.Max()+1;
m_min = min;
m_map = map;
m_max = (char)(min + map.Length);
}
public int Count {
get; private set;
}
public bool Contains(char symbol) {
return symbol >= m_min && symbol <= m_max && m_map[symbol-m_min] != AutomatonConst.UnclassifiedInput;
}
public IEnumerable<char> GetSymbols(int cls) {
for (var i = 0; i < m_map.Length; i++)
if (m_map[i] == cls)
yield return (char)(i + m_min);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int Translate(char symbol) {
return symbol >= m_min && symbol <= m_max ? m_map[symbol-m_min] : AutomatonConst.UnclassifiedInput;
}
}
}