From 7a1f7fc697c451c202f072f11ad0d8cf7f63f49b Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Fri, 28 Jun 2019 09:08:21 -0500 Subject: [PATCH 1/2] [generator] Use an ILookup for better performance. --- tools/generator/ApiVersionsSupport.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/generator/ApiVersionsSupport.cs b/tools/generator/ApiVersionsSupport.cs index 7ae5a3e3e..da34d43bb 100644 --- a/tools/generator/ApiVersionsSupport.cs +++ b/tools/generator/ApiVersionsSupport.cs @@ -31,11 +31,11 @@ static IEnumerable FlattenGens (IEnumerable gens) public static void AssignApiLevels (IList gens, string apiVersionsXml) { - var flattenGens = FlattenGens (gens); + var flattenGens = FlattenGens (gens).ToLookup (g => g.JavaName); var versions = new ApiVersionsProvider (); versions.Parse (apiVersionsXml); foreach (var type in versions.Versions.Values) { - var matchedGens = flattenGens.Where (g => g.JavaName == type.Name); + var matchedGens = flattenGens[type.Name]; if (!matchedGens.Any ()) // There are known missing types, and it's going to be too noisy to report missing ones here. // That task should be done elsewhere. From a67ab603290a326f52714e17317f10222816968b Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Fri, 28 Jun 2019 14:16:51 -0400 Subject: [PATCH 2/2] Fix whitespace --- tools/generator/ApiVersionsSupport.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/generator/ApiVersionsSupport.cs b/tools/generator/ApiVersionsSupport.cs index da34d43bb..43530de89 100644 --- a/tools/generator/ApiVersionsSupport.cs +++ b/tools/generator/ApiVersionsSupport.cs @@ -35,7 +35,7 @@ public static void AssignApiLevels (IList gens, string apiVersionsXml) var versions = new ApiVersionsProvider (); versions.Parse (apiVersionsXml); foreach (var type in versions.Versions.Values) { - var matchedGens = flattenGens[type.Name]; + var matchedGens = flattenGens [type.Name]; if (!matchedGens.Any ()) // There are known missing types, and it's going to be too noisy to report missing ones here. // That task should be done elsewhere.