elements method

List<Element> elements ()

Matching elements for mixins (Start with . or # and can have > )

Implementation

List<Element> elements() {
  String c;
  String e;
  List<Element> elements;
  int elemIndex;

  while (true) {
    elemIndex = parserInput.i;
    e = parserInput.$re(_elementsRegExp);
    if (e == null) break;

    (elements ??= <Element>[]).add(Element(c, e,
        isVariable: false, index: elemIndex, currentFileInfo: fileInfo));
    c = parserInput.$char('>');
  }
  return elements;

// 3.5.0.beta.4 20180630
//  elements: function() {
//      var elements, e, c, elem, elemIndex,
//          re = /^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/;
//      while (true) {
//          elemIndex = parserInput.i;
//          e = parserInput.$re(re);
//
//          if (!e) {
//              break;
//          }
//          elem = new(tree.Element)(c, e, false, elemIndex, fileInfo);
//          if (elements) {
//              elements.push(elem);
//          } else {
//              elements = [ elem ];
//          }
//          c = parserInput.$char('>');
//      }
//      return elements;
//  },
}