ArchiMetrics.Analysis.Metrics.HalsteadAnalyzer.ParseTokens C# (CSharp) Method

ParseTokens() private static method

private static ParseTokens ( IEnumerable tokens, IEnumerable filter ) : IList>.IDictionary
tokens IEnumerable
filter IEnumerable
return IList>.IDictionary
		private static IDictionary<SyntaxKind, IList<string>> ParseTokens(IEnumerable<SyntaxToken> tokens, IEnumerable<SyntaxKind> filter)
		{
			IDictionary<SyntaxKind, IList<string>> dictionary = new Dictionary<SyntaxKind, IList<string>>();
			foreach (var token in tokens)
			{
				var kind = token.Kind();
				if (filter.Any(x => x == kind))
				{
					IList<string> list;
					var valueText = token.ValueText;
					if (!dictionary.TryGetValue(kind, out list))
					{
						dictionary[kind] = new List<string>();
						list = dictionary[kind];
					}

					list.Add(valueText);
				}
			}

			return dictionary;
		}
	}