| Index: pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart
 | 
| diff --git a/pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart b/pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart
 | 
| index d0355b531c39fa336e7f89f63982e598146c03be..1d6d34b3c354221274f2fb784684318a783eb7dd 100644
 | 
| --- a/pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart
 | 
| +++ b/pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart
 | 
| @@ -2,27 +2,34 @@
 | 
|  // for details. All rights reserved. Use of this source code is governed by a
 | 
|  // BSD-style license that can be found in the LICENSE file.
 | 
|  
 | 
| +import 'package:analyzer/dart/ast/ast.dart' as analyzer;
 | 
| +import 'package:analyzer/dart/element/element.dart' as analyzer;
 | 
| +import 'package:analyzer/dart/element/type.dart' as analyzer;
 | 
|  import 'package:analyzer/error/error.dart' as analyzer;
 | 
| -import 'package:analyzer/file_system/memory_file_system.dart';
 | 
| +import 'package:analyzer/exception/exception.dart' as analyzer;
 | 
|  import 'package:analyzer/source/error_processor.dart' as analyzer;
 | 
| +import 'package:analyzer/src/dart/element/element.dart' as analyzer;
 | 
|  import 'package:analyzer/src/error/codes.dart' as analyzer;
 | 
|  import 'package:analyzer/src/generated/engine.dart' as analyzer;
 | 
|  import 'package:analyzer/src/generated/source.dart' as analyzer;
 | 
| +import 'package:analyzer/src/generated/utilities_dart.dart' as analyzer;
 | 
|  import 'package:analyzer_plugin/protocol/protocol_constants.dart' as plugin;
 | 
|  import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin;
 | 
|  import 'package:analyzer_plugin/utilities/analyzer_converter.dart';
 | 
|  import 'package:test/test.dart';
 | 
|  import 'package:test_reflective_loader/test_reflective_loader.dart';
 | 
|  
 | 
| +import '../support/abstract_context.dart';
 | 
| +
 | 
|  void main() {
 | 
|    defineReflectiveTests(AnalyzerConverterTest);
 | 
|  }
 | 
|  
 | 
|  @reflectiveTest
 | 
