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 4668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4950 if (typedef_.canonicalName == null) { | 4956 if (typedef_.canonicalName == null) { |
4951 throw '$typedef_ has no canonical name'; | 4957 throw '$typedef_ has no canonical name'; |
4952 } | 4958 } |
4953 return typedef_.canonicalName; | 4959 return typedef_.canonicalName; |
4954 } | 4960 } |
4955 | 4961 |
4956 /// Annotation describing information which is not part of Dart semantics; in | 4962 /// Annotation describing information which is not part of Dart semantics; in |
4957 /// other words, if this information (or any information it refers to) changes, | 4963 /// other words, if this information (or any information it refers to) changes, |
4958 /// static analysis and runtime behavior of the library are unaffected. | 4964 /// static analysis and runtime behavior of the library are unaffected. |
4959 const informative = null; | 4965 const informative = null; |
OLD | NEW |