nl_tokens: A CSS Selector with less extensions e . g . the ability to extend and guard . class > div + h1 li a : hover Selectors are made out of one or more Elements see above .
pl_tokens: function ( isLess ) { var index = parserInput . i , elements , extendList , c , e , allExtends , when , condition ; isLess = isLess !== <mask> ; while ( ( isLess && ( extendList = this . extend ( ) ) ) || ( isLess && ( when = parserInput . $str ( 'when' ) ) ) || ( e = this . element ( ) ) ) { if ( when ) { condition = expect ( this . conditions , 'expected condition' ) ; } else if ( condition ) { error ( 'CSS guard can only be used at the end of selector' ) ; } else if ( extendList ) { if ( allExtends ) { allExtends = allExtends . concat ( extendList ) ; } else { allExtends = extendList ; } } else { if ( allExtends ) { error ( 'Extend can only be used at the end of selector' ) ; } c = parserInput . currentChar ( ) ; if ( elements ) { elements . push ( e ) ; } else { elements = [ e ] ; } e = null ; } if ( c === '{' || c === '}' || c === ';' || c === ',' || c === ')' ) { break ; } } if ( elements ) { return new ( tree . Selector ) ( elements , allExtends , condition , index , fileInfo ) ; } if ( allExtends ) { error ( 'Extend must be used to extend a selector, it cannot be used on its own' ) ; } }