public _parseRuleSetDeclaration()

in src/parser/scssParser.ts [239:259]


	public _parseRuleSetDeclaration(): nodes.Node | null {
		if (this.peek(TokenType.AtKeyword)) {
			return this._parseKeyframe() // nested @keyframe
				|| this._parseImport() // nested @import
				|| this._parseMedia(true) // nested @media
				|| this._parseFontFace() // nested @font-face
				|| this._parseWarnAndDebug() // @warn, @debug and @error statements
				|| this._parseControlStatement() // @if, @while, @for, @each
				|| this._parseFunctionDeclaration() // @function
				|| this._parseExtends() // @extends
				|| this._parseMixinReference() // @include
				|| this._parseMixinContent() // @content
				|| this._parseMixinDeclaration() // nested @mixin
				|| this._parseRuleset(true) // @at-rule
				|| this._parseSupports(true) // @supports
				|| super._parseRuleSetDeclarationAtStatement();
		}
		return this._parseVariableDeclaration() // variable declaration
			|| this._tryParseRuleset(true) // nested ruleset
			|| super._parseRuleSetDeclaration(); // try css ruleset declaration as last so in the error case, the ast will contain a declaration
	}