PropertyGroups PropertyGroups(MSEV.Project project) => array(from g in project.Xml.PropertyGroups select new PropertyGroup (from p in g.Properties select new PropertyGroupMember (p.Name, SymbolicLiteral.Define(p.Value), ifBlank(p.Label, p.Parent?.Label), p.Condition), g.Label) );
ItemGroups ItemGroups(MSEV.Project project) => array(from g in project.Xml.ItemGroups select new ItemGroup ( from i in g.Items where isNotBlank(i.Include) select new ItemGroupMember ( i.ElementName, SymbolicLiteral.Define(i.Include), i.Label, i.Condition ), g.Label ));
ProjectImports ProjectImports(MSEV.Project project, int pos = 0) => array(from p in project.Xml.Imports select new ProjectImport(SymbolicLiteral.Define(p.Project), p.Label, p.Condition, pos++));