| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library fasta.kernel_class_builder; | 5 library fasta.kernel_class_builder; |
| 6 | 6 |
| 7 import 'package:kernel/ast.dart' show | 7 import 'package:kernel/ast.dart' show |
| 8 Class, | 8 Class, |
| 9 DartType, | 9 DartType, |
| 10 ExpressionStatement, | 10 ExpressionStatement, |
| 11 InterfaceType, | 11 InterfaceType, |
| 12 Member, | 12 Member, |
| 13 StringLiteral, | 13 StringLiteral, |
| 14 Supertype, | 14 Supertype, |
| 15 Throw; | 15 Throw; |
| 16 | 16 |
| 17 import '../errors.dart' show | 17 import '../errors.dart' show |
| 18 internalError; | 18 internalError; |
| 19 | 19 |
| 20 import '../messages.dart' show |
| 21 warning; |
| 22 |
| 20 import 'kernel_builder.dart' show | 23 import 'kernel_builder.dart' show |
| 21 Builder, | 24 Builder, |
| 22 ClassBuilder, | 25 ClassBuilder, |
| 23 ConstructorReferenceBuilder, | 26 ConstructorReferenceBuilder, |
| 24 KernelProcedureBuilder, | 27 KernelProcedureBuilder, |
| 25 KernelTypeBuilder, | 28 KernelTypeBuilder, |
| 26 LibraryBuilder, | 29 LibraryBuilder, |
| 27 MetadataBuilder, | 30 MetadataBuilder, |
| 28 ProcedureBuilder, | 31 ProcedureBuilder, |
| 29 TypeVariableBuilder, | 32 TypeVariableBuilder, |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 builder.redirectionTarget; | 101 builder.redirectionTarget; |
| 99 if (redirectionTarget != null) { | 102 if (redirectionTarget != null) { |
| 100 assert(builder.actualBody == null); | 103 assert(builder.actualBody == null); |
| 101 Builder targetBuilder = redirectionTarget.target; | 104 Builder targetBuilder = redirectionTarget.target; |
| 102 if (targetBuilder is ProcedureBuilder) { | 105 if (targetBuilder is ProcedureBuilder) { |
| 103 Member target = targetBuilder.target; | 106 Member target = targetBuilder.target; |
| 104 builder.body = new RedirectingFactoryBody(target); | 107 builder.body = new RedirectingFactoryBody(target); |
| 105 } else { | 108 } else { |
| 106 // TODO(ahe): Throw NSM error. This requires access to core | 109 // TODO(ahe): Throw NSM error. This requires access to core |
| 107 // types. | 110 // types. |
| 108 String message = | 111 String message = "Redirection constructor target not found: " |
| 109 "Missing constructor: ${redirectionTarget.fullNameForErrors}"; | 112 "${redirectionTarget.fullNameForErrors}"; |
| 110 print(message); | 113 warning(library.fileUri, -1, message); |
| 111 builder.body = new ExpressionStatement( | 114 builder.body = new ExpressionStatement( |
| 112 new Throw(new StringLiteral(message))); | 115 new Throw(new StringLiteral(message))); |
| 113 } | 116 } |
| 114 } | 117 } |
| 115 } | 118 } |
| 116 }); | 119 }); |
| 117 } | 120 } |
| 118 return count; | 121 return count; |
| 119 } | 122 } |
| 120 } | 123 } |
| OLD | NEW |