private void MapTopLevelResources()

in src/Analyzer.TemplateProcessor/ArmTemplateProcessor.cs [466:487]


        private void MapTopLevelResources(Template template, Dictionary<string, (string, int)> copyNameMap)
        {
            // Set OriginalName back on resources that were copied
            // and map them to their original resource
            for (int i = 0; i < template.Resources.Length; i++)
            {
                var resource = template.Resources[i];
                if (resource.Copy != null && copyNameMap.TryGetValue(resource.Copy.Name.Value, out (string, int) originalValues))
                {
                    // Copied resource.  Update OriginalName and
                    // add mapping to original resource
                    resource.OriginalName = originalValues.Item1;                    
                    resource.Path = $"resources[{originalValues.Item2}]";

                    AddResourceMapping($"resources[{i}]", resource.Path);

                    continue;
                }
                    
                AddResourceMapping($"resources[{i}]", resource.Path);
            }
        }