Suppress stdout compile diagnostic when compile expressions. (#18703)

* Suppress stdout compile diagnostic when compile expressions.

This fixes https://github.com/flutter/flutter/issues/18574.

* Use equal sign for default values
diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart
index d7994ff..4a07e1b 100644
--- a/packages/flutter_tools/lib/src/compile.dart
+++ b/packages/flutter_tools/lib/src/compile.dart
@@ -35,6 +35,8 @@
   String boundaryKey;
   Completer<CompilerOutput> compilerOutput;
 
+  bool _suppressCompilerMessages;
+
   void handler(String string) {
     const String kResultPrefix = 'result ';
     if (boundaryKey == null) {
@@ -51,15 +53,17 @@
           string.substring(boundaryKey.length + 1, spaceDelimiter),
           int.parse(string.substring(spaceDelimiter + 1).trim())));
     }
-    else
+    else if (!_suppressCompilerMessages) {
       consumer('compiler message: $string');
+    }
   }
 
   // This is needed to get ready to process next compilation result output,
   // with its own boundary key and new completer.
-  void reset() {
+  void reset({bool suppressCompilerMessages = false}) {
     boundaryKey = null;
     compilerOutput = new Completer<CompilerOutput>();
+    _suppressCompilerMessages = suppressCompilerMessages;
   }
 }
 
@@ -394,7 +398,7 @@
 
   Future<CompilerOutput> _compileExpression(
       _CompileExpressionRequest request) async {
-    _stdoutHandler.reset();
+    _stdoutHandler.reset(suppressCompilerMessages: true);
 
     // 'compile-expression' should be invoked after compiler has been started,
     // program was compiled.