Send error notifications only for files in analysis roots (and not excluded).

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2734673002 .
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index 1ed2a48..7f6e898 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -1864,14 +1864,18 @@
       NotificationManager notificationManager =
           analysisServer.notificationManager;
       String path = result.path;
-      if (notificationManager != null) {
-        notificationManager.recordAnalysisErrors(
-            NotificationManager.serverId,
-            path,
-            server.doAnalysisError_listFromEngine(
-                result.driver.analysisOptions, result.lineInfo, result.errors));
-      } else {
-        new_sendErrorNotification(analysisServer, result);
+      if (analysisServer.shouldSendErrorsNotificationFor(path)) {
+        if (notificationManager != null) {
+          notificationManager.recordAnalysisErrors(
+              NotificationManager.serverId,
+              path,
+              server.doAnalysisError_listFromEngine(
+                  result.driver.analysisOptions,
+                  result.lineInfo,
+                  result.errors));
+        } else {
+          new_sendErrorNotification(analysisServer, result);
+        }
       }
       CompilationUnit unit = result.unit;
       if (unit != null) {