Skip to content

Commit 2a56979

Browse files
committed
Ignore duplicate definitions in the same file
1 parent 3f61d8b commit 2a56979

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed
Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
using System.Collections.Generic;
2+
using System.Linq;
23

34
namespace JetBrains.ReSharper.Plugins.AngularJS.Feature.Services.Caches
45
{
56
public class AngularJsCacheItemsBuilder
67
{
7-
private readonly IList<Directive> directives = new List<Directive>();
8-
private readonly IList<Filter> filters = new List<Filter>();
8+
private readonly IDictionary<string, Directive> directives = new Dictionary<string, Directive>();
9+
private readonly IDictionary<string, Filter> filters = new Dictionary<string, Filter>();
910

1011
public AngularJsCacheItems Build()
1112
{
12-
return new AngularJsCacheItems(directives, filters);
13+
return new AngularJsCacheItems(directives.Values.ToList(), filters.Values.ToList());
1314
}
1415

1516
public void Add(Directive directive)
1617
{
17-
directives.Add(directive);
18+
// TODO: Should there be rules for precedence, merging?
19+
if (!directives.ContainsKey(directive.Name))
20+
directives.Add(directive.Name, directive);
1821
}
1922

2023
public void Add(Filter filter)
2124
{
22-
filters.Add(filter);
25+
// TODO: Should there be rules for precedence, merging?
26+
if (!filters.ContainsKey(filter.Name))
27+
filters.Add(filter.Name, filter);
2328
}
2429
}
2530
}

0 commit comments

Comments
 (0)