private TextPosition FillKeyframeRules(KeyframesRule parentRule) { var token = NextToken(); ParseComments(ref token); while (token.IsNot(TokenType.EndOfFile, TokenType.CurlyBracketClose)) { var rule = CreateKeyframeRule(token); token = NextToken(); ParseComments(ref token); parentRule.Rules.Add(rule); } return token.Position; }
public Rule CreateKeyframes(Token current) { var rule = new KeyframesRule(_parser); var start = current.Position; var token = NextToken(); _nodes.Push(rule); ParseComments(ref token); rule.Name = GetRuleName(ref token); ParseComments(ref token); if (token.Type == TokenType.CurlyBracketOpen) { var end = FillKeyframeRules(rule); rule.StylesheetText = CreateView(start, end); _nodes.Pop(); return rule; } _nodes.Pop(); return SkipDeclarations(token); }