Improve error detection in search code

Change-Id: If935e9e8fda4f8b92e18a7fe579e838a1451e71f
Reviewed-on: https://dart-review.googlesource.com/68441
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/search.dart b/pkg/analyzer/lib/src/dart/analysis/search.dart
index f03340e..61ace7d 100644
--- a/pkg/analyzer/lib/src/dart/analysis/search.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/search.dart
@@ -21,7 +21,10 @@
 Element _getEnclosingElement(CompilationUnitElement unitElement, int offset) {
   var finder = new _ContainingElementFinder(offset);
   unitElement.accept(finder);
-  return finder.containingElement;
+  Element element = finder.containingElement;
+  assert(element != null,
+      'No containing element in ${unitElement.source.fullName} at $offset');
+  return element;
 }
 
 /**
@@ -824,7 +827,8 @@
   final bool isQualified;
 
   SearchResult._(this.enclosingElement, this.kind, this.offset, this.length,
-      this.isResolved, this.isQualified);
+      this.isResolved, this.isQualified)
+      : assert(enclosingElement != null);
 
   @override
   String toString() {