| -class AnalyzerConverterTest {
 | 
| -  MemoryResourceProvider resourceProvider = new MemoryResourceProvider();
 | 
| +class AnalyzerConverterTest extends AbstractContextTest {
 | 
|    AnalyzerConverter converter = new AnalyzerConverter();
 | 
|    analyzer.Source source;
 | 
| +  String testFile;
 | 
|  
 | 
|    /**
 | 
|     * Assert that the given [pluginError] matches the given [analyzerError].
 | 
| @@ -52,10 +59,13 @@ class AnalyzerConverterTest {
 | 
|    analyzer.AnalysisError createError(int offset) => new analyzer.AnalysisError(
 | 
|        source, offset, 5, analyzer.CompileTimeErrorCode.AWAIT_IN_WRONG_CONTEXT);
 | 
|  
 | 
| +  @override
 | 
|    void setUp() {
 | 
| -    source = resourceProvider
 | 
| -        .newFile(resourceProvider.convertPath('/foo/bar.dart'), '')
 | 
| +    super.setUp();
 | 
| +    source = provider
 | 
| +        .newFile(provider.convertPath('/foo/bar.dart'), '')
 | 
|          .createSource();
 | 
| +    testFile = provider.convertPath('/test.dart');
 | 
|    }
 | 
|  
 | 
|    test_convertAnalysisError_lineInfo_noSeverity() {
 | 
| @@ -169,6 +179,390 @@ class AnalyzerConverterTest {
 | 
|      assertError(pluginErrors[1], analyzerErrors[1], severity: severity);
 | 
|    }
 | 
|  
 | 
| +  test_convertElement_class() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +@deprecated
 | 
| +abstract class _A {}
 | 
| +class B<K, V> {}''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    {
 | 
| +      analyzer.ClassElement engineElement = findElementInUnit(unit, '_A');
 | 
| +      // create notification Element
 | 
| +      plugin.Element element = converter.convertElement(engineElement);
 | 
| +      expect(element.kind, plugin.ElementKind.CLASS);
 | 
| +      expect(element.name, '_A');
 | 
| +      expect(element.typeParameters, isNull);
 | 
| +      {
 | 
| +        plugin.Location location = element.location;
 | 
| +        expect(location.file, '/test.dart');
 | 
| +        expect(location.offset, 27);
 | 
| +        expect(location.length, '_A'.length);
 | 
| +        expect(location.startLine, 2);
 | 
| +        expect(location.startColumn, 16);
 | 
| +      }
 | 
| +      expect(element.parameters, isNull);
 | 
| +      expect(
 | 
| +          element.flags,
 | 
| +          plugin.Element.FLAG_ABSTRACT |
 | 
| +              plugin.Element.FLAG_DEPRECATED |
 | 
| +              plugin.Element.FLAG_PRIVATE);
 | 
| +    }
 | 
| +    {
 | 
| +      analyzer.ClassElement engineElement = findElementInUnit(unit, 'B');
 | 
| +      // create notification Element
 | 
| +      plugin.Element element = converter.convertElement(engineElement);
 | 
| +      expect(element.kind, plugin.ElementKind.CLASS);
 | 
| +      expect(element.name, 'B');
 | 
| +      expect(element.typeParameters, '<K, V>');
 | 
| +      expect(element.flags, 0);
 | 
| +    }
 | 
| +  }
 | 
| +
 | 
| +  test_convertElement_constructor() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +class A {
 | 
| +  const A.myConstructor(int a, [String b]);
 | 
| +}''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    analyzer.ConstructorElement engineElement =
 | 
| +        findElementInUnit(unit, 'myConstructor');
 | 
| +    // create notification Element
 | 
| +    plugin.Element element = converter.convertElement(engineElement);
 | 
| +    expect(element.kind, plugin.ElementKind.CONSTRUCTOR);
 | 
| +    expect(element.name, 'myConstructor');
 | 
| +    expect(element.typeParameters, isNull);
 | 
| +    {
 | 
| +      plugin.Location location = element.location;
 | 
| +      expect(location.file, '/test.dart');
 | 
| +      expect(location.offset, 20);
 | 
| +      expect(location.length, 'myConstructor'.length);
 | 
| +      expect(location.startLine, 2);
 | 
| +      expect(location.startColumn, 11);
 | 
| +    }
 | 
| +    expect(element.parameters, '(int a, [String b])');
 | 
| +    expect(element.returnType, 'A');
 | 
| +    expect(element.flags, plugin.Element.FLAG_CONST);
 | 
| +  }
 | 
| +
 | 
| +  void test_convertElement_dynamic() {
 | 
| +    var engineElement = analyzer.DynamicElementImpl.instance;
 | 
| +    // create notification Element
 | 
| +    plugin.Element element = converter.convertElement(engineElement);
 | 
| +    expect(element.kind, plugin.ElementKind.UNKNOWN);
 | 
| +    expect(element.name, 'dynamic');
 | 
| +    expect(element.location, isNull);
 | 
| +    expect(element.parameters, isNull);
 | 
| +    expect(element.returnType, isNull);
 | 
| +    expect(element.flags, 0);
 | 
| +  }
 | 
| +
 | 
| +  test_convertElement_enum() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +@deprecated
 | 
| +enum _E1 { one, two }
 | 
| +enum E2 { three, four }''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    {
 | 
| +      analyzer.ClassElement engineElement = findElementInUnit(unit, '_E1');
 | 
| +      expect(engineElement.isDeprecated, isTrue);
 | 
| +      // create notification Element
 | 
| +      plugin.Element element = converter.convertElement(engineElement);
 | 
| +      expect(element.kind, plugin.ElementKind.ENUM);
 | 
| +      expect(element.name, '_E1');
 | 
| +      expect(element.typeParameters, isNull);
 | 
| +      {
 | 
| +        plugin.Location location = element.location;
 | 
| +        expect(location.file, '/test.dart');
 | 
| +        expect(location.offset, 17);
 | 
| +        expect(location.length, '_E1'.length);
 | 
| +        expect(location.startLine, 2);
 | 
| +        expect(location.startColumn, 6);
 | 
| +      }
 | 
| +      expect(element.parameters, isNull);
 | 
| +      expect(
 | 
| +          element.flags,
 | 
| +          (engineElement.isDeprecated ? plugin.Element.FLAG_DEPRECATED : 0) |
 | 
| +              plugin.Element.FLAG_PRIVATE);
 | 
| +    }
 | 
| +    {
 | 
| +      analyzer.ClassElement engineElement = findElementInUnit(unit, 'E2');
 | 
| +      // create notification Element
 | 
| +      plugin.Element element = converter.convertElement(engineElement);
 | 
| +      expect(element.kind, plugin.ElementKind.ENUM);
 | 
| +      expect(element.name, 'E2');
 | 
| +      expect(element.typeParameters, isNull);
 | 
| +      expect(element.flags, 0);
 | 
| +    }
 | 
| +  }
 | 
| +
 | 
| +  test_convertElement_enumConstant() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +@deprecated
 | 
| +enum _E1 { one, two }
 | 
| +enum E2 { three, four }''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    {
 | 
| +      analyzer.FieldElement engineElement = findElementInUnit(unit, 'one');
 | 
| +      // create notification Element
 | 
| +      plugin.Element element = converter.convertElement(engineElement);
 | 
| +      expect(element.kind, plugin.ElementKind.ENUM_CONSTANT);
 | 
| +      expect(element.name, 'one');
 | 
| +      {
 | 
| +        plugin.Location location = element.location;
 | 
| +        expect(location.file, '/test.dart');
 | 
| +        expect(location.offset, 23);
 | 
| +        expect(location.length, 'one'.length);
 | 
| +        expect(location.startLine, 2);
 | 
| +        expect(location.startColumn, 12);
 | 
| +      }
 | 
| +      expect(element.parameters, isNull);
 | 
| +      expect(element.returnType, '_E1');
 | 
| +      // TODO(danrubel) determine why enum constant is not marked as deprecated
 | 
| +      //analyzer.ClassElement classElement = engineElement.enclosingElement;
 | 
| +      //expect(classElement.isDeprecated, isTrue);
 | 
| +      expect(
 | 
| +          element.flags,
 | 
| +          // Element.FLAG_DEPRECATED |
 | 
| +          plugin.Element.FLAG_CONST | plugin.Element.FLAG_STATIC);
 | 
| +    }
 | 
| +    {
 | 
| +      analyzer.FieldElement engineElement = findElementInUnit(unit, 'three');
 | 
| +      // create notification Element
 | 
| +      plugin.Element element = converter.convertElement(engineElement);
 | 
| +      expect(element.kind, plugin.ElementKind.ENUM_CONSTANT);
 | 
| +      expect(element.name, 'three');
 | 
| +      {
 | 
| +        plugin.Location location = element.location;
 | 
| +        expect(location.file, '/test.dart');
 | 
| +        expect(location.offset, 44);
 | 
| +        expect(location.length, 'three'.length);
 | 
| +        expect(location.startLine, 3);
 | 
| +        expect(location.startColumn, 11);
 | 
| +      }
 | 
| +      expect(element.parameters, isNull);
 | 
| +      expect(element.returnType, 'E2');
 | 
| +      expect(element.flags,
 | 
| +          plugin.Element.FLAG_CONST | plugin.Element.FLAG_STATIC);
 | 
| +    }
 | 
| +    {
 | 
| +      analyzer.FieldElement engineElement = findElementInUnit(unit, 'index');
 | 
| +      // create notification Element
 | 
| +      plugin.Element element = converter.convertElement(engineElement);
 | 
| +      expect(element.kind, plugin.ElementKind.FIELD);
 | 
| +      expect(element.name, 'index');
 | 
| +      {
 | 
| +        plugin.Location location = element.location;
 | 
| +        expect(location.file, '/test.dart');
 | 
| +        expect(location.offset, -1);
 | 
| +        expect(location.length, 'index'.length);
 | 
| +        expect(location.startLine, 1);
 | 
| +        expect(location.startColumn, 0);
 | 
| +      }
 | 
| +      expect(element.parameters, isNull);
 | 
| +      expect(element.returnType, 'int');
 | 
| +      expect(element.flags, plugin.Element.FLAG_FINAL);
 | 
| +    }
 | 
| +    {
 | 
| +      analyzer.FieldElement engineElement = findElementInUnit(unit, 'values');
 | 
| +      // create notification Element
 | 
| +      plugin.Element element = converter.convertElement(engineElement);
 | 
| +      expect(element.kind, plugin.ElementKind.FIELD);
 | 
| +      expect(element.name, 'values');
 | 
| +      {
 | 
| +        plugin.Location location = element.location;
 | 
| +        expect(location.file, '/test.dart');
 | 
| +        expect(location.offset, -1);
 | 
| +        expect(location.length, 'values'.length);
 | 
| +        expect(location.startLine, 1);
 | 
| +        expect(location.startColumn, 0);
 | 
| +      }
 | 
| +      expect(element.parameters, isNull);
 | 
| +      expect(element.returnType, 'List<E2>');
 | 
| +      expect(element.flags,
 | 
| +          plugin.Element.FLAG_CONST | plugin.Element.FLAG_STATIC);
 | 
| +    }
 | 
| +  }
 | 
| +
 | 
| +  test_convertElement_field() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +class A {
 | 
| +  static const myField = 42;
 | 
| +}''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    analyzer.FieldElement engineElement = findElementInUnit(unit, 'myField');
 | 
| +    // create notification Element
 | 
| +    plugin.Element element = converter.convertElement(engineElement);
 | 
| +    expect(element.kind, plugin.ElementKind.FIELD);
 | 
| +    expect(element.name, 'myField');
 | 
| +    {
 | 
| +      plugin.Location location = element.location;
 | 
| +      expect(location.file, '/test.dart');
 | 
| +      expect(location.offset, 25);
 | 
| +      expect(location.length, 'myField'.length);
 | 
| +      expect(location.startLine, 2);
 | 
| +      expect(location.startColumn, 16);
 | 
| +    }
 | 
| +    expect(element.parameters, isNull);
 | 
| +    expect(element.returnType, 'dynamic');
 | 
| +    expect(
 | 
| +        element.flags, plugin.Element.FLAG_CONST | plugin.Element.FLAG_STATIC);
 | 
| +  }
 | 
| +
 | 
| +  test_convertElement_functionTypeAlias() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +typedef int F<T>(String x);
 | 
| +''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    analyzer.FunctionTypeAliasElement engineElement =
 | 
| +        findElementInUnit(unit, 'F');
 | 
| +    // create notification Element
 | 
| +    plugin.Element element = converter.convertElement(engineElement);
 | 
| +    expect(element.kind, plugin.ElementKind.FUNCTION_TYPE_ALIAS);
 | 
| +    expect(element.name, 'F');
 | 
| +    expect(element.typeParameters, '<T>');
 | 
| +    {
 | 
| +      plugin.Location location = element.location;
 | 
| +      expect(location.file, '/test.dart');
 | 
| +      expect(location.offset, 12);
 | 
| +      expect(location.length, 'F'.length);
 | 
| +      expect(location.startLine, 1);
 | 
| +      expect(location.startColumn, 13);
 | 
| +    }
 | 
| +    expect(element.parameters, '(String x)');
 | 
| +    expect(element.returnType, 'int');
 | 
| +    expect(element.flags, 0);
 | 
| +  }
 | 
| +
 | 
| +  test_convertElement_getter() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +class A {
 | 
| +  String get myGetter => 42;
 | 
| +}''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    analyzer.PropertyAccessorElement engineElement =
 | 
| +        findElementInUnit(unit, 'myGetter', analyzer.ElementKind.GETTER);
 | 
| +    // create notification Element
 | 
| +    plugin.Element element = converter.convertElement(engineElement);
 | 
| +    expect(element.kind, plugin.ElementKind.GETTER);
 | 
| +    expect(element.name, 'myGetter');
 | 
| +    {
 | 
| +      plugin.Location location = element.location;
 | 
| +      expect(location.file, '/test.dart');
 | 
| +      expect(location.offset, 23);
 | 
| +      expect(location.length, 'myGetter'.length);
 | 
| +      expect(location.startLine, 2);
 | 
| +      expect(location.startColumn, 14);
 | 
| +    }
 | 
| +    expect(element.parameters, isNull);
 | 
| +    expect(element.returnType, 'String');
 | 
| +    expect(element.flags, 0);
 | 
| +  }
 | 
| +
 | 
| +  test_convertElement_method() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +class A {
 | 
| +  static List<String> myMethod(int a, {String b, int c}) {
 | 
| +    return null;
 | 
| +  }
 | 
| +}''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    analyzer.MethodElement engineElement = findElementInUnit(unit, 'myMethod');
 | 
| +    // create notification Element
 | 
| +    plugin.Element element = converter.convertElement(engineElement);
 | 
| +    expect(element.kind, plugin.ElementKind.METHOD);
 | 
| +    expect(element.name, 'myMethod');
 | 
| +    {
 | 
| +      plugin.Location location = element.location;
 | 
| +      expect(location.file, '/test.dart');
 | 
| +      expect(location.offset, 32);
 | 
| +      expect(location.length, 'myGetter'.length);
 | 
| +      expect(location.startLine, 2);
 | 
| +      expect(location.startColumn, 23);
 | 
| +    }
 | 
| +    expect(element.parameters, '(int a, {String b, int c})');
 | 
| +    expect(element.returnType, 'List<String>');
 | 
| +    expect(element.flags, plugin.Element.FLAG_STATIC);
 | 
| +  }
 | 
| +
 | 
| +  test_convertElement_setter() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +class A {
 | 
| +  set mySetter(String x) {}
 | 
| +}''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    analyzer.FieldElement engineFieldElement =
 | 
| +        findElementInUnit(unit, 'mySetter', analyzer.ElementKind.FIELD);
 | 
| +    analyzer.PropertyAccessorElement engineElement = engineFieldElement.setter;
 | 
| +    // create notification Element
 | 
| +    plugin.Element element = converter.convertElement(engineElement);
 | 
| +    expect(element.kind, plugin.ElementKind.SETTER);
 | 
| +    expect(element.name, 'mySetter');
 | 
| +    {
 | 
| +      plugin.Location location = element.location;
 | 
| +      expect(location.file, '/test.dart');
 | 
| +      expect(location.offset, 16);
 | 
| +      expect(location.length, 'mySetter'.length);
 | 
| +      expect(location.startLine, 2);
 | 
| +      expect(location.startColumn, 7);
 | 
| +    }
 | 
| +    expect(element.parameters, '(String x)');
 | 
| +    expect(element.returnType, isNull);
 | 
| +    expect(element.flags, 0);
 | 
| +  }
 | 
| +
 | 
| +  void test_convertElementKind() {
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.CLASS),
 | 
| +        plugin.ElementKind.CLASS);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.COMPILATION_UNIT),
 | 
| +        plugin.ElementKind.COMPILATION_UNIT);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.CONSTRUCTOR),
 | 
| +        plugin.ElementKind.CONSTRUCTOR);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.FIELD),
 | 
| +        plugin.ElementKind.FIELD);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.FUNCTION),
 | 
| +        plugin.ElementKind.FUNCTION);
 | 
| +    expect(
 | 
| +        converter.convertElementKind(analyzer.ElementKind.FUNCTION_TYPE_ALIAS),
 | 
| +        plugin.ElementKind.FUNCTION_TYPE_ALIAS);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.GETTER),
 | 
| +        plugin.ElementKind.GETTER);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.LABEL),
 | 
| +        plugin.ElementKind.LABEL);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.LIBRARY),
 | 
| +        plugin.ElementKind.LIBRARY);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.LOCAL_VARIABLE),
 | 
| +        plugin.ElementKind.LOCAL_VARIABLE);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.METHOD),
 | 
| +        plugin.ElementKind.METHOD);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.PARAMETER),
 | 
| +        plugin.ElementKind.PARAMETER);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.SETTER),
 | 
| +        plugin.ElementKind.SETTER);
 | 
| +    expect(
 | 
| +        converter.convertElementKind(analyzer.ElementKind.TOP_LEVEL_VARIABLE),
 | 
| +        plugin.ElementKind.TOP_LEVEL_VARIABLE);
 | 
| +    expect(converter.convertElementKind(analyzer.ElementKind.TYPE_PARAMETER),
 | 
| +        plugin.ElementKind.TYPE_PARAMETER);
 | 
| +  }
 | 
| +
 | 
|    test_convertErrorSeverity() {
 | 
|      for (analyzer.ErrorSeverity severity in analyzer.ErrorSeverity.values) {
 | 
|        if (severity != analyzer.ErrorSeverity.NONE) {
 | 
| @@ -183,4 +577,33 @@ class AnalyzerConverterTest {
 | 
|        expect(converter.convertErrorType(type), isNotNull, reason: type.name);
 | 
|      }
 | 
|    }
 | 
| +
 | 
| +  test_fromElement_LABEL() async {
 | 
| +    analyzer.Source source = addSource(
 | 
| +        testFile,
 | 
| +        '''
 | 
| +main() {
 | 
| +myLabel:
 | 
| +  while (true) {
 | 
| +    break myLabel;
 | 
| +  }
 | 
| +}''');
 | 
| +    analyzer.CompilationUnit unit = await resolveLibraryUnit(source);
 | 
| +    analyzer.LabelElement engineElement = findElementInUnit(unit, 'myLabel');
 | 
| +    // create notification Element
 | 
| +    plugin.Element element = converter.convertElement(engineElement);
 | 
| +    expect(element.kind, plugin.ElementKind.LABEL);
 | 
| +    expect(element.name, 'myLabel');
 | 
| +    {
 | 
| +      plugin.Location location = element.location;
 | 
| +      expect(location.file, '/test.dart');
 | 
| +      expect(location.offset, 9);
 | 
| +      expect(location.length, 'myLabel'.length);
 | 
| +      expect(location.startLine, 2);
 | 
| +      expect(location.startColumn, 1);
 | 
| +    }
 | 
| +    expect(element.parameters, isNull);
 | 
| +    expect(element.returnType, isNull);
 | 
| +    expect(element.flags, 0);
 | 
| +  }
 | 
|  }
 | 
| 
 |