whole_func_string: function () {
                  var selectors, rules, debugInfo;
  
                  parserInput.save();
  
                  if (context.dumpLineNumbers) {
                      debugInfo = getDebugInfo(parserInput.i);
                  }
  
                  selectors = this.selectors();
  
                  if (selectors && (rules = this.block())) {
                      parserInput.forget();
                      var ruleset = new(tree.Ruleset)(selectors, rules, context.strictImports);
                      if (context.dumpLineNumbers) {
                          ruleset.debugInfo = debugInfo;
                      }
                      return ruleset;
                  } else {
                      parserInput.restore();
                  }
              }
func_code_string: function () {
                  var selectors, rules, debugInfo;
  
                  parserInput.save();
  
                  if (context.dumpLineNumbers) {
                      debugInfo = getDebugInfo(parserInput.i);
                  }
  
                  selectors = this.selectors();
  
                  if (selectors && (rules = this.block())) {
                      parserInput.forget();
                      var ruleset = new(tree.Ruleset)(selectors, rules, context.strictImports);
                      if (context.dumpLineNumbers) {
                          ruleset.debugInfo = debugInfo;
                      }
                      return ruleset;
                  } else {
                      parserInput.restore();
                  }
              }
func_documentation_string: div, .class, body > p {...}