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 /// ----------------------------------------------------------------------- | 5 /// ----------------------------------------------------------------------- |
6 /// ERROR HANDLING | 6 /// ERROR HANDLING |
7 /// ----------------------------------------------------------------------- | 7 /// ----------------------------------------------------------------------- |
8 /// | 8 /// |
9 /// As a rule of thumb, errors that can be detected statically are handled by | 9 /// As a rule of thumb, errors that can be detected statically are handled by |
10 /// the frontend, typically by translating the erroneous code into a 'throw' or | 10 /// the frontend, typically by translating the erroneous code into a 'throw' or |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
262 /// other than [ClassLevel.Body]. Members in an external library have no | 262 /// other than [ClassLevel.Body]. Members in an external library have no |
263 /// body, but have their typed interface present. | 263 /// body, but have their typed interface present. |
264 /// | 264 /// |
265 /// If the libary is non-external, then its classes are at [ClassLevel.Body] | 265 /// If the libary is non-external, then its classes are at [ClassLevel.Body] |
266 /// and all members are loaded. | 266 /// and all members are loaded. |
267 bool isExternal; | 267 bool isExternal; |
268 | 268 |
269 String name; | 269 String name; |
270 final List<Expression> annotations; | 270 final List<Expression> annotations; |
271 final List<LibraryDependency> dependencies; | 271 final List<LibraryDependency> dependencies; |
| 272 |
| 273 /// References to nodes exported by `export` declarations that: |
| 274 /// - aren't ambiguous, or |
| 275 /// - aren't hidden by local declarations. |
| 276 final List<Reference> additionalExports = <Reference>[]; |
| 277 |
272 @informative | 278 @informative |
273 final List<LibraryPart> parts; | 279 final List<LibraryPart> parts; |
274 final List<Typedef> typedefs; | 280 final List<Typedef> typedefs; |
275 final List<Class> classes; | 281 final List<Class> classes; |
276 final List<Procedure> procedures; | 282 final List<Procedure> procedures; |
277 final List<Field> fields; | 283 final List<Field> fields; |
278 | 284 |
279 Library(this.importUri, | 285 Library(this.importUri, |
280 {this.name, | 286 {this.name, |
281 this.isExternal: false, | 287 this.isExternal: false, |
(...skipping 4481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4763 if (typedef_.canonicalName == null) { | 4769 if (typedef_.canonicalName == null) { |
4764 throw '$typedef_ has no canonical name'; | 4770 throw '$typedef_ has no canonical name'; |
4765 } | 4771 } |
4766 return typedef_.canonicalName; | 4772 return typedef_.canonicalName; |
4767 } | 4773 } |
4768 | 4774 |
4769 /// Annotation describing information which is not part of Dart semantics; in | 4775 /// Annotation describing information which is not part of Dart semantics; in |
4770 /// other words, if this information (or any information it refers to) changes, | 4776 /// other words, if this information (or any information it refers to) changes, |
4771 /// static analysis and runtime behavior of the library are unaffected. | 4777 /// static analysis and runtime behavior of the library are unaffected. |
4772 const informative = null; | 4778 const informative = null; |
OLD | NEW |