Index: pkg/fasta/lib/src/kernel/body_builder.dart |
diff --git a/pkg/fasta/lib/src/kernel/body_builder.dart b/pkg/fasta/lib/src/kernel/body_builder.dart |
index 3446c5564a7948be997a9d9bb53264103639af78..10c608be2f3ce4d8632287de0fb122ed8cc3c386 100644 |
--- a/pkg/fasta/lib/src/kernel/body_builder.dart |
+++ b/pkg/fasta/lib/src/kernel/body_builder.dart |
@@ -169,6 +169,10 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper { |
Expression popForEffect() => toEffect(pop()); |
+ Expression popForValueIfNotNull(Object value) { |
+ return value == null ? null : popForValue(); |
+ } |
+ |
@override |
Expression toValue(Object node) { |
if (node is UnresolvedIdentifier) { |
@@ -1911,7 +1915,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper { |
void handleAssertStatement( |
Token assertKeyword, Token commaToken, Token semicolonToken) { |
debugEvent("AssertStatement"); |
- Expression message = popIfNotNull(commaToken); |
+ Expression message = popForValueIfNotNull(commaToken); |
Expression condition = popForValue(); |
push(new AssertStatement(condition, message)); |
} |