public override CssRule Create(CssToken current) { var token = _tokenizer.Get(); var rule = new CssDocumentRule(_parser); var functions = CreateFunctions(ref token); rule.Conditions.AddRange(functions); if (token.Type != CssTokenType.CurlyBracketOpen) return SkipDeclarations(token); FillRules(rule); return rule; }
public CssRule CreateDocument(CssToken current) { var rule = new CssDocumentRule(_parser); var start = current.Position; var token = NextToken(); _nodes.Push(rule); CollectTrivia(ref token); FillFunctions(function => rule.AppendChild(function), ref token); CollectTrivia(ref token); if (token.Type == CssTokenType.CurlyBracketOpen) { var end = FillRules(rule); rule.SourceCode = CreateView(start, end); _nodes.Pop(); return rule; } _nodes.Pop(); return SkipDeclarations(token); }