protected virtual void ReadSuffix(ISourceStream source, CompoundTokenDetails details) { if (!_suffixesFirsts.Contains(source.PreviewChar)) { return; } var comparisonType = CaseSensitivePrefixesSuffixes ? StringComparison.InvariantCulture : StringComparison.InvariantCultureIgnoreCase; foreach (var sfx in Suffixes) { //Suffixes are usually case insensitive, even if language is case-sensitive. So we cannot use source.MatchSymbol here, // we need case-specific comparison if (string.Compare(source.Text, source.PreviewPosition, sfx, 0, sfx.Length, comparisonType) != 0) { continue; } //We found suffix details.Suffix = sfx; source.PreviewPosition += sfx.Length; //Set TypeCode from suffix if (!string.IsNullOrEmpty(details.Suffix) && SuffixTypeCodes.TryGetValue(details.Suffix, out TypeCode[] codes))
public void AddSuffix(string suffix, params TypeCode[] typeCodes) { SuffixTypeCodes.Add(suffix, typeCodes); Suffixes.Add(suffix); }
public void AddSuffixCodes(string suffix, params TypeCode[] codes) { SuffixTypeCodes.Add(suffix, codes); Suffixes.Add(suffix); }