LessCss.StyleRule.Flatten C# (CSharp) Method

Flatten() public method

public Flatten ( ) : IEnumerable
return IEnumerable
		public IEnumerable<StyleRule> Flatten()
		{
			var flatrules = Rules.SelectMany(r => r.Flatten());
			foreach(var selector in Selectors)
			{
				var r = MemberwiseClone() as StyleRule;
				r.Selectors = new List<StyleSelector> {selector};
				r.Rules = new List<StyleRule>();
				yield return r;

				foreach(var rule in flatrules)
				{
					var rule2 = rule.MemberwiseClone() as StyleRule;
					var selector2 = rule2.Selectors.First();
					rule2.Selectors = new List<StyleSelector> {  new StyleSelector { Name = selector.Name + " " + selector2.Name} };
					yield return rule2;
				}
			}
		}