| Index: pkg/analyzer/test/generated/resolver_test.dart
|
| diff --git a/pkg/analyzer/test/generated/resolver_test.dart b/pkg/analyzer/test/generated/resolver_test.dart
|
| index 7283b20d95690ee863d63318cfe934f076d3429b..40f52dbd789b96c4352cd03fcac4850165629582 100644
|
| --- a/pkg/analyzer/test/generated/resolver_test.dart
|
| +++ b/pkg/analyzer/test/generated/resolver_test.dart
|
| @@ -2899,6 +2899,14 @@ class NonErrorResolverTest extends ResolverTestCase {
|
| verify([source]);
|
| }
|
|
|
| + void test_nativeFunctionBodyInNonSDKCode_function() {
|
| + Source source = addSource(EngineTestCase.createSource(["import 'dart-ext:x';", "int m(a) native 'string';"]));
|
| + resolve(source);
|
| + // There's no good way to fool the file system into believing that the referenced file exists,
|
| + // but the test still verifies that the native function body is allowed because of the import.
|
| + assertErrors(source, [CompileTimeErrorCode.URI_DOES_NOT_EXIST]);
|
| + }
|
| +
|
| void test_newWithAbstractClass_factory() {
|
| Source source = addSource(EngineTestCase.createSource([
|
| "abstract class A {",
|
| @@ -5110,6 +5118,10 @@ class NonErrorResolverTest extends ResolverTestCase {
|
| final __test = new NonErrorResolverTest();
|
| runJUnitTest(__test, __test.test_multipleSuperInitializers_single);
|
| });
|
| + _ut.test('test_nativeFunctionBodyInNonSDKCode_function', () {
|
| + final __test = new NonErrorResolverTest();
|
| + runJUnitTest(__test, __test.test_nativeFunctionBodyInNonSDKCode_function);
|
| + });
|
| _ut.test('test_newWithAbstractClass_factory', () {
|
| final __test = new NonErrorResolverTest();
|
| runJUnitTest(__test, __test.test_newWithAbstractClass_factory);
|
| @@ -11240,8 +11252,8 @@ class CompileTimeErrorCodeTest extends ResolverTestCase {
|
| verify([source]);
|
| }
|
|
|
| - void test_importInternalLibrary_collection() {
|
| - Source source = addSource(EngineTestCase.createSource(["import 'dart:_internal';"]));
|
| + void test_importInternalLibrary_js_helper() {
|
| + Source source = addSource(EngineTestCase.createSource(["import 'dart:_js_helper';"]));
|
| resolve(source);
|
| // Note, in these error cases we may generate an UNUSED_IMPORT hint, while we could prevent
|
| // the hint from being generated by testing the import directive for the error, this is such a
|
| @@ -13585,9 +13597,9 @@ class CompileTimeErrorCodeTest extends ResolverTestCase {
|
| final __test = new CompileTimeErrorCodeTest();
|
| runJUnitTest(__test, __test.test_importInternalLibrary);
|
| });
|
| - _ut.test('test_importInternalLibrary_collection', () {
|
| + _ut.test('test_importInternalLibrary_js_helper', () {
|
| final __test = new CompileTimeErrorCodeTest();
|
| - runJUnitTest(__test, __test.test_importInternalLibrary_collection);
|
| + runJUnitTest(__test, __test.test_importInternalLibrary_js_helper);
|
| });
|
| _ut.test('test_importOfNonLibrary', () {
|
| final __test = new CompileTimeErrorCodeTest();
|
| @@ -18839,6 +18851,11 @@ class AnalysisContextHelper {
|
| LibraryElement libraryElement = context.computeLibraryElement(source);
|
| return context.resolveCompilationUnit(source, libraryElement);
|
| }
|
| +
|
| + void runTasks() {
|
| + while (context.performAnalysisTask().changeNotices != null) {
|
| + }
|
| + }
|
| }
|
|
|
| class ErrorResolverTest extends ResolverTestCase {
|
| @@ -22690,6 +22707,59 @@ class SimpleResolverTest extends ResolverTestCase {
|
| verify([source]);
|
| }
|
|
|
| + void test_metadata_fieldFormalParameter() {
|
| + Source source = addSource(EngineTestCase.createSource([
|
| + "const A = null;",
|
| + "class C {",
|
| + " int f;",
|
| + " C(@A this.f);",
|
| + "}"]));
|
| + LibraryElement library = resolve(source);
|
| + JUnitTestCase.assertNotNull(library);
|
| + CompilationUnitElement unit = library.definingCompilationUnit;
|
| + JUnitTestCase.assertNotNull(unit);
|
| + List<ClassElement> classes = unit.types;
|
| + EngineTestCase.assertLength(1, classes);
|
| + List<ConstructorElement> constructors = classes[0].constructors;
|
| + EngineTestCase.assertLength(1, constructors);
|
| + List<ParameterElement> parameters = constructors[0].parameters;
|
| + EngineTestCase.assertLength(1, parameters);
|
| + List<ElementAnnotation> annotations = parameters[0].metadata;
|
| + EngineTestCase.assertLength(1, annotations);
|
| + assertNoErrors(source);
|
| + verify([source]);
|
| + }
|
| +
|
| + void test_metadata_function() {
|
| + Source source = addSource(EngineTestCase.createSource(["const A = null;", "@A f() {}"]));
|
| + LibraryElement library = resolve(source);
|
| + JUnitTestCase.assertNotNull(library);
|
| + CompilationUnitElement unit = library.definingCompilationUnit;
|
| + JUnitTestCase.assertNotNull(unit);
|
| + List<FunctionElement> functions = unit.functions;
|
| + EngineTestCase.assertLength(1, functions);
|
| + List<ElementAnnotation> annotations = functions[0].metadata;
|
| + EngineTestCase.assertLength(1, annotations);
|
| + assertNoErrors(source);
|
| + verify([source]);
|
| + }
|
| +
|
| + void test_metadata_functionTypedParameter() {
|
| + Source source = addSource(EngineTestCase.createSource(["const A = null;", "f(@A int p(int x)) {}"]));
|
| + LibraryElement library = resolve(source);
|
| + JUnitTestCase.assertNotNull(library);
|
| + CompilationUnitElement unit = library.definingCompilationUnit;
|
| + JUnitTestCase.assertNotNull(unit);
|
| + List<FunctionElement> functions = unit.functions;
|
| + EngineTestCase.assertLength(1, functions);
|
| + List<ParameterElement> parameters = functions[0].parameters;
|
| + EngineTestCase.assertLength(1, parameters);
|
| + List<ElementAnnotation> annotations1 = parameters[0].metadata;
|
| + EngineTestCase.assertLength(1, annotations1);
|
| + assertNoErrors(source);
|
| + verify([source]);
|
| + }
|
| +
|
| void test_metadata_libraryDirective() {
|
| Source source = addSource(EngineTestCase.createSource(["@A library lib;", "const A = null;"]));
|
| LibraryElement library = resolve(source);
|
| @@ -22715,6 +22785,56 @@ class SimpleResolverTest extends ResolverTestCase {
|
| verify([source]);
|
| }
|
|
|
| + void test_metadata_namedParameter() {
|
| + Source source = addSource(EngineTestCase.createSource(["const A = null;", "f({@A int p : 0}) {}"]));
|
| + LibraryElement library = resolve(source);
|
| + JUnitTestCase.assertNotNull(library);
|
| + CompilationUnitElement unit = library.definingCompilationUnit;
|
| + JUnitTestCase.assertNotNull(unit);
|
| + List<FunctionElement> functions = unit.functions;
|
| + EngineTestCase.assertLength(1, functions);
|
| + List<ParameterElement> parameters = functions[0].parameters;
|
| + EngineTestCase.assertLength(1, parameters);
|
| + List<ElementAnnotation> annotations1 = parameters[0].metadata;
|
| + EngineTestCase.assertLength(1, annotations1);
|
| + assertNoErrors(source);
|
| + verify([source]);
|
| + }
|
| +
|
| + void test_metadata_positionalParameter() {
|
| + Source source = addSource(EngineTestCase.createSource(["const A = null;", "f([@A int p = 0]) {}"]));
|
| + LibraryElement library = resolve(source);
|
| + JUnitTestCase.assertNotNull(library);
|
| + CompilationUnitElement unit = library.definingCompilationUnit;
|
| + JUnitTestCase.assertNotNull(unit);
|
| + List<FunctionElement> functions = unit.functions;
|
| + EngineTestCase.assertLength(1, functions);
|
| + List<ParameterElement> parameters = functions[0].parameters;
|
| + EngineTestCase.assertLength(1, parameters);
|
| + List<ElementAnnotation> annotations1 = parameters[0].metadata;
|
| + EngineTestCase.assertLength(1, annotations1);
|
| + assertNoErrors(source);
|
| + verify([source]);
|
| + }
|
| +
|
| + void test_metadata_simpleParameter() {
|
| + Source source = addSource(EngineTestCase.createSource(["const A = null;", "f(@A p1, @A int p2) {}"]));
|
| + LibraryElement library = resolve(source);
|
| + JUnitTestCase.assertNotNull(library);
|
| + CompilationUnitElement unit = library.definingCompilationUnit;
|
| + JUnitTestCase.assertNotNull(unit);
|
| + List<FunctionElement> functions = unit.functions;
|
| + EngineTestCase.assertLength(1, functions);
|
| + List<ParameterElement> parameters = functions[0].parameters;
|
| + EngineTestCase.assertLength(2, parameters);
|
| + List<ElementAnnotation> annotations1 = parameters[0].metadata;
|
| + EngineTestCase.assertLength(1, annotations1);
|
| + List<ElementAnnotation> annotations2 = parameters[1].metadata;
|
| + EngineTestCase.assertLength(1, annotations2);
|
| + assertNoErrors(source);
|
| + verify([source]);
|
| + }
|
| +
|
| void test_method_fromMixin() {
|
| Source source = addSource(EngineTestCase.createSource([
|
| "class B {",
|
| @@ -23011,6 +23131,18 @@ class SimpleResolverTest extends ResolverTestCase {
|
| final __test = new SimpleResolverTest();
|
| runJUnitTest(__test, __test.test_metadata_field);
|
| });
|
| + _ut.test('test_metadata_fieldFormalParameter', () {
|
| + final __test = new SimpleResolverTest();
|
| + runJUnitTest(__test, __test.test_metadata_fieldFormalParameter);
|
| + });
|
| + _ut.test('test_metadata_function', () {
|
| + final __test = new SimpleResolverTest();
|
| + runJUnitTest(__test, __test.test_metadata_function);
|
| + });
|
| + _ut.test('test_metadata_functionTypedParameter', () {
|
| + final __test = new SimpleResolverTest();
|
| + runJUnitTest(__test, __test.test_metadata_functionTypedParameter);
|
| + });
|
| _ut.test('test_metadata_libraryDirective', () {
|
| final __test = new SimpleResolverTest();
|
| runJUnitTest(__test, __test.test_metadata_libraryDirective);
|
| @@ -23019,6 +23151,18 @@ class SimpleResolverTest extends ResolverTestCase {
|
| final __test = new SimpleResolverTest();
|
| runJUnitTest(__test, __test.test_metadata_method);
|
| });
|
| + _ut.test('test_metadata_namedParameter', () {
|
| + final __test = new SimpleResolverTest();
|
| + runJUnitTest(__test, __test.test_metadata_namedParameter);
|
| + });
|
| + _ut.test('test_metadata_positionalParameter', () {
|
| + final __test = new SimpleResolverTest();
|
| + runJUnitTest(__test, __test.test_metadata_positionalParameter);
|
| + });
|
| + _ut.test('test_metadata_simpleParameter', () {
|
| + final __test = new SimpleResolverTest();
|
| + runJUnitTest(__test, __test.test_metadata_simpleParameter);
|
| + });
|
| _ut.test('test_methodCascades', () {
|
| final __test = new SimpleResolverTest();
|
| runJUnitTest(__test, __test.test_methodCascades);
|
|
|