Return SourceSpan with actual length from _CompilationMessage.

Change-Id: I883a4ce1b6fc63643db259a0d22e0719b460c109
Reviewed-on: https://dart-review.googlesource.com/69005
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analysis_server/lib/src/services/completion/statement/statement_completion.dart b/pkg/analysis_server/lib/src/services/completion/statement/statement_completion.dart
index 78d0f14..d8e7aa4 100644
--- a/pkg/analysis_server/lib/src/services/completion/statement/statement_completion.dart
+++ b/pkg/analysis_server/lib/src/services/completion/statement/statement_completion.dart
@@ -137,7 +137,7 @@
   AstNode node;
   StatementCompletion completion;
   SourceChange change = new SourceChange('statement-completion');
-  List errors = <engine.AnalysisError>[];
+  List<engine.AnalysisError> errors = [];
   final Map<String, LinkedEditGroup> linkedPositionGroups =
       <String, LinkedEditGroup>{};
   Position exitPosition = null;
diff --git a/pkg/analysis_server/test/integration/edit/get_statement_completion_test.dart b/pkg/analysis_server/test/integration/edit/get_statement_completion_test.dart
index 8f95a0a..8d7c14e 100644
--- a/pkg/analysis_server/test/integration/edit/get_statement_completion_test.dart
+++ b/pkg/analysis_server/test/integration/edit/get_statement_completion_test.dart
@@ -56,8 +56,4 @@
 class GetStatementCompletionTest_UseCFE extends GetStatementCompletionTest {
   @override
   bool get useCFE => true;
-
-  @override
-  @failingTest
-  test_statement_completion() => super.test_statement_completion();
 }
diff --git a/pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart b/pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart
index a7eeb84..bf2de54 100644
--- a/pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart
+++ b/pkg/analysis_server/test/services/completion/statement/statement_completion_test.dart
@@ -300,10 +300,6 @@
 class _ControlFlowCompletionTest_UseCfe extends _ControlFlowCompletionTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_ifNoBlock() => super.test_ifNoBlock();
 }
 
 @reflectiveTest
@@ -842,18 +838,6 @@
 class _ExpressionCompletionTest_UseCfe extends _ExpressionCompletionTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_listAssign() => super.test_listAssign();
-
-  @failingTest
-  @override
-  test_listAssignMultiLine() => super.test_listAssignMultiLine();
-
-  @failingTest
-  @override
-  test_stringAssign() => super.test_stringAssign();
 }
 
 @reflectiveTest
@@ -1658,10 +1642,6 @@
 class _SimpleCompletionTest_UseCfe extends _SimpleCompletionTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_semicolonVar() => super.test_semicolonVar();
 }
 
 @reflectiveTest
diff --git a/pkg/analysis_server/test/services/correction/fix_test.dart b/pkg/analysis_server/test/services/correction/fix_test.dart
index 71f3d8f..4048ea9 100644
--- a/pkg/analysis_server/test/services/correction/fix_test.dart
+++ b/pkg/analysis_server/test/services/correction/fix_test.dart
@@ -7133,23 +7133,13 @@
 
   @failingTest
   @override
-  test_addExplicitCast_assignment_general() =>
-      super.test_addExplicitCast_assignment_general();
+  test_addExplicitCast_assignment_list() =>
+      super.test_addExplicitCast_assignment_list();
 
   @failingTest
   @override
-  test_addExplicitCast_assignment_general_all() =>
-      super.test_addExplicitCast_assignment_general_all();
-
-  @failingTest
-  @override
-  test_addExplicitCast_assignment_map() =>
-      super.test_addExplicitCast_assignment_map();
-
-  @failingTest
-  @override
-  test_addExplicitCast_assignment_map_all() =>
-      super.test_addExplicitCast_assignment_map_all();
+  test_addExplicitCast_assignment_list_all() =>
+      super.test_addExplicitCast_assignment_list_all();
 
   @failingTest
   @override
@@ -7163,33 +7153,13 @@
 
   @failingTest
   @override
-  test_addExplicitCast_assignment_set() =>
-      super.test_addExplicitCast_assignment_set();
+  test_addExplicitCast_declaration_list() =>
+      super.test_addExplicitCast_declaration_list();
 
   @failingTest
   @override
-  test_addExplicitCast_assignment_set_all() =>
-      super.test_addExplicitCast_assignment_set_all();
-
-  @failingTest
-  @override
-  test_addExplicitCast_declaration_general() =>
-      super.test_addExplicitCast_declaration_general();
-
-  @failingTest
-  @override
-  test_addExplicitCast_declaration_general_all() =>
-      super.test_addExplicitCast_declaration_general_all();
-
-  @failingTest
-  @override
-  test_addExplicitCast_declaration_map() =>
-      super.test_addExplicitCast_declaration_map();
-
-  @failingTest
-  @override
-  test_addExplicitCast_declaration_map_all() =>
-      super.test_addExplicitCast_declaration_map_all();
+  test_addExplicitCast_declaration_list_all() =>
+      super.test_addExplicitCast_declaration_list_all();
 
   @failingTest
   @override
@@ -7203,16 +7173,6 @@
 
   @failingTest
   @override
-  test_addExplicitCast_declaration_set() =>
-      super.test_addExplicitCast_declaration_set();
-
-  @failingTest
-  @override
-  test_addExplicitCast_declaration_set_all() =>
-      super.test_addExplicitCast_declaration_set_all();
-
-  @failingTest
-  @override
   test_addFieldFormalParameters_flutter() =>
       super.test_addFieldFormalParameters_flutter();
 
@@ -7354,6 +7314,11 @@
 
   @failingTest
   @override
+  test_changeTypeAnnotation_OK_simple() =>
+      super.test_changeTypeAnnotation_OK_simple();
+
+  @failingTest
+  @override
   test_convertToNamedArguments_OK_instanceCreation() =>
       super.test_convertToNamedArguments_OK_instanceCreation();
 
@@ -7747,10 +7712,6 @@
 
   @failingTest
   @override
-  test_expectedToken_semicolon() => super.test_expectedToken_semicolon();
-
-  @failingTest
-  @override
   test_illegalAsyncReturnType_adjacentNodes() =>
       super.test_illegalAsyncReturnType_adjacentNodes();
 
diff --git a/pkg/front_end/lib/src/base/processed_options.dart b/pkg/front_end/lib/src/base/processed_options.dart
index 0d66814..c4086f7 100644
--- a/pkg/front_end/lib/src/base/processed_options.dart
+++ b/pkg/front_end/lib/src/base/processed_options.dart
@@ -688,12 +688,16 @@
   String get dart2jsCode => _original.code.dart2jsCode;
 
   SourceSpan get span {
-    if (_original.charOffset == -1) {
-      if (_original.uri == null) return null;
-      return new SourceLocation(0, sourceUrl: _original.uri).pointSpan();
+    var uri = _original.uri;
+    var offset = _original.charOffset;
+    if (offset == -1) {
+      if (uri == null) return null;
+      return new SourceLocation(0, sourceUrl: uri).pointSpan();
     }
-    return new SourceLocation(_original.charOffset, sourceUrl: _original.uri)
-        .pointSpan();
+    return new SourceSpan(
+        new SourceLocation(offset, sourceUrl: uri),
+        new SourceLocation(offset + _original.length, sourceUrl: uri),
+        'X' * _original.length);
   }
 
   _CompilationMessage(this._original, this.severity);