public override LessNode VisitSupportsAtRule(LessParser.SupportsAtRuleContext context) { SupportsCondition GetConditionList(LessParser.SupportsConditionListContext list, bool negate) { var conditions = list?.supportsCondition().Select(GetCondition); if (list?.AND().Length > 0) { return(new ConjunctionSupportsCondition(negate, conditions)); } if (list?.OR().Length > 0) { return(new DisjunctionSupportsCondition(negate, conditions)); } return(null); } SupportsCondition GetCondition(LessParser.SupportsConditionContext supports) { var negate = supports.NOT() != null; return(GetConditionList(supports.supportsConditionList(), negate) ?? new PropertySupportsCondition(negate, (Rule)supports.property().Accept(this))); } var condition = GetConditionList(context.supportsDeclaration().supportsConditionList(), false) ?? GetCondition(context.supportsDeclaration().supportsCondition()); var block = (RuleBlock)context.block().Accept(this); return(new SupportsAtRule(condition, block)); }
public virtual LessNode VisitSupportsAtRule(LessParser.SupportsAtRuleContext context) { throw new System.NotImplementedException(); }