From 12397aa8c786a3f64ceb0129a0b7afbea7087884 Mon Sep 17 00:00:00 2001 From: Natalie Weizenbaum Date: Sun, 30 Oct 2016 15:06:32 -0700 Subject: [PATCH] Fix nested declarations in SCSS. --- lib/src/parse/stylesheet.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/src/parse/stylesheet.dart b/lib/src/parse/stylesheet.dart index 797c650c9..142d4cef7 100644 --- a/lib/src/parse/stylesheet.dart +++ b/lib/src/parse/stylesheet.dart @@ -161,10 +161,7 @@ abstract class StylesheetParser extends Parser { var start = scanner.state; var declarationOrBuffer = _declarationOrBuffer(); - if (declarationOrBuffer is Declaration) { - expectStatementSeparator(); - return declarationOrBuffer; - } + if (declarationOrBuffer is Declaration) return declarationOrBuffer; var buffer = declarationOrBuffer as InterpolationBuffer; buffer.addInterpolation(_almostAnyValue()); @@ -239,7 +236,7 @@ abstract class StylesheetParser extends Parser { var postColonWhitespace = rawText(whitespace); if (lookingAtChildren()) { return new Declaration(name, scanner.spanFrom(start), - children: children(_declarationChild)); + children: this.children(_declarationChild)); } midBuffer.write(postColonWhitespace); @@ -275,9 +272,12 @@ abstract class StylesheetParser extends Parser { return nameBuffer; } + var children = + lookingAtChildren() ? this.children(_declarationChild) : null; + if (children == null) expectStatementSeparator(); + return new Declaration(name, scanner.spanFrom(start), - value: value, - children: lookingAtChildren() ? children(_declarationChild) : null); + value: value, children: children); } /// Consumes a property declaration.