| Index: pkg/analyzer/test/generated/compile_time_error_code_test.dart | 
| diff --git a/pkg/analyzer/test/generated/compile_time_error_code_test.dart b/pkg/analyzer/test/generated/compile_time_error_code_test.dart | 
| index abea165f789d5dede42bcc438a13f4188918165c..461c6283ca3362c7c567fe37c7cdd36990bc711e 100644 | 
| --- a/pkg/analyzer/test/generated/compile_time_error_code_test.dart | 
| +++ b/pkg/analyzer/test/generated/compile_time_error_code_test.dart | 
| @@ -19,6 +19,15 @@ main() { | 
|  | 
| @reflectiveTest | 
| class CompileTimeErrorCodeTest extends ResolverTestCase { | 
| +  /** | 
| +   * Computes errors for the given [librarySource]. | 
| +   * This assumes that the given [librarySource] and its parts have already | 
| +   * been added to the content provider using the method [addNamedSource]. | 
| +   */ | 
| +  void computeLibrarySourceErrors(Source librarySource) { | 
| +    analysisContext.computeErrors(librarySource); | 
| +  } | 
| + | 
| void fail_awaitInWrongContext_sync() { | 
| // This test requires better error recovery than we currently have. In | 
| // particular, we need to be able to distinguish between an await expression | 
| @@ -27,7 +36,7 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { | 
| f(x) { | 
| return await x; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.AWAIT_IN_WRONG_CONTEXT]); | 
| verify([source]); | 
| } | 
| @@ -40,7 +49,7 @@ f(x) { | 
| f(x) sync* { | 
| yield await x; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.AWAIT_IN_WRONG_CONTEXT]); | 
| verify([source]); | 
| } | 
| @@ -48,7 +57,7 @@ f(x) sync* { | 
| void fail_compileTimeConstantRaisesException() { | 
| Source source = addSource(r''' | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.COMPILE_TIME_CONSTANT_RAISES_EXCEPTION]); | 
| verify([source]); | 
| @@ -60,7 +69,7 @@ class C { | 
| const C(); | 
| } | 
| f() { return const C(); }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_CONSTRUCTOR_THROWS_EXCEPTION]); | 
| verify([source]); | 
| @@ -74,7 +83,7 @@ class A { | 
| int async; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_IDENTIFIER_IN_ASYNC]); | 
| verify([source]); | 
| } | 
| @@ -87,7 +96,7 @@ class A { | 
| int await; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_IDENTIFIER_IN_ASYNC]); | 
| verify([source]); | 
| } | 
| @@ -100,7 +109,7 @@ class A { | 
| int yield; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_IDENTIFIER_IN_ASYNC]); | 
| verify([source]); | 
| } | 
| @@ -111,7 +120,7 @@ class A { | 
| A() {} | 
| } | 
| class B extends Object mixin A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_DECLARES_CONSTRUCTOR]); | 
| verify([source]); | 
| } | 
| @@ -121,7 +130,7 @@ class B extends Object mixin A {}'''); | 
| Source source = addSource(r''' | 
| var A; | 
| class B extends Object mixin A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_NON_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -129,7 +138,7 @@ class B extends Object mixin A {}'''); | 
| void fail_objectCannotExtendAnotherClass() { | 
| Source source = addSource(r''' | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.OBJECT_CANNOT_EXTEND_ANOTHER_CLASS]); | 
| verify([source]); | 
| @@ -138,7 +147,7 @@ class B extends Object mixin A {}'''); | 
| void fail_superInitializerInObject() { | 
| Source source = addSource(r''' | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_INITIALIZER_IN_OBJECT]); | 
| verify([source]); | 
| } | 
| @@ -150,7 +159,7 @@ class B extends Object mixin A {}'''); | 
| f() async { | 
| yield* 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.YIELD_EACH_IN_NON_GENERATOR]); | 
| verify([source]); | 
| } | 
| @@ -162,7 +171,7 @@ f() async { | 
| f() { | 
| yield* 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.YIELD_IN_NON_GENERATOR]); | 
| verify([source]); | 
| } | 
| @@ -174,7 +183,7 @@ f() { | 
| f() async { | 
| yield 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.YIELD_IN_NON_GENERATOR]); | 
| verify([source]); | 
| } | 
| @@ -186,7 +195,7 @@ f() async { | 
| f() { | 
| yield 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.YIELD_EACH_IN_NON_GENERATOR]); | 
| verify([source]); | 
| } | 
| @@ -197,7 +206,7 @@ enum E { ONE } | 
| String name(E e) { | 
| return e._name; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD]); | 
| // Cannot verify because "_name" cannot be resolved. | 
| } | 
| @@ -213,7 +222,7 @@ class N {}'''); | 
| addNamedSource("/lib2.dart", r''' | 
| library lib2; | 
| class N {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.AMBIGUOUS_EXPORT]); | 
| verify([source]); | 
| } | 
| @@ -226,7 +235,7 @@ f() async { | 
| g(0); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -239,7 +248,7 @@ f() async { | 
| new C().g(async: 0); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| // Note: we don't call verify([source]) because verify() doesn't understand | 
| // about @proxy. | 
| @@ -251,7 +260,7 @@ f() async { | 
| var async = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -262,7 +271,7 @@ f() async* { | 
| var async = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -275,7 +284,7 @@ f() async { | 
| } | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER, | 
| CompileTimeErrorCode.LABEL_UNDEFINED | 
| @@ -293,7 +302,7 @@ f() async { | 
| return new C()..async(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -307,7 +316,7 @@ f() async { | 
| return new C()..async = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -321,7 +330,7 @@ f() async { | 
| } catch (async) { } | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -335,7 +344,7 @@ f() async { | 
| } catch (e, async) { } | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -348,7 +357,7 @@ f() async { | 
| } | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER, | 
| CompileTimeErrorCode.LABEL_UNDEFINED | 
| @@ -364,7 +373,7 @@ f() async { | 
| for (async in []) {} | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -376,7 +385,7 @@ f() async { | 
| g(0); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -390,7 +399,7 @@ f() async { | 
| return new C().async; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -404,7 +413,7 @@ f() async { | 
| return new C().async(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -415,7 +424,7 @@ f() async { | 
| int async() => null; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -427,7 +436,7 @@ f() async { | 
| return new async.Future.value(0); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -441,7 +450,7 @@ f() async { | 
| new C().async = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -453,7 +462,7 @@ f() async { | 
| } | 
| g() {} | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -465,7 +474,7 @@ f() async { | 
| return "$async"; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -481,7 +490,7 @@ f() async { | 
| return l.async; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -494,7 +503,7 @@ f() async { | 
| } | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -505,7 +514,7 @@ f() sync* { | 
| var async = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -516,7 +525,7 @@ f(list) { | 
| await for (var e in list) { | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.ASYNC_FOR_IN_WRONG_CONTEXT]); | 
| verify([source]); | 
| } | 
| @@ -527,7 +536,7 @@ f() async { | 
| var await = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -538,7 +547,7 @@ f() async* { | 
| var await = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -549,7 +558,7 @@ f() sync* { | 
| var await = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -563,7 +572,7 @@ class B { | 
| dynamic @A(const A()) x; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| ParserErrorCode.EXPECTED_CLASS_MEMBER, | 
| ParserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE | 
| @@ -576,7 +585,7 @@ class B { | 
| class A {} | 
| class B {} | 
| class as = A with B;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME]); | 
| verify([source]); | 
| @@ -588,7 +597,7 @@ class A { | 
| var x; | 
| A(static this.x); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE]); | 
| verify([source]); | 
| } | 
| @@ -597,7 +606,7 @@ class A { | 
| Source source = addSource(r''' | 
| f(static x) { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE]); | 
| verify([source]); | 
| } | 
| @@ -607,14 +616,14 @@ f(static x) { | 
| f() { | 
| typedef x; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE]); | 
| verify([source]); | 
| } | 
|  | 
| void test_builtInIdentifierAsTypedefName_functionTypeAlias() { | 
| Source source = addSource("typedef bool as();"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME]); | 
| verify([source]); | 
| @@ -622,7 +631,7 @@ f() { | 
|  | 
| void test_builtInIdentifierAsTypeName() { | 
| Source source = addSource("class as {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_NAME]); | 
| verify([source]); | 
| @@ -630,7 +639,7 @@ f() { | 
|  | 
| void test_builtInIdentifierAsTypeParameterName() { | 
| Source source = addSource("class A<as> {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_PARAMETER_NAME]); | 
| verify([source]); | 
| @@ -653,7 +662,7 @@ f(var a) { | 
| default: return 0; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]); | 
| verify([source]); | 
| @@ -665,7 +674,7 @@ class A { | 
| int x; | 
| A.x() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONFLICTING_CONSTRUCTOR_NAME_AND_FIELD]); | 
| verify([source]); | 
| @@ -677,7 +686,7 @@ class A { | 
| const A.x(); | 
| void x() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONFLICTING_CONSTRUCTOR_NAME_AND_METHOD]); | 
| verify([source]); | 
| @@ -691,7 +700,7 @@ class A { | 
| class B extends A { | 
| m() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONFLICTING_GETTER_AND_METHOD]); | 
| verify([source]); | 
| } | 
| @@ -704,7 +713,7 @@ class A { | 
| class B extends A { | 
| m() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONFLICTING_GETTER_AND_METHOD]); | 
| verify([source]); | 
| } | 
| @@ -717,7 +726,7 @@ class A { | 
| class B extends A { | 
| int m; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONFLICTING_METHOD_AND_GETTER]); | 
| verify([source]); | 
| } | 
| @@ -730,7 +739,7 @@ class A { | 
| class B extends A { | 
| get m => 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONFLICTING_METHOD_AND_GETTER]); | 
| verify([source]); | 
| } | 
| @@ -739,7 +748,7 @@ class B extends A { | 
| Source source = addSource(r''' | 
| class T<T> { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_CLASS]); | 
| verify([source]); | 
| @@ -750,7 +759,7 @@ class T<T> { | 
| class A<T> { | 
| var T; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_MEMBER]); | 
| verify([source]); | 
| @@ -761,7 +770,7 @@ class A<T> { | 
| class A<T> { | 
| get T => null; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_MEMBER]); | 
| verify([source]); | 
| @@ -772,7 +781,7 @@ class A<T> { | 
| class A<T> { | 
| T() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_MEMBER]); | 
| verify([source]); | 
| @@ -783,7 +792,7 @@ class A<T> { | 
| class A<T> { | 
| static T() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_MEMBER]); | 
| verify([source]); | 
| @@ -794,7 +803,7 @@ class A<T> { | 
| class A<T> { | 
| set T(x) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_MEMBER]); | 
| verify([source]); | 
| @@ -820,7 +829,7 @@ foo(var p) { | 
| break; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertNoErrors(source); | 
| verify([source]); | 
| } | 
| @@ -834,7 +843,7 @@ class A { | 
| int f() { | 
| return 3; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| // TODO(paulberry): the error CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE is | 
| // redundant and ought to be suppressed. | 
| assertErrors(source, [ | 
| @@ -853,7 +862,7 @@ class A { | 
| int f() { | 
| return 3; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertNoErrors(source); | 
| verify([source]); | 
| } | 
| @@ -865,7 +874,7 @@ class M { | 
| class A extends Object with M { | 
| const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_MIXIN]); | 
| verify([source]); | 
| } | 
| @@ -878,7 +887,7 @@ class A { | 
| class B extends A { | 
| const B(): super(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_CONST_SUPER]); | 
| verify([source]); | 
| @@ -892,7 +901,7 @@ class A { | 
| class B extends A { | 
| const B(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_CONST_SUPER]); | 
| verify([source]); | 
| @@ -906,7 +915,7 @@ class A { | 
| class B extends Object with A { | 
| const B(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_MIXIN, | 
| CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_FINAL_FIELD | 
| @@ -922,7 +931,7 @@ class A { | 
| class B extends A { | 
| const B(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_FINAL_FIELD, | 
| CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_CONST_SUPER | 
| @@ -936,7 +945,7 @@ class A { | 
| int x; | 
| const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_FINAL_FIELD]); | 
| verify([source]); | 
| @@ -980,7 +989,7 @@ class A { | 
| const A(); | 
| } | 
| const a = new A();'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE]); | 
| verify([source]); | 
| @@ -994,7 +1003,7 @@ class A { | 
| external factory const A(); | 
| } | 
| const x = const A();'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertNoErrors(source); | 
| verify([source]); | 
| } | 
| @@ -1007,7 +1016,7 @@ class A { | 
| } | 
| final a = const A(); | 
| const C = a.m;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE]); | 
| verify([source]); | 
| @@ -1025,28 +1034,28 @@ const C = a.m;'''); | 
|  | 
| void test_constEvalThrowsException_divisionByZero() { | 
| Source source = addSource("const C = 1 ~/ 0;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_EVAL_THROWS_IDBZE]); | 
| verify([source]); | 
| } | 
|  | 
| void test_constEvalThrowsException_unaryBitNot_null() { | 
| Source source = addSource("const C = ~null;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION]); | 
| // no verify(), '~null' is not resolved | 
| } | 
|  | 
| void test_constEvalThrowsException_unaryNegated_null() { | 
| Source source = addSource("const C = -null;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION]); | 
| // no verify(), '-null' is not resolved | 
| } | 
|  | 
| void test_constEvalThrowsException_unaryNot_null() { | 
| Source source = addSource("const C = !null;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION]); | 
| verify([source]); | 
| } | 
| @@ -1058,7 +1067,7 @@ const C = a.m;'''); | 
|  | 
| void test_constEvalTypeBool_binary_leftTrue() { | 
| Source source = addSource("const C = (true || 0);"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL, | 
| StaticTypeWarningCode.NON_BOOL_OPERAND, | 
| @@ -1076,7 +1085,7 @@ class B { | 
| final a; | 
| const B(num p) : a = p == const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL_NUM_STRING]); | 
| verify([source]); | 
| @@ -1091,7 +1100,7 @@ class B { | 
| final a; | 
| const B(String p) : a = p != const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL_NUM_STRING]); | 
| verify([source]); | 
| @@ -1124,14 +1133,14 @@ class A { | 
| var x; | 
| A(const this.x) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_FORMAL_PARAMETER]); | 
| verify([source]); | 
| } | 
|  | 
| void test_constFormalParameter_simpleFormalParameter() { | 
| Source source = addSource("f(const x) {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_FORMAL_PARAMETER]); | 
| verify([source]); | 
| } | 
| @@ -1141,7 +1150,7 @@ class A { | 
| f(p) { | 
| const C = p; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE]); | 
| verify([source]); | 
| @@ -1149,7 +1158,7 @@ f(p) { | 
|  | 
| void test_constInitializedWithNonConstValue_missingConstInListLiteral() { | 
| Source source = addSource("const List L = [0];"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE]); | 
| verify([source]); | 
| @@ -1157,7 +1166,7 @@ f(p) { | 
|  | 
| void test_constInitializedWithNonConstValue_missingConstInMapLiteral() { | 
| Source source = addSource("const Map M = {'a' : 0};"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE]); | 
| verify([source]); | 
| @@ -1196,7 +1205,7 @@ const B = a.V + 1;''' | 
| class C { | 
| const int f = 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_INSTANCE_FIELD]); | 
| verify([source]); | 
| } | 
| @@ -1210,7 +1219,7 @@ class A { | 
| main() { | 
| const {const A() : 0}; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_MAP_KEY_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]); | 
| verify([source]); | 
| @@ -1231,7 +1240,7 @@ class B { | 
| main() { | 
| const {B.a : 0}; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_MAP_KEY_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]); | 
| verify([source]); | 
| @@ -1250,7 +1259,7 @@ class B implements A { | 
| main() { | 
| var m = const { const A(): 42 }; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_MAP_KEY_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]); | 
| verify([source]); | 
| @@ -1268,7 +1277,7 @@ class B extends A { | 
| main() { | 
| const {const B() : 0}; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_MAP_KEY_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]); | 
| verify([source]); | 
| @@ -1280,7 +1289,7 @@ class A { | 
| const A(); | 
| } | 
| f() { return const A<A>(); }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_WITH_INVALID_TYPE_PARAMETERS]); | 
| verify([source]); | 
| @@ -1295,7 +1304,7 @@ class C<K, V> { | 
| f(p) { | 
| return const C<A>(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_WITH_INVALID_TYPE_PARAMETERS]); | 
| verify([source]); | 
| @@ -1310,7 +1319,7 @@ class C<E> { | 
| f(p) { | 
| return const C<A, A>(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_WITH_INVALID_TYPE_PARAMETERS]); | 
| verify([source]); | 
| @@ -1322,7 +1331,7 @@ class T { | 
| T(a, b, {c, d}) {} | 
| } | 
| f() { return const T(0, 1, c: 2, d: 3); }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_WITH_NON_CONST]); | 
| verify([source]); | 
| } | 
| @@ -1336,7 +1345,7 @@ var v = 42; | 
| @A(v) | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_WITH_NON_CONSTANT_ARGUMENT]); | 
| verify([source]); | 
| @@ -1348,7 +1357,7 @@ class A { | 
| const A(a); | 
| } | 
| f(p) { return const A(p); }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| // TODO(paulberry): the error INVALID_CONSTAT is redundant and ought to be | 
| // suppressed. | 
| assertErrors(source, [ | 
| @@ -1364,7 +1373,7 @@ int A; | 
| f() { | 
| return const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_WITH_NON_TYPE]); | 
| verify([source]); | 
| } | 
| @@ -1376,8 +1385,8 @@ import 'lib.dart' as lib; | 
| void f() { | 
| const lib.A(); | 
| }'''); | 
| -    resolve(source1); | 
| -    resolve(source2); | 
| +    computeLibrarySourceErrors(source1); | 
| +    computeLibrarySourceErrors(source2); | 
| assertErrors(source2, [CompileTimeErrorCode.CONST_WITH_NON_TYPE]); | 
| verify([source1]); | 
| } | 
| @@ -1388,7 +1397,7 @@ class A<T> { | 
| static const V = const A<T>(); | 
| const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_WITH_TYPE_PARAMETERS, | 
| StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC | 
| @@ -1402,7 +1411,7 @@ class A<T> { | 
| static const V = const A<List<T>>(); | 
| const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_WITH_TYPE_PARAMETERS, | 
| StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC | 
| @@ -1418,7 +1427,7 @@ class A { | 
| f() { | 
| return const A.noSuchConstructor(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR]); | 
| // no verify(), 'noSuchConstructor' is not resolved | 
| @@ -1432,7 +1441,7 @@ class A { | 
| f() { | 
| return const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT]); | 
| verify([source]); | 
| @@ -1440,7 +1449,7 @@ f() { | 
|  | 
| void test_defaultValueInFunctionTypeAlias() { | 
| Source source = addSource("typedef F([x = 0]);"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPE_ALIAS]); | 
| verify([source]); | 
| @@ -1448,7 +1457,7 @@ f() { | 
|  | 
| void test_defaultValueInFunctionTypedParameter_named() { | 
| Source source = addSource("f(g({p: null})) {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPED_PARAMETER]); | 
| verify([source]); | 
| @@ -1456,7 +1465,7 @@ f() { | 
|  | 
| void test_defaultValueInFunctionTypedParameter_optional() { | 
| Source source = addSource("f(g([p = null])) {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPED_PARAMETER]); | 
| verify([source]); | 
| @@ -1471,7 +1480,7 @@ class A { | 
| class B implements A { | 
| B([int x = 1]) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.DEFAULT_VALUE_IN_REDIRECTING_FACTORY_CONSTRUCTOR | 
| ]); | 
| @@ -1484,7 +1493,7 @@ class A { | 
| A.a() {} | 
| A.a() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_NAME, | 
| CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_NAME | 
| @@ -1498,7 +1507,7 @@ class A { | 
| A() {} | 
| A() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT, | 
| CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT | 
| @@ -1506,17 +1515,6 @@ class A { | 
| verify([source]); | 
| } | 
|  | 
| -  void test_duplicateDefinition() { | 
| -    Source source = addSource(r''' | 
| -f() { | 
| -  int m = 0; | 
| -  m(a) {} | 
| -}'''); | 
| -    resolve(source); | 
| -    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| -    verify([source]); | 
| -  } | 
| - | 
| void test_duplicateDefinition_acrossLibraries() { | 
| Source librarySource = addNamedSource("/lib.dart", r''' | 
| library lib; | 
| @@ -1531,18 +1529,28 @@ class A {}'''); | 
| part of lib; | 
|  | 
| class A {}'''); | 
| -    resolve(librarySource); | 
| +    computeLibrarySourceErrors(librarySource); | 
| assertErrors(sourceB, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| verify([librarySource, sourceA, sourceB]); | 
| } | 
|  | 
| +  void test_duplicateDefinition_catch() { | 
| +    Source source = addSource(r''' | 
| +main() { | 
| +  try {} catch (e, e) {} | 
| +}'''); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| void test_duplicateDefinition_classMembers_fields() { | 
| Source source = addSource(r''' | 
| class A { | 
| int a; | 
| int a; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| verify([source]); | 
| } | 
| @@ -1553,7 +1561,7 @@ class A { | 
| int x; | 
| static int x; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| verify([source]); | 
| } | 
| @@ -1564,12 +1572,50 @@ class A { | 
| m() {} | 
| m() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| verify([source]); | 
| } | 
|  | 
| -  void test_duplicateDefinition_localFields() { | 
| +  void test_duplicateDefinition_locals_inCase() { | 
| +    Source source = addSource(r''' | 
| +main() { | 
| +  switch(1) { | 
| +    case 1: | 
| +      var a; | 
| +      var a; | 
| +  } | 
| +}'''); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| +  void test_duplicateDefinition_locals_inFunctionBlock() { | 
| +    Source source = addSource(r''' | 
| +main() { | 
| +  int m = 0; | 
| +  m(a) {} | 
| +}'''); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| +  void test_duplicateDefinition_locals_inIf() { | 
| +    Source source = addSource(r''' | 
| +main(int p) { | 
| +  if (p != 0) { | 
| +    var a; | 
| +    var a; | 
| +  } | 
| +}'''); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| +  void test_duplicateDefinition_locals_inMethodBlock() { | 
| Source source = addSource(r''' | 
| class A { | 
| m() { | 
| @@ -1577,7 +1623,56 @@ class A { | 
| int a; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| +  void test_duplicateDefinition_parameters_inFunctionTypeAlias() { | 
| +    Source source = addSource(r''' | 
| +typedef F(int a, double a); | 
| +'''); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| +  void test_duplicateDefinition_parameters_inLocalFunction() { | 
| +    Source source = addSource(r''' | 
| +main() { | 
| +  f(int a, double a) { | 
| +  }; | 
| +}'''); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| +  void test_duplicateDefinition_parameters_inMethod() { | 
| +    Source source = addSource(r''' | 
| +class A { | 
| +  m(int a, double a) { | 
| +  } | 
| +}'''); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| +  void test_duplicateDefinition_parameters_inTopLevelFunction() { | 
| +    Source source = addSource(r''' | 
| +f(int a, double a) { | 
| +}'''); | 
| +    computeLibrarySourceErrors(source); | 
| +    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| +    verify([source]); | 
| +  } | 
| + | 
| +  void test_duplicateDefinition_typeParameters() { | 
| +    Source source = addSource(r''' | 
| +class A<T, T> { | 
| +}'''); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]); | 
| verify([source]); | 
| } | 
| @@ -1590,7 +1685,7 @@ class A { | 
| class B extends A { | 
| static int get x => 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE]); | 
| verify([source]); | 
| @@ -1604,7 +1699,7 @@ abstract class A { | 
| class B extends A { | 
| static int get x => 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE]); | 
| verify([source]); | 
| @@ -1618,7 +1713,7 @@ class A { | 
| class B extends A { | 
| static x() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE]); | 
| verify([source]); | 
| @@ -1632,7 +1727,7 @@ abstract class A { | 
| abstract class B extends A { | 
| static x() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE]); | 
| verify([source]); | 
| @@ -1646,7 +1741,7 @@ class A { | 
| class B extends A { | 
| static set x(value) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE]); | 
| verify([source]); | 
| @@ -1660,7 +1755,7 @@ abstract class A { | 
| class B extends A { | 
| static set x(value) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE]); | 
| verify([source]); | 
| @@ -1672,14 +1767,14 @@ f({a, b}) {} | 
| main() { | 
| f(a: 1, a: 2); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.DUPLICATE_NAMED_ARGUMENT]); | 
| verify([source]); | 
| } | 
|  | 
| void test_exportInternalLibrary() { | 
| Source source = addSource("export 'dart:_interceptors';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXPORT_INTERNAL_LIBRARY]); | 
| verify([source]); | 
| } | 
| @@ -1689,7 +1784,7 @@ main() { | 
| library L; | 
| export 'lib1.dart';'''); | 
| addNamedSource("/lib1.dart", "part of lib;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXPORT_OF_NON_LIBRARY]); | 
| verify([source]); | 
| } | 
| @@ -1721,7 +1816,7 @@ class C = a.A with M;''' | 
|  | 
| void test_extendsDisallowedClass_class_bool() { | 
| Source source = addSource("class A extends bool {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT | 
| @@ -1731,7 +1826,7 @@ class C = a.A with M;''' | 
|  | 
| void test_extendsDisallowedClass_class_double() { | 
| Source source = addSource("class A extends double {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT | 
| @@ -1741,7 +1836,7 @@ class C = a.A with M;''' | 
|  | 
| void test_extendsDisallowedClass_class_int() { | 
| Source source = addSource("class A extends int {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT | 
| @@ -1751,7 +1846,7 @@ class C = a.A with M;''' | 
|  | 
| void test_extendsDisallowedClass_class_Null() { | 
| Source source = addSource("class A extends Null {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT | 
| @@ -1761,7 +1856,7 @@ class C = a.A with M;''' | 
|  | 
| void test_extendsDisallowedClass_class_num() { | 
| Source source = addSource("class A extends num {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT | 
| @@ -1771,7 +1866,7 @@ class C = a.A with M;''' | 
|  | 
| void test_extendsDisallowedClass_class_String() { | 
| Source source = addSource("class A extends String {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT | 
| @@ -1783,7 +1878,7 @@ class C = a.A with M;''' | 
| Source source = addSource(r''' | 
| class M {} | 
| class C = bool with M;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS | 
| @@ -1795,7 +1890,7 @@ class C = bool with M;'''); | 
| Source source = addSource(r''' | 
| class M {} | 
| class C = double with M;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -1804,7 +1899,7 @@ class C = double with M;'''); | 
| Source source = addSource(r''' | 
| class M {} | 
| class C = int with M;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS | 
| @@ -1816,7 +1911,7 @@ class C = int with M;'''); | 
| Source source = addSource(r''' | 
| class M {} | 
| class C = Null with M;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -1825,7 +1920,7 @@ class C = Null with M;'''); | 
| Source source = addSource(r''' | 
| class M {} | 
| class C = num with M;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -1834,7 +1929,7 @@ class C = num with M;'''); | 
| Source source = addSource(r''' | 
| class M {} | 
| class C = String with M;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS | 
| @@ -1846,7 +1941,7 @@ class C = String with M;'''); | 
| Source source = addSource(r''' | 
| enum E { ONE } | 
| class A extends E {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXTENDS_ENUM]); | 
| verify([source]); | 
| } | 
| @@ -1855,14 +1950,14 @@ class A extends E {}'''); | 
| Source source = addSource(r''' | 
| int A; | 
| class B extends A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXTENDS_NON_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_extendsNonClass_dynamic() { | 
| Source source = addSource("class B extends dynamic {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXTENDS_NON_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -1875,7 +1970,7 @@ class A { | 
| main() { | 
| const A(0); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXTRA_POSITIONAL_ARGUMENTS]); | 
| verify([source]); | 
| } | 
| @@ -1888,7 +1983,7 @@ class A { | 
| class B extends A { | 
| const B() : super(0); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.EXTRA_POSITIONAL_ARGUMENTS]); | 
| verify([source]); | 
| } | 
| @@ -1899,7 +1994,7 @@ class A { | 
| int x; | 
| A() : x = 0, x = 1 {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS]); | 
| verify([source]); | 
| @@ -1911,7 +2006,7 @@ class A { | 
| int x; | 
| A() : x = 0, x = 1, x = 2 {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS, | 
| CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS | 
| @@ -1926,7 +2021,7 @@ class A { | 
| int y; | 
| A() : x = 0, x = 1, y = 0, y = 1 {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS, | 
| CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS | 
| @@ -1940,7 +2035,7 @@ class A { | 
| int x; | 
| A(this.x) : x = 1 {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.FIELD_INITIALIZED_IN_PARAMETER_AND_INITIALIZER]); | 
| verify([source]); | 
| @@ -1952,7 +2047,7 @@ class A { | 
| int x; | 
| factory A(this.x) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.FIELD_INITIALIZER_FACTORY_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -1965,7 +2060,7 @@ class A { | 
| int x; | 
| m(this.x) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| ParserErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR, | 
| CompileTimeErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR | 
| @@ -1979,7 +2074,7 @@ class A { | 
| int x; | 
| m([this.x]) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -1992,7 +2087,7 @@ class A { | 
| A.named() {} | 
| A() : this.named(), x = 42; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.FIELD_INITIALIZER_REDIRECTING_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -2005,7 +2100,7 @@ class A { | 
| A.named() {} | 
| A() : x = 42, this.named(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.FIELD_INITIALIZER_REDIRECTING_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -2018,7 +2113,7 @@ class A { | 
| A.named() {} | 
| A(this.x) : this.named(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.FIELD_INITIALIZER_REDIRECTING_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -2030,7 +2125,7 @@ class A { | 
| final x; | 
| A() : x = 0, x = 0 {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS]); | 
| verify([source]); | 
| @@ -2050,7 +2145,7 @@ class A { | 
| final x; | 
| A(this.x) : x = 0 {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.FIELD_INITIALIZED_IN_PARAMETER_AND_INITIALIZER]); | 
| verify([source]); | 
| @@ -2062,7 +2157,7 @@ class A { | 
| final x; | 
| A(this.x, this.x) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.FINAL_INITIALIZED_MULTIPLE_TIMES]); | 
| verify([source]); | 
| @@ -2073,14 +2168,14 @@ class A { | 
| class A { | 
| static const F; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_NOT_INITIALIZED]); | 
| verify([source]); | 
| } | 
|  | 
| void test_finalNotInitialized_library_const() { | 
| Source source = addSource("const F;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_NOT_INITIALIZED]); | 
| verify([source]); | 
| } | 
| @@ -2090,7 +2185,7 @@ class A { | 
| f() { | 
| const int x; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.CONST_NOT_INITIALIZED]); | 
| verify([source]); | 
| } | 
| @@ -2099,7 +2194,7 @@ f() { | 
| Source source = addSource(r''' | 
| var b1 = const bool.fromEnvironment(1); | 
| var b2 = const bool.fromEnvironment('x', defaultValue: 1);'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION, | 
| StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE, | 
| @@ -2115,7 +2210,7 @@ var b2 = const bool.fromEnvironment('x', defaultValue: 1);'''); | 
| analysisContext2.declaredVariables.define("x", "true"); | 
| Source source = | 
| addSource("var b = const bool.fromEnvironment('x', defaultValue: 1);"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION, | 
| StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE | 
| @@ -2129,7 +2224,7 @@ class A { | 
| x(y) {} | 
| get x => 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.GETTER_AND_METHOD_WITH_SAME_NAME]); | 
| verify([source]); | 
| @@ -2163,49 +2258,49 @@ class C = B with M implements a.A;''' | 
|  | 
| void test_implementsDisallowedClass_class_bool() { | 
| Source source = addSource("class A implements bool {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_implementsDisallowedClass_class_double() { | 
| Source source = addSource("class A implements double {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_implementsDisallowedClass_class_int() { | 
| Source source = addSource("class A implements int {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_implementsDisallowedClass_class_Null() { | 
| Source source = addSource("class A implements Null {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_implementsDisallowedClass_class_num() { | 
| Source source = addSource("class A implements num {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_implementsDisallowedClass_class_String() { | 
| Source source = addSource("class A implements String {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_implementsDisallowedClass_class_String_num() { | 
| Source source = addSource("class A implements String, num {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS | 
| @@ -2218,7 +2313,7 @@ class C = B with M implements a.A;''' | 
| class A {} | 
| class M {} | 
| class C = A with M implements bool;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2228,7 +2323,7 @@ class C = A with M implements bool;'''); | 
| class A {} | 
| class M {} | 
| class C = A with M implements double;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2238,7 +2333,7 @@ class C = A with M implements double;'''); | 
| class A {} | 
| class M {} | 
| class C = A with M implements int;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2248,7 +2343,7 @@ class C = A with M implements int;'''); | 
| class A {} | 
| class M {} | 
| class C = A with M implements Null;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2258,7 +2353,7 @@ class C = A with M implements Null;'''); | 
| class A {} | 
| class M {} | 
| class C = A with M implements num;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2268,7 +2363,7 @@ class C = A with M implements num;'''); | 
| class A {} | 
| class M {} | 
| class C = A with M implements String;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2278,7 +2373,7 @@ class C = A with M implements String;'''); | 
| class A {} | 
| class M {} | 
| class C = A with M implements String, num;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS | 
| @@ -2288,7 +2383,7 @@ class C = A with M implements String, num;'''); | 
|  | 
| void test_implementsDynamic() { | 
| Source source = addSource("class A implements dynamic {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_DYNAMIC]); | 
| verify([source]); | 
| } | 
| @@ -2297,7 +2392,7 @@ class C = A with M implements String, num;'''); | 
| Source source = addSource(r''' | 
| enum E { ONE } | 
| class A implements E {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_ENUM]); | 
| verify([source]); | 
| } | 
| @@ -2306,7 +2401,7 @@ class A implements E {}'''); | 
| Source source = addSource(r''' | 
| int A; | 
| class B implements A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_NON_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2317,7 +2412,7 @@ class A {} | 
| class M {} | 
| int B; | 
| class C = A with M implements B;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_NON_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2326,7 +2421,7 @@ class C = A with M implements B;'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class B implements A, A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_REPEATED]); | 
| verify([source]); | 
| } | 
| @@ -2335,7 +2430,7 @@ class B implements A, A {}'''); | 
| Source source = addSource(r''' | 
| class A {} class C{} | 
| class B implements A, A, A, A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.IMPLEMENTS_REPEATED, | 
| CompileTimeErrorCode.IMPLEMENTS_REPEATED, | 
| @@ -2348,14 +2443,14 @@ class B implements A, A, A, A {}'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class B extends A implements A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_SUPER_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_implementsSuperClass_Object() { | 
| Source source = addSource("class A implements Object {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPLEMENTS_SUPER_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -2367,7 +2462,7 @@ class A { | 
| A() : v = f; | 
| var f; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -2379,7 +2474,7 @@ class A { | 
| final x = 0; | 
| final y = x; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -2392,7 +2487,7 @@ class A { | 
| A() : v = f(); | 
| f() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -2404,7 +2499,7 @@ class A { | 
| static var F = m(); | 
| m() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -2417,7 +2512,7 @@ class A { | 
| A.named() : this(f); | 
| var f; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -2432,7 +2527,7 @@ class B extends A { | 
| B() : super(f); | 
| var f; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -2440,7 +2535,7 @@ class B extends A { | 
|  | 
| void test_importInternalLibrary() { | 
| Source source = addSource("import 'dart:_interceptors';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(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 minor corner case that we don't | 
| @@ -2455,7 +2550,7 @@ class B extends A { | 
|  | 
| void test_importInternalLibrary_js_helper() { | 
| Source source = addSource("import 'dart:_js_helper';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(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 minor corner case that we don't | 
| @@ -2476,7 +2571,7 @@ A a;'''); | 
| addNamedSource("/part.dart", r''' | 
| part of lib; | 
| class A{}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.IMPORT_OF_NON_LIBRARY]); | 
| verify([source]); | 
| } | 
| @@ -2491,7 +2586,7 @@ f(var p) { | 
| break; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INCONSISTENT_CASE_EXPRESSION_TYPES]); | 
| verify([source]); | 
| @@ -2517,7 +2612,7 @@ foo(var p) { | 
| break; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.INCONSISTENT_CASE_EXPRESSION_TYPES, | 
| CompileTimeErrorCode.INCONSISTENT_CASE_EXPRESSION_TYPES | 
| @@ -2537,7 +2632,7 @@ f(var p) { | 
| break; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.INCONSISTENT_CASE_EXPRESSION_TYPES, | 
| CompileTimeErrorCode.INCONSISTENT_CASE_EXPRESSION_TYPES | 
| @@ -2553,7 +2648,7 @@ class A { | 
| const A() : x = 'foo'; | 
| } | 
| A a = const A();'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INITIALIZER_FOR_NON_EXISTENT_FIELD]); | 
| } | 
| @@ -2563,7 +2658,7 @@ A a = const A();'''); | 
| class A { | 
| A() : x = 0 {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INITIALIZER_FOR_NON_EXISTENT_FIELD]); | 
| } | 
| @@ -2574,7 +2669,7 @@ class A { | 
| static int x; | 
| A() : x = 0 {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INITIALIZER_FOR_STATIC_FIELD]); | 
| verify([source]); | 
| } | 
| @@ -2584,7 +2679,7 @@ class A { | 
| class A { | 
| A(this.x) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_NON_EXISTENT_FIELD]); | 
| verify([source]); | 
| @@ -2598,7 +2693,7 @@ int x; | 
| class B extends A { | 
| B(this.x) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_NON_EXISTENT_FIELD]); | 
| verify([source]); | 
| @@ -2609,7 +2704,7 @@ class B extends A { | 
| class A { | 
| A([this.x]) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_NON_EXISTENT_FIELD]); | 
| verify([source]); | 
| @@ -2621,7 +2716,7 @@ class A { | 
| int get x => 1; | 
| A(this.x) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_NON_EXISTENT_FIELD]); | 
| verify([source]); | 
| @@ -2633,7 +2728,7 @@ class A { | 
| static int x; | 
| A([this.x]) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_STATIC_FIELD]); | 
| verify([source]); | 
| @@ -2649,7 +2744,7 @@ class A { | 
| return new A(); | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_FACTORY]); | 
| verify([source]); | 
| @@ -2665,7 +2760,7 @@ class A { | 
| return new A._(); | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_FACTORY]); | 
| verify([source]); | 
| @@ -2679,7 +2774,7 @@ class A { | 
| f; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_STATIC]); | 
| verify([source]); | 
| @@ -2693,7 +2788,7 @@ class A { | 
| g; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_STATIC]); | 
| verify([source]); | 
| @@ -2707,7 +2802,7 @@ class A { | 
| m(); | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_STATIC]); | 
| verify([source]); | 
| @@ -2719,7 +2814,7 @@ enum E { ONE } | 
| E e(String name) { | 
| return const E(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INSTANTIATE_ENUM]); | 
| verify([source]); | 
| } | 
| @@ -2730,7 +2825,7 @@ enum E { ONE } | 
| E e(String name) { | 
| return new E(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INSTANTIATE_ENUM]); | 
| verify([source]); | 
| } | 
| @@ -2741,7 +2836,7 @@ get V => 0; | 
| @V | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| verify([source]); | 
| } | 
| @@ -2755,7 +2850,7 @@ import 'lib.dart' as p; | 
| @p.V | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| verify([source]); | 
| } | 
| @@ -2769,7 +2864,7 @@ import 'lib.dart' as p; | 
| @p.V | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| verify([source]); | 
| } | 
| @@ -2783,7 +2878,7 @@ import 'lib.dart' as p; | 
| @p.V | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| verify([source]); | 
| } | 
| @@ -2794,7 +2889,7 @@ final V = 0; | 
| @V | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| verify([source]); | 
| } | 
| @@ -2805,7 +2900,7 @@ typedef V(); | 
| @V | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| verify([source]); | 
| } | 
| @@ -2818,7 +2913,7 @@ class A { | 
| @A.f | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| verify([source]); | 
| } | 
| @@ -2828,7 +2923,7 @@ main() { | 
| @unresolved | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| } | 
|  | 
| @@ -2837,7 +2932,7 @@ main() { | 
| @Unresolved() | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| } | 
|  | 
| @@ -2847,7 +2942,7 @@ import 'dart:math' as p; | 
| @p.unresolved | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| } | 
|  | 
| @@ -2857,7 +2952,7 @@ main() { | 
| class A { | 
| static const foo = null; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_ANNOTATION]); | 
| } | 
|  | 
| @@ -2913,7 +3008,7 @@ class A { | 
| B() : super(); | 
| } | 
| class B {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_CONSTRUCTOR_NAME]); | 
| // no verify() call, "B" is not resolved | 
| } | 
| @@ -2923,7 +3018,7 @@ class B {}'''); | 
| class A { | 
| B() : super(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_CONSTRUCTOR_NAME]); | 
| // no verify() call, "B" is not resolved | 
| } | 
| @@ -2934,7 +3029,7 @@ int B; | 
| class A { | 
| factory B() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INVALID_FACTORY_NAME_NOT_A_CLASS]); | 
| verify([source]); | 
| @@ -2945,7 +3040,7 @@ class A { | 
| class A { | 
| factory B() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INVALID_FACTORY_NAME_NOT_A_CLASS]); | 
| // no verify() call, "B" is not resolved | 
| @@ -2956,7 +3051,7 @@ class A { | 
| class A { | 
| A() async {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -2967,7 +3062,7 @@ class A { | 
| class A { | 
| A() async* {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -2978,7 +3073,7 @@ class A { | 
| class A { | 
| A() sync* {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -2989,7 +3084,7 @@ class A { | 
| class A { | 
| set x(v) async {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER]); | 
| verify([source]); | 
| } | 
| @@ -2999,7 +3094,7 @@ class A { | 
| class A { | 
| set x(v) async* {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER]); | 
| verify([source]); | 
| } | 
| @@ -3009,28 +3104,28 @@ class A { | 
| class A { | 
| set x(v) sync* {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER]); | 
| verify([source]); | 
| } | 
|  | 
| void test_invalidModifierOnSetter_topLevel_async() { | 
| Source source = addSource("set x(v) async {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER]); | 
| verify([source]); | 
| } | 
|  | 
| void test_invalidModifierOnSetter_topLevel_asyncStar() { | 
| Source source = addSource("set x(v) async* {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER]); | 
| verify([source]); | 
| } | 
|  | 
| void test_invalidModifierOnSetter_topLevel_syncStar() { | 
| Source source = addSource("set x(v) sync* {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER]); | 
| verify([source]); | 
| } | 
| @@ -3040,7 +3135,7 @@ class A { | 
| class A { | 
| factory A() { return this; } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS]); | 
| verify([source]); | 
| } | 
| @@ -3051,7 +3146,7 @@ class A { | 
| var f; | 
| A() : f = this; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS]); | 
| verify([source]); | 
| } | 
| @@ -3061,7 +3156,7 @@ class A { | 
| class A { | 
| var f = this; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS]); | 
| verify([source]); | 
| } | 
| @@ -3071,7 +3166,7 @@ class A { | 
| class A { | 
| static m() { return this; } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS]); | 
| verify([source]); | 
| } | 
| @@ -3081,7 +3176,7 @@ class A { | 
| class A { | 
| static A f = this; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS]); | 
| verify([source]); | 
| } | 
| @@ -3094,21 +3189,21 @@ class A { | 
| class B extends A { | 
| B() : super(this); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_invalidReferenceToThis_topLevelFunction() { | 
| Source source = addSource("f() { return this; }"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_invalidReferenceToThis_variableInitializer() { | 
| Source source = addSource("int x = this;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS]); | 
| verify([source]); | 
| } | 
| @@ -3120,7 +3215,7 @@ class A<E> { | 
| return const <E>[]; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INVALID_TYPE_ARGUMENT_IN_CONST_LIST]); | 
| verify([source]); | 
| @@ -3133,7 +3228,7 @@ class A<E> { | 
| return const <String, E>{}; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.INVALID_TYPE_ARGUMENT_IN_CONST_MAP]); | 
| verify([source]); | 
| @@ -3141,19 +3236,19 @@ class A<E> { | 
|  | 
| void test_invalidUri_export() { | 
| Source source = addSource("export 'ht:';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_URI]); | 
| } | 
|  | 
| void test_invalidUri_import() { | 
| Source source = addSource("import 'ht:';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_URI]); | 
| } | 
|  | 
| void test_invalidUri_part() { | 
| Source source = addSource("part 'ht:';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.INVALID_URI]); | 
| } | 
|  | 
| @@ -3168,7 +3263,7 @@ class Foo<T extends num> { | 
| const x = const Foo<int>(const Foo<int>(0, 1), | 
| const <Foo<String>>[]); // (1) | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS]); | 
| verify([source]); | 
| @@ -3190,7 +3285,7 @@ class Foo { | 
| _foo() { | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -3207,7 +3302,7 @@ class A { | 
| } | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.LABEL_IN_OUTER_SCOPE]); | 
| // We cannot verify resolution with unresolvable labels | 
| } | 
| @@ -3219,7 +3314,7 @@ f() { | 
| break y; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.LABEL_UNDEFINED]); | 
| // We cannot verify resolution with undefined labels | 
| } | 
| @@ -3231,7 +3326,7 @@ f() { | 
| continue y; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.LABEL_UNDEFINED]); | 
| // We cannot verify resolution with undefined labels | 
| } | 
| @@ -3240,7 +3335,7 @@ f() { | 
| // Attempting to compute the length of constant that couldn't be evaluated | 
| // (due to an error) should not crash the analyzer (see dartbug.com/23383) | 
| Source source = addSource("const int i = (1 ? 'alpha' : 'beta').length;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE, | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL, | 
| @@ -3254,7 +3349,7 @@ f() { | 
| class A { | 
| int A = 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME]); | 
| verify([source]); | 
| } | 
| @@ -3264,7 +3359,7 @@ class A { | 
| class A { | 
| int z, A, b = 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME]); | 
| verify([source]); | 
| } | 
| @@ -3274,7 +3369,7 @@ class A { | 
| class A { | 
| get A => 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME]); | 
| verify([source]); | 
| } | 
| @@ -3289,7 +3384,7 @@ class A { | 
| get x => 0; | 
| x(y) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.METHOD_AND_GETTER_WITH_SAME_NAME]); | 
| verify([source]); | 
| @@ -3305,7 +3400,7 @@ bool odd(E e) { | 
| } | 
| return false; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.MISSING_ENUM_CONSTANT_IN_SWITCH, | 
| CompileTimeErrorCode.MISSING_ENUM_CONSTANT_IN_SWITCH | 
| @@ -3319,7 +3414,7 @@ class A { | 
| A() {} | 
| } | 
| class B extends Object with A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_DECLARES_CONSTRUCTOR]); | 
| verify([source]); | 
| } | 
| @@ -3330,7 +3425,7 @@ class A { | 
| A() {} | 
| } | 
| class B = Object with A;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_DECLARES_CONSTRUCTOR]); | 
| verify([source]); | 
| } | 
| @@ -3368,7 +3463,7 @@ class B { | 
| class M {} | 
| class C = B with M; | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS]); | 
| verify([source]); | 
| } | 
| @@ -3385,7 +3480,7 @@ class C extends B with M {} | 
| // generate a further error (despite the fact that it's not forwarded), | 
| // since CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS does a better job | 
| // of explaining the probem to the user. | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS]); | 
| verify([source]); | 
| } | 
| @@ -3404,7 +3499,7 @@ class C extends B with M { | 
| // error (despite the fact that it's not forwarded), since | 
| // CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS does a better job of | 
| // explaining the error to the user. | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS]); | 
| verify([source]); | 
| } | 
| @@ -3423,7 +3518,7 @@ class C extends B with M { | 
| // error (despite the fact that it's not forwarded), since | 
| // CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS does a better job of | 
| // explaining the error to the user. | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS]); | 
| verify([source]); | 
| } | 
| @@ -3442,7 +3537,7 @@ class C extends B with M { | 
| // further error (despite the fact that it's not forwarded), since | 
| // CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS does a better job of | 
| // explaining the error to the user. | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS]); | 
| verify([source]); | 
| } | 
| @@ -3452,7 +3547,7 @@ class C extends B with M { | 
| class A {} | 
| class B extends A {} | 
| class C extends Object with B {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_INHERITS_FROM_NOT_OBJECT]); | 
| verify([source]); | 
| } | 
| @@ -3462,7 +3557,7 @@ class C extends Object with B {}'''); | 
| class A {} | 
| class B extends Object with A {} | 
| class C extends Object with B {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_INHERITS_FROM_NOT_OBJECT]); | 
| verify([source]); | 
| } | 
| @@ -3472,7 +3567,7 @@ class C extends Object with B {}'''); | 
| class A {} | 
| class B extends A {} | 
| class C = Object with B;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_INHERITS_FROM_NOT_OBJECT]); | 
| verify([source]); | 
| } | 
| @@ -3482,49 +3577,49 @@ class C = Object with B;'''); | 
| class A {} | 
| class B extends Object with A {} | 
| class C = Object with B;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_INHERITS_FROM_NOT_OBJECT]); | 
| verify([source]); | 
| } | 
|  | 
| void test_mixinOfDisallowedClass_class_bool() { | 
| Source source = addSource("class A extends Object with bool {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_mixinOfDisallowedClass_class_double() { | 
| Source source = addSource("class A extends Object with double {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_mixinOfDisallowedClass_class_int() { | 
| Source source = addSource("class A extends Object with int {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_mixinOfDisallowedClass_class_Null() { | 
| Source source = addSource("class A extends Object with Null {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_mixinOfDisallowedClass_class_num() { | 
| Source source = addSource("class A extends Object with num {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
|  | 
| void test_mixinOfDisallowedClass_class_String() { | 
| Source source = addSource("class A extends Object with String {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3533,7 +3628,7 @@ class C = Object with B;'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class C = A with bool;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3542,7 +3637,7 @@ class C = A with bool;'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class C = A with double;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3551,7 +3646,7 @@ class C = A with double;'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class C = A with int;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3560,7 +3655,7 @@ class C = A with int;'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class C = A with Null;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3569,7 +3664,7 @@ class C = A with Null;'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class C = A with num;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3578,7 +3673,7 @@ class C = A with num;'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class C = A with String;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3587,7 +3682,7 @@ class C = A with String;'''); | 
| Source source = addSource(r''' | 
| class A {} | 
| class C = A with String, num;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS, | 
| CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS | 
| @@ -3599,7 +3694,7 @@ class C = A with String, num;'''); | 
| Source source = addSource(r''' | 
| enum E { ONE } | 
| class A extends Object with E {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_ENUM]); | 
| verify([source]); | 
| } | 
| @@ -3608,7 +3703,7 @@ class A extends Object with E {}'''); | 
| Source source = addSource(r''' | 
| int A; | 
| class B extends Object with A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_NON_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3618,7 +3713,7 @@ class B extends Object with A {}'''); | 
| class A {} | 
| int B; | 
| class C = A with B;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_OF_NON_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -3629,7 +3724,7 @@ class A { | 
| toString() => super.toString(); | 
| } | 
| class B extends Object with A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MIXIN_REFERENCES_SUPER]); | 
| verify([source]); | 
| } | 
| @@ -3639,7 +3734,7 @@ class B extends Object with A {}'''); | 
| int A; | 
| class B {} | 
| class C extends A with B {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.MIXIN_WITH_NON_CLASS_SUPERCLASS]); | 
| verify([source]); | 
| @@ -3650,7 +3745,7 @@ class C extends A with B {}'''); | 
| int A; | 
| class B {} | 
| class C = A with B;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.MIXIN_WITH_NON_CLASS_SUPERCLASS]); | 
| verify([source]); | 
| @@ -3663,7 +3758,7 @@ class A { | 
| A.a() {} | 
| A.b() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.MULTIPLE_REDIRECTING_CONSTRUCTOR_INVOCATIONS]); | 
| verify([source]); | 
| @@ -3675,7 +3770,7 @@ class A {} | 
| class B extends A { | 
| B() : super(), super() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.MULTIPLE_SUPER_INITIALIZERS]); | 
| verify([source]); | 
| } | 
| @@ -3685,7 +3780,7 @@ class B extends A { | 
| // error code is generated through the ErrorVerifier, it is not a | 
| // CompileTimeErrorCode. | 
| Source source = addSource("class A native 'string' {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.NATIVE_CLAUSE_IN_NON_SDK_CODE]); | 
| verify([source]); | 
| } | 
| @@ -3695,7 +3790,7 @@ class B extends A { | 
| // error code is generated through the ErrorVerifier, it is not a | 
| // CompileTimeErrorCode. | 
| Source source = addSource("int m(a) native 'string';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [ParserErrorCode.NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE]); | 
| verify([source]); | 
| @@ -3709,7 +3804,7 @@ class B extends A { | 
| class A{ | 
| static int m(a) native 'string'; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [ParserErrorCode.NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE]); | 
| verify([source]); | 
| @@ -3723,7 +3818,7 @@ class A { | 
| @A | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_ANNOTATION_CONSTRUCTOR_ARGUMENTS]); | 
| verify([source]); | 
| @@ -3737,7 +3832,7 @@ class A { | 
| class B extends A { | 
| B() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT]); | 
| verify([source]); | 
| @@ -3755,7 +3850,7 @@ class C extends Mixed { | 
| C(x) : super(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT]); | 
| verify([source]); | 
| @@ -3773,7 +3868,7 @@ class C extends Mixed { | 
| C(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT]); | 
| verify([source]); | 
| @@ -3791,7 +3886,7 @@ class C extends Mixed { | 
| C(x) : super.named(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER]); | 
| // Don't verify since call to super.named() can't be resolved. | 
| @@ -3809,7 +3904,7 @@ class C extends Mixed { | 
| C(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT]); | 
| verify([source]); | 
| @@ -3826,7 +3921,7 @@ class C extends B with M { | 
| C(x) : super(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT]); | 
| verify([source]); | 
| @@ -3843,7 +3938,7 @@ class C extends B with M { | 
| C(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT]); | 
| verify([source]); | 
| @@ -3860,7 +3955,7 @@ class C extends B with M { | 
| C(x) : super.named(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER]); | 
| // Don't verify since call to super.named() can't be resolved. | 
| @@ -3877,7 +3972,7 @@ class C extends B with M { | 
| C(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT]); | 
| verify([source]); | 
| @@ -3893,7 +3988,7 @@ class B { | 
| class Mixed = B with M; | 
| class C extends Mixed {} | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT]); | 
| verify([source]); | 
| @@ -3909,7 +4004,7 @@ class B { | 
| class Mixed = B with M; | 
| class C extends Mixed {} | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT]); | 
| verify([source]); | 
| @@ -3924,7 +4019,7 @@ class B { | 
| } | 
| class C extends B with M {} | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT]); | 
| verify([source]); | 
| @@ -3939,7 +4034,7 @@ class B { | 
| } | 
| class C extends B with M {} | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT]); | 
| verify([source]); | 
| @@ -3952,7 +4047,7 @@ class A { | 
| } | 
| class B extends A { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT]); | 
| verify([source]); | 
| @@ -3962,7 +4057,7 @@ class B extends A { | 
| Source source = addSource(r''' | 
| class A { A.named() {} } | 
| class B extends A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT]); | 
| verify([source]); | 
| @@ -3976,7 +4071,7 @@ class A { | 
| @A.fromInt() | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NON_CONSTANT_ANNOTATION_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -3990,7 +4085,7 @@ class A { | 
| @A() | 
| main() { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NON_CONSTANT_ANNOTATION_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -4000,7 +4095,7 @@ main() { | 
| Source source = addSource(r''' | 
| int y; | 
| f({x : y}) {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE]); | 
| verify([source]); | 
| } | 
| @@ -4009,7 +4104,7 @@ f({x : y}) {}'''); | 
| Source source = addSource(r''' | 
| int y; | 
| f([x = y]) {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE]); | 
| verify([source]); | 
| } | 
| @@ -4020,7 +4115,7 @@ class A { | 
| int y; | 
| A({x : y}) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE]); | 
| verify([source]); | 
| } | 
| @@ -4031,7 +4126,7 @@ class A { | 
| int y; | 
| A([x = y]) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE]); | 
| verify([source]); | 
| } | 
| @@ -4042,7 +4137,7 @@ class A { | 
| int y; | 
| m({x : y}) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE]); | 
| verify([source]); | 
| } | 
| @@ -4053,7 +4148,7 @@ class A { | 
| int y; | 
| m([x = y]) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE]); | 
| verify([source]); | 
| } | 
| @@ -4094,7 +4189,7 @@ f(int p, int q) { | 
| break; | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION]); | 
| verify([source]); | 
| } | 
| @@ -4142,7 +4237,7 @@ main (int p) { | 
| f(a) { | 
| return const [a]; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_LIST_ELEMENT]); | 
| verify([source]); | 
| } | 
| @@ -4184,7 +4279,7 @@ f() { | 
| f() { | 
| {'a' : 0, 'b' : 1}.length; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NON_CONST_MAP_AS_EXPRESSION_STATEMENT]); | 
| verify([source]); | 
| @@ -4195,7 +4290,7 @@ f() { | 
| f() { | 
| {'a' : 0, 'b' : 1}; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NON_CONST_MAP_AS_EXPRESSION_STATEMENT]); | 
| verify([source]); | 
| @@ -4206,7 +4301,7 @@ f() { | 
| f(a) { | 
| return const {a : 0}; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_MAP_KEY]); | 
| verify([source]); | 
| } | 
| @@ -4248,7 +4343,7 @@ f() { | 
| f(a) { | 
| return const {'a' : a}; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_CONSTANT_MAP_VALUE]); | 
| verify([source]); | 
| } | 
| @@ -4291,7 +4386,7 @@ class A { | 
| final bool a; | 
| const A(String p) : a = p && true; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL, | 
| StaticTypeWarningCode.NON_BOOL_OPERAND | 
| @@ -4305,7 +4400,7 @@ class A { | 
| final bool a; | 
| const A(String p) : a = true && p; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL, | 
| StaticTypeWarningCode.NON_BOOL_OPERAND | 
| @@ -4319,7 +4414,7 @@ class A { | 
| final int a; | 
| const A(String p) : a = 5 & p; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_INT, | 
| StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE | 
| @@ -4333,7 +4428,7 @@ class A { | 
| final int a; | 
| const A(String p) : a = 5 + p; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_NUM, | 
| StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE | 
| @@ -4348,7 +4443,7 @@ class A { | 
| final int a; | 
| const A() : a = C; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -4364,7 +4459,7 @@ class B { | 
| final a; | 
| } | 
| var b = const B();'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| // TODO(paulberry): the error INVALID_CONSTAT is redundant and ought to be | 
| // suppressed. | 
| assertErrors(source, [ | 
| @@ -4381,7 +4476,7 @@ class A { | 
| const A.named(p); | 
| const A() : this.named(C); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -4396,7 +4491,7 @@ class B extends A { | 
| static var C; | 
| const B() : super(C); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER]); | 
| verify([source]); | 
| @@ -4480,7 +4575,7 @@ class A { | 
| class B extends A { | 
| B() : super.named(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_GENERATIVE_CONSTRUCTOR]); | 
| verify([source]); | 
| } | 
| @@ -4493,7 +4588,7 @@ class A { | 
| class B extends A { | 
| B(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_GENERATIVE_CONSTRUCTOR]); | 
| verify([source]); | 
| } | 
| @@ -4505,7 +4600,7 @@ class A { | 
| } | 
| class B extends A { | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NON_GENERATIVE_CONSTRUCTOR]); | 
| verify([source]); | 
| } | 
| @@ -4518,7 +4613,7 @@ class A { | 
| main() { | 
| const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS]); | 
| verify([source]); | 
| } | 
| @@ -4531,7 +4626,7 @@ class A { | 
| class B extends A { | 
| const B() : super(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS]); | 
| verify([source]); | 
| } | 
| @@ -4541,7 +4636,7 @@ class B extends A { | 
| class A { | 
| operator +({p}) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.OPTIONAL_PARAMETER_IN_OPERATOR]); | 
| verify([source]); | 
| } | 
| @@ -4551,7 +4646,7 @@ class A { | 
| class A { | 
| operator +([p]) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.OPTIONAL_PARAMETER_IN_OPERATOR]); | 
| verify([source]); | 
| } | 
| @@ -4561,7 +4656,7 @@ class A { | 
| library l1; | 
| part 'l2.dart';'''); | 
| addNamedSource("/l2.dart", "library l2;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.PART_OF_NON_PART]); | 
| verify([source]); | 
| } | 
| @@ -4574,7 +4669,7 @@ class A{}'''); | 
| import 'lib.dart' as p; | 
| typedef p(); | 
| p.A a;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]); | 
| verify([source]); | 
| @@ -4588,7 +4683,7 @@ class A{}'''); | 
| import 'lib.dart' as p; | 
| p() {} | 
| p.A a;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]); | 
| verify([source]); | 
| @@ -4602,7 +4697,7 @@ class A{}'''); | 
| import 'lib.dart' as p; | 
| var p = null; | 
| p.A a;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]); | 
| verify([source]); | 
| @@ -4616,7 +4711,7 @@ class A{}'''); | 
| import 'lib.dart' as p; | 
| class p {} | 
| p.A a;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER]); | 
| verify([source]); | 
| @@ -4624,7 +4719,7 @@ p.A a;'''); | 
|  | 
| void test_privateOptionalParameter() { | 
| Source source = addSource("f({var _p}) {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.PRIVATE_OPTIONAL_PARAMETER]); | 
| verify([source]); | 
| } | 
| @@ -4635,14 +4730,14 @@ class A { | 
| var _p; | 
| A({this._p: 0}); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.PRIVATE_OPTIONAL_PARAMETER]); | 
| verify([source]); | 
| } | 
|  | 
| void test_privateOptionalParameter_withDefaultValue() { | 
| Source source = addSource("f({_p : 0}) {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.PRIVATE_OPTIONAL_PARAMETER]); | 
| verify([source]); | 
| } | 
| @@ -4653,7 +4748,7 @@ class A { | 
| const A(); | 
| final m = const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT]); | 
| verify([source]); | 
| @@ -4663,7 +4758,7 @@ class A { | 
| Source source = addSource(r''' | 
| const x = y + 1; | 
| const y = x + 1;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT, | 
| CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT | 
| @@ -4679,7 +4774,7 @@ class C { | 
| final x; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT]); | 
| verify([source]); | 
| @@ -4689,7 +4784,7 @@ class C { | 
| Source source = addSource(r''' | 
| const x = x; | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT]); | 
| verify([source]); | 
| @@ -4701,7 +4796,7 @@ class A { | 
| A.a() : this.b(); | 
| A.b() : this.a(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_CONSTRUCTOR_REDIRECT, | 
| CompileTimeErrorCode.RECURSIVE_CONSTRUCTOR_REDIRECT | 
| @@ -4714,7 +4809,7 @@ class A { | 
| class A { | 
| A() : this(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.RECURSIVE_CONSTRUCTOR_REDIRECT]); | 
| verify([source]); | 
| } | 
| @@ -4730,7 +4825,7 @@ class B implements C { | 
| class C implements A { | 
| factory C() = B; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, | 
| CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, | 
| @@ -4747,7 +4842,7 @@ class C implements A { | 
| class A { | 
| factory A() = A; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT]); | 
| verify([source]); | 
| } | 
| @@ -4764,7 +4859,7 @@ main() { | 
| const C<int>(); | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT]); | 
| verify([source]); | 
| } | 
| @@ -4780,7 +4875,7 @@ class B<T> implements C<T> { | 
| class C<T> implements A<T> { | 
| factory C() = B; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, | 
| CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, | 
| @@ -4803,7 +4898,7 @@ class B implements C { | 
| class C implements A { | 
| factory C.nameC() = B.nameB; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, | 
| CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, | 
| @@ -4830,7 +4925,7 @@ class B implements C { | 
| class C implements A, B { | 
| factory C() = B; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, | 
| CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, | 
| @@ -4844,7 +4939,7 @@ class C implements A, B { | 
| Source source = addSource(r''' | 
| class A extends B {} | 
| class B extends A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE, | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE | 
| @@ -4856,7 +4951,7 @@ class B extends A {}'''); | 
| Source source = addSource(r''' | 
| class A extends B {} | 
| class B implements A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE, | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE | 
| @@ -4868,7 +4963,7 @@ class B implements A {}'''); | 
| Source source = addSource(r''' | 
| class A implements B {} | 
| class B implements A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE, | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE | 
| @@ -4880,7 +4975,7 @@ class B implements A {}'''); | 
| Source source = addSource(r''' | 
| class M1 = Object with M2; | 
| class M2 = Object with M1;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE, | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE | 
| @@ -4892,7 +4987,7 @@ class M2 = Object with M1;'''); | 
| Source source = addSource(r''' | 
| abstract class A implements A {} | 
| class B implements A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_IMPLEMENTS | 
| ]); | 
| @@ -4904,7 +4999,7 @@ class B implements A {}'''); | 
| abstract class A implements B {} | 
| abstract class B implements A {} | 
| class C implements A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE, | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE | 
| @@ -4918,7 +5013,7 @@ abstract class A implements B {} | 
| abstract class B implements C {} | 
| abstract class C implements A {} | 
| class D implements A {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE, | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE, | 
| @@ -4929,7 +5024,7 @@ class D implements A {}'''); | 
|  | 
| void test_recursiveInterfaceInheritanceBaseCaseExtends() { | 
| Source source = addSource("class A extends A {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_EXTENDS | 
| ]); | 
| @@ -4938,7 +5033,7 @@ class D implements A {}'''); | 
|  | 
| void test_recursiveInterfaceInheritanceBaseCaseImplements() { | 
| Source source = addSource("class A implements A {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_IMPLEMENTS | 
| ]); | 
| @@ -4950,7 +5045,7 @@ class D implements A {}'''); | 
| class A {} | 
| class M {} | 
| class B = A with M implements B;'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_IMPLEMENTS | 
| ]); | 
| @@ -4959,7 +5054,7 @@ class B = A with M implements B;'''); | 
|  | 
| void test_recursiveInterfaceInheritanceBaseCaseWith() { | 
| Source source = addSource("class M = Object with M;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_WITH]); | 
| verify([source]); | 
| @@ -4970,7 +5065,7 @@ class B = A with M implements B;'''); | 
| class A { | 
| A() : this.noSuchConstructor(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_MISSING_CONSTRUCTOR]); | 
| } | 
| @@ -4981,7 +5076,7 @@ class A { | 
| A() : this.x(); | 
| factory A.x() => null; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_NON_GENERATIVE_CONSTRUCTOR | 
| ]); | 
| @@ -4996,7 +5091,7 @@ class A implements B{ | 
| class B { | 
| const factory B() = A.name; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.REDIRECT_TO_MISSING_CONSTRUCTOR]); | 
| } | 
| @@ -5009,7 +5104,7 @@ class A implements B{ | 
| class B { | 
| const factory B() = A; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.REDIRECT_TO_MISSING_CONSTRUCTOR]); | 
| } | 
| @@ -5020,7 +5115,7 @@ int A; | 
| class B { | 
| const factory B() = A; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.REDIRECT_TO_NON_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -5030,7 +5125,7 @@ class B { | 
| class B { | 
| const factory B() = A; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.REDIRECT_TO_NON_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -5041,7 +5136,7 @@ class A { | 
| A.a() {} | 
| const factory A.b() = A.a; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.REDIRECT_TO_NON_CONST_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -5055,7 +5150,7 @@ main() { | 
| v() {} | 
| } | 
| print(x) {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION]); | 
| } | 
|  | 
| @@ -5067,7 +5162,7 @@ main() { | 
| var v = 2; | 
| } | 
| print(x) {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION]); | 
| } | 
|  | 
| @@ -5081,7 +5176,7 @@ main() { | 
| var v = 2; | 
| } | 
| print(x) {}'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION]); | 
| } | 
|  | 
| @@ -5090,7 +5185,7 @@ print(x) {}'''); | 
| main() { | 
| var v = () => v; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION]); | 
| } | 
|  | 
| @@ -5099,7 +5194,7 @@ main() { | 
| main() { | 
| var v = v; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION]); | 
| } | 
|  | 
| @@ -5108,7 +5203,7 @@ main() { | 
| f() { | 
| rethrow; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.RETHROW_OUTSIDE_CATCH]); | 
| verify([source]); | 
| } | 
| @@ -5118,7 +5213,7 @@ f() { | 
| class A { | 
| A() { return 0; } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.RETURN_IN_GENERATIVE_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -5129,7 +5224,7 @@ class A { | 
| class A { | 
| A() => null; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.RETURN_IN_GENERATIVE_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -5140,7 +5235,7 @@ class A { | 
| f() async* { | 
| return 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.RETURN_IN_GENERATOR]); | 
| verify([source]); | 
| } | 
| @@ -5150,7 +5245,7 @@ f() async* { | 
| f() sync* { | 
| return 0; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.RETURN_IN_GENERATOR]); | 
| verify([source]); | 
| } | 
| @@ -5173,7 +5268,7 @@ main() { lib.f1(); lib.f2(); }''' | 
|  | 
| void test_superInInvalidContext_binaryExpression() { | 
| Source source = addSource("var v = super + 0;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); | 
| // no verify(), 'super.v' is not resolved | 
| } | 
| @@ -5187,7 +5282,7 @@ class B extends A { | 
| var f; | 
| B() : f = super.m(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); | 
| // no verify(), 'super.m' is not resolved | 
| } | 
| @@ -5202,7 +5297,7 @@ class B extends A { | 
| super.m(); | 
| } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); | 
| // no verify(), 'super.m' is not resolved | 
| } | 
| @@ -5215,7 +5310,7 @@ class A { | 
| class B extends A { | 
| var b = super.a; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); | 
| // no verify(), 'super.a' is not resolved | 
| } | 
| @@ -5228,7 +5323,7 @@ class A { | 
| class B extends A { | 
| static n() { return super.m(); } | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); | 
| // no verify(), 'super.m' is not resolved | 
| } | 
| @@ -5241,7 +5336,7 @@ class A { | 
| class B extends A { | 
| static int b = super.a; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); | 
| // no verify(), 'super.a' is not resolved | 
| } | 
| @@ -5251,14 +5346,14 @@ class B extends A { | 
| f() { | 
| super.f(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); | 
| // no verify(), 'super.f' is not resolved | 
| } | 
|  | 
| void test_superInInvalidContext_topLevelVariableInitializer() { | 
| Source source = addSource("var v = super.y;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT]); | 
| // no verify(), 'super.y' is not resolved | 
| } | 
| @@ -5270,7 +5365,7 @@ class B { | 
| B() : this.name(), super(); | 
| B.name() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.SUPER_IN_REDIRECTING_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -5283,7 +5378,7 @@ class B { | 
| B() : super(), this.name(); | 
| B.name() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.SUPER_IN_REDIRECTING_CONSTRUCTOR]); | 
| verify([source]); | 
| @@ -5296,7 +5391,7 @@ var s2 = const Symbol(3); | 
| var s3 = const Symbol(); | 
| var s4 = const Symbol('x', 'y'); | 
| var s5 = const Symbol('x', foo: 'x');'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION, | 
| CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION, | 
| @@ -5315,7 +5410,7 @@ typedef void G(List<F> l); | 
| main() { | 
| F foo(G g) => g; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF, | 
| CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF | 
| @@ -5334,14 +5429,14 @@ abstract class D { | 
| abstract class E extends A<dynamic, F> {} | 
| typedef D F(); | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertNoErrors(source); | 
| verify([source]); | 
| } | 
|  | 
| void test_typeAliasCannotReferenceItself_parameterType_named() { | 
| Source source = addSource("typedef A({A a});"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF]); | 
| verify([source]); | 
| @@ -5349,7 +5444,7 @@ typedef D F(); | 
|  | 
| void test_typeAliasCannotReferenceItself_parameterType_positional() { | 
| Source source = addSource("typedef A([A a]);"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF]); | 
| verify([source]); | 
| @@ -5357,7 +5452,7 @@ typedef D F(); | 
|  | 
| void test_typeAliasCannotReferenceItself_parameterType_required() { | 
| Source source = addSource("typedef A(A a);"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF]); | 
| verify([source]); | 
| @@ -5365,7 +5460,7 @@ typedef D F(); | 
|  | 
| void test_typeAliasCannotReferenceItself_parameterType_typeArgument() { | 
| Source source = addSource("typedef A(List<A> a);"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF]); | 
| verify([source]); | 
| @@ -5379,14 +5474,14 @@ typedef A B(); | 
| class C { | 
| B a; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertNoErrors(source); | 
| verify([source]); | 
| } | 
|  | 
| void test_typeAliasCannotReferenceItself_returnType() { | 
| Source source = addSource("typedef A A();"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF]); | 
| verify([source]); | 
| @@ -5396,7 +5491,7 @@ class C { | 
| Source source = addSource(r''' | 
| typedef B A(); | 
| typedef A B();'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF, | 
| CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF | 
| @@ -5406,7 +5501,7 @@ typedef A B();'''); | 
|  | 
| void test_typeAliasCannotReferenceItself_typeVariableBounds() { | 
| Source source = addSource("typedef A<T extends A>();"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF]); | 
| verify([source]); | 
| @@ -5420,7 +5515,7 @@ class G<E extends A> { | 
| const G(); | 
| } | 
| f() { return const G<B>(); }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS]); | 
| verify([source]); | 
| @@ -5431,7 +5526,7 @@ f() { return const G<B>(); }'''); | 
| f() { | 
| return const A(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.UNDEFINED_CLASS]); | 
| verify([source]); | 
| } | 
| @@ -5442,7 +5537,7 @@ class A {} | 
| class B extends A { | 
| B() : super.named(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER]); | 
| // no verify(), "super.named()" is not resolved | 
| @@ -5456,7 +5551,7 @@ class A { | 
| class B extends A { | 
| B() : super(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT]); | 
| verify([source]); | 
| @@ -5470,7 +5565,7 @@ class A { | 
| class B extends A { | 
| B(); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT]); | 
| verify([source]); | 
| @@ -5484,32 +5579,32 @@ class A { | 
| main() { | 
| const A(p: 0); | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.UNDEFINED_NAMED_PARAMETER]); | 
| // no verify(), 'p' is not resolved | 
| } | 
|  | 
| void test_uriDoesNotExist_export() { | 
| Source source = addSource("export 'unknown.dart';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.URI_DOES_NOT_EXIST]); | 
| } | 
|  | 
| void test_uriDoesNotExist_import() { | 
| Source source = addSource("import 'unknown.dart';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.URI_DOES_NOT_EXIST]); | 
| } | 
|  | 
| void test_uriDoesNotExist_part() { | 
| Source source = addSource("part 'unknown.dart';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.URI_DOES_NOT_EXIST]); | 
| } | 
|  | 
| void test_uriWithInterpolation_constant() { | 
| Source source = addSource("import 'stuff_\$platform.dart';"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.URI_WITH_INTERPOLATION, | 
| StaticWarningCode.UNDEFINED_IDENTIFIER | 
| @@ -5522,7 +5617,7 @@ main() { | 
| Source source = addSource(r''' | 
| library lib; | 
| part '${'a'}.dart';'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [CompileTimeErrorCode.URI_WITH_INTERPOLATION]); | 
| // We cannot verify resolution with an unresolvable URI: '${'a'}.dart' | 
| } | 
| @@ -5550,7 +5645,7 @@ part '${'a'}.dart';'''); | 
| class A { | 
| operator -(a, b) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, | 
| [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR_MINUS]); | 
| verify([source]); | 
| @@ -5564,7 +5659,7 @@ class A { | 
|  | 
| void test_wrongNumberOfParametersForSetter_function_named() { | 
| Source source = addSource("set x({p}) {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER]); | 
| verify([source]); | 
| @@ -5572,7 +5667,7 @@ class A { | 
|  | 
| void test_wrongNumberOfParametersForSetter_function_optional() { | 
| Source source = addSource("set x([p]) {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER]); | 
| verify([source]); | 
| @@ -5580,7 +5675,7 @@ class A { | 
|  | 
| void test_wrongNumberOfParametersForSetter_function_tooFew() { | 
| Source source = addSource("set x() {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER]); | 
| verify([source]); | 
| @@ -5588,7 +5683,7 @@ class A { | 
|  | 
| void test_wrongNumberOfParametersForSetter_function_tooMany() { | 
| Source source = addSource("set x(a, b) {}"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER]); | 
| verify([source]); | 
| @@ -5599,7 +5694,7 @@ class A { | 
| class A { | 
| set x({p}) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER]); | 
| verify([source]); | 
| @@ -5610,7 +5705,7 @@ class A { | 
| class A { | 
| set x([p]) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER]); | 
| verify([source]); | 
| @@ -5621,7 +5716,7 @@ class A { | 
| class A { | 
| set x() {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER]); | 
| verify([source]); | 
| @@ -5632,7 +5727,7 @@ class A { | 
| class A { | 
| set x(a, b) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER]); | 
| verify([source]); | 
| @@ -5644,7 +5739,7 @@ f() async { | 
| var yield = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -5655,7 +5750,7 @@ f() async* { | 
| var yield = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
| @@ -5666,14 +5761,14 @@ f() sync* { | 
| var yield = 1; | 
| } | 
| '''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER]); | 
| verify([source]); | 
| } | 
|  | 
| void _check_constEvalThrowsException_binary_null(String expr, bool resolved) { | 
| Source source = addSource("const C = $expr;"); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| if (resolved) { | 
| assertErrors(source, [CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION]); | 
| verify([source]); | 
| @@ -5690,7 +5785,7 @@ class A { | 
| final a; | 
| const A(bool p) : a = $expr; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL, | 
| StaticTypeWarningCode.NON_BOOL_OPERAND | 
| @@ -5705,7 +5800,7 @@ class A { | 
| final a; | 
| const A(int p) : a = $expr; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_INT, | 
| StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE | 
| @@ -5720,7 +5815,7 @@ class A { | 
| final a; | 
| const A(num p) : a = $expr; | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors(source, [ | 
| CompileTimeErrorCode.CONST_EVAL_TYPE_NUM, | 
| StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE | 
| @@ -5735,7 +5830,7 @@ class A { | 
| class A { | 
| operator $name($parameters) {} | 
| }'''); | 
| -    resolve(source); | 
| +    computeLibrarySourceErrors(source); | 
| assertErrors( | 
| source, [CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR]); | 
| verify([source]); | 
|  |