|
1 | 1 | main = <No Member>; |
2 | | -library from "org-dartlang-test:///main.dart" as main { |
| 2 | +library from "org-dartlang-test:///lib.dart" as lib { |
3 | 3 | // |
4 | 4 | // Problems in library: |
5 | 5 | // |
6 | | -// org-dartlang-test:///main.dart:3:11: Error: Functions marked 'async' must have a return type assignable to 'Future'. |
7 | | -// factory C.e4() async = C; |
8 | | -// ^^ |
9 | | -// |
10 | | -// org-dartlang-test:///main.dart:3:18: Error: Factory bodies can't use 'async', 'async*', or 'sync*'. |
| 6 | +// org-dartlang-test:///lib.dart:3:18: Error: Factory bodies can't use 'async', 'async*', or 'sync*'. |
11 | 7 | // factory C.e4() async = C; |
12 | 8 | // ^^^^^ |
13 | | -// |
14 | | -// org-dartlang-test:///main.dart:3:24: Error: Expected a function body or '=>'. |
15 | | -// Try adding {}. |
16 | | -// factory C.e4() async = C; |
17 | | -// ^ |
18 | | -// |
19 | | -// org-dartlang-test:///main.dart:3:26: Error: A value of type 'Type' can't be assigned to a variable of type 'FutureOr<C>'. |
20 | | -// - 'Type' is from 'dart:core'. |
21 | | -// - 'FutureOr' is from 'dart:async'. |
22 | | -// - 'C' is from 'org-dartlang-test:///main.dart'. |
23 | | -// factory C.e4() async = C; |
24 | | -// ^ |
25 | 9 | // |
26 | 10 |
|
27 | 11 | class C extends dart.core::Object { |
28 | | - static field dynamic _redirecting# = <dynamic>[main::C::e4]; |
29 | | - constructor •() → main::C* |
| 12 | + static field dynamic _redirecting# = <dynamic>[lib::C::e4]; |
| 13 | + constructor •() → lib::C* |
30 | 14 | : super dart.core::Object::•() |
31 | 15 | ; |
32 | | - static factory e4() → main::C* /* originally async */ { |
33 | | - final dart.async::_AsyncAwaitCompleter<dynamic>* :async_completer = new dart.async::_AsyncAwaitCompleter::•<dynamic>(); |
34 | | - dart.async::FutureOr<dynamic>* :return_value; |
35 | | - dynamic :async_stack_trace; |
36 | | - dynamic :async_op_then; |
37 | | - dynamic :async_op_error; |
38 | | - dart.core::int* :await_jump_var = 0; |
39 | | - dynamic :await_ctx_var; |
40 | | - function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding |
41 | | - try { |
42 | | - #L1: |
43 | | - { |
44 | | - :return_value = let final<BottomType> #t1 = invalid-expression "org-dartlang-test:///main.dart:3:26: Error: A value of type 'Type' can't be assigned to a variable of type 'FutureOr<C>'.\n - 'Type' is from 'dart:core'.\n - 'FutureOr' is from 'dart:async'.\n - 'C' is from 'org-dartlang-test:///main.dart'.\n factory C.e4() async = C;\n ^" in main::C* as{TypeError} dart.async::FutureOr<main::C*>*; |
45 | | - break #L1; |
46 | | - } |
47 | | - dart.async::_completeOnAsyncReturn(:async_completer, :return_value); |
48 | | - return; |
49 | | - } |
50 | | - on dynamic catch(dynamic :exception, dynamic :stack_trace) { |
51 | | - :async_completer.{dart.async::Completer::completeError}(:exception, :stack_trace); |
52 | | - } |
53 | | - :async_stack_trace = dart.async::_asyncStackTraceHelper(:async_op); |
54 | | - :async_op_then = dart.async::_asyncThenWrapperHelper(:async_op); |
55 | | - :async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op); |
56 | | - :async_completer.start(:async_op); |
57 | | - return :async_completer.{dart.async::Completer::future}; |
58 | | - } |
| 16 | + static factory e4() → lib::C* |
| 17 | + let dynamic #redirecting_factory = lib::C::• in invalid-expression; |
59 | 18 | } |
| 19 | +} |
| 20 | +library from "org-dartlang-test:///main.dart" as main { |
| 21 | + |
| 22 | + import "org-dartlang-test:///lib.dart"; |
| 23 | + |
60 | 24 | static method main() → void { |
61 | | - main::C* c = main::C::e4(); |
| 25 | + lib::C* c = new lib::C::•(); |
62 | 26 | } |
63 | 27 | } |
0 commit comments