public NumberSpanToken(int leadingZeroes, int number) { _ttt = NumberSpanParse.TTT.Num; _num = number; _zeroes = leadingZeroes; _sep = null; }
public NumberSpanToken(int number) { _ttt = NumberSpanParse.TTT.Num; _num = number; _zeroes = 0; _sep = null; }
internal bool ProcessToken(ref NumberSpanParse.NumberSpanToken tok, ref NumberSpanParse.NumberSpanResult result) { if (tok._ttt == NumberSpanParse.TTT.NumOverflow) { result.SetFailure(NumberSpanParse.ParseFailureKind.Overflow, "Overflow_NumberSpanElementTooLarge", null); return false; } if (tok._ttt != NumberSpanParse.TTT.Sep && tok._ttt != NumberSpanParse.TTT.Num) { result.SetFailure(NumberSpanParse.ParseFailureKind.Format, "Format_BadNumberSpan", null); return false; } switch (tok._ttt) { case NumberSpanParse.TTT.Num: if (_tokenCount != 0 || AddSep(string.Empty, ref result)) { if (!AddNum(tok, ref result)) return false; break; } return false; case NumberSpanParse.TTT.Sep: if (AddSep(tok._sep, ref result)) break; return false; } _lastSeenTTT = tok._ttt; return true; }
internal void Init() { _lastSeenTTT = NumberSpanParse.TTT.None; _tokenCount = 0; _sepCount = 0; _numCount = 0; _literals = new string[4]; _numbers = new NumberSpanParse.NumberSpanToken[3]; _fullPosPattern = "c of t"; _fullNegPattern = "-c of t"; _posLocInit = false; _negLocInit = false; }