OSDN Git Service

a6f52664acd5e524d703886f688c791feff925d7
[codecoverage/main.git] / CoverageFramework / Operator / Selector / Java2 / IfConditionSelector.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.ComponentModel.Composition;\r
4 using System.Linq;\r
5 using System.Text;\r
6 using System.Xml.Linq;\r
7 \r
8 namespace CoverageFramework.Operator.Selector.Java2\r
9 {\r
10         [Export(typeof(IXElementSelector))]\r
11         public class IfConditionSelector : XElementSelector\r
12         {\r
13                 private static readonly string[] IfStatementNames = {\r
14                         // If\r
15                         "IfThenStatement",\r
16                         "IfThenElseStatement",\r
17                         "IfThenElseStatementNoShortIf",\r
18                 };\r
19 \r
20                 protected override IEnumerable<XElement> SelectContainingNull(XElement root)\r
21                 {\r
22                         var ifStatements = root.Descendants()\r
23                                 .Where(e => IfStatementNames.Any(e.Name.LocalName.EndsWith));\r
24                         return ifStatements.Select(e => e.Elements().ElementAtOrDefault(2));\r
25                 }\r
26         }\r
27 }\r