node_modules/gulp-sass/node_modules/node-sass/src/libsass/src/parser.cpp
// a ruleset connects a selector and a block
a ruleset connects a selector and a block
a ruleset connects a selector and a block
Ruleset* Parser::parse_ruleset(Lookahead lookahead, bool is_root)
  {
    lex < optional_css_whitespace >(false, true);
    Ruleset* ruleset = SASS_MEMORY_NEW(ctx.mem, Ruleset, pstate);
    if (lookahead.parsable) ruleset->selector(parse_selector_list(is_root));
    else ruleset->selector(parse_selector_schema(lookahead.found));
    ruleset->block(parse_block());
    ruleset->update_pstate(pstate);
    ruleset->is_root(is_root);
    return ruleset;
  }
Ruleset * Parser :: parse_ruleset ( Lookahead lookahead , bool is_root ) { lex < optional_css_whitespace > ( false , true ) ; Ruleset * ruleset = SASS_MEMORY_NEW ( ctx . mem , Ruleset , pstate ) ; if ( lookahead . parsable ) ruleset -> selector ( parse_selector_list ( is_root ) ) ; else ruleset -> selector ( parse_selector_schema ( lookahead . found ) ) ; ruleset -> block ( parse_block ( ) ) ; ruleset -> update_pstate ( pstate ) ; ruleset -> is_root ( is_root ) ; return ruleset ; }
a ruleset connects a selector and a block
a ruleset connects a selector and a block
// make sure to move up the the last position // create the connector object (add parts later) // parse selector static or as schema to be evaluated later // then parse the inner block // update for end position // inherit is_root from parent block // need this info for sanity checks // return AST Node