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 | |
278 @informative | 272 @informative |
279 final List<LibraryPart> parts; | 273 final List<LibraryPart> parts; |
280 final List<Typedef> typedefs; | 274 final List<Typedef> typedefs; |
281 final List<Class> classes; | 275 final List<Class> classes; |
282 final List<Procedure> procedures; | 276 final List<Procedure> procedures; |
283 final List<Field> fields; | 277 final List<Field> fields; |
284 | 278 |
285 Library(this.importUri, | 279 Library(this.importUri, |
286 {this.name, | 280 {this.name, |
287 this.isExternal: false, | 281 this.isExternal: false, |
(...skipping 4668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4956 if (typedef_.canonicalName == null) { | 4950 if (typedef_.canonicalName == null) { |
4957 throw '$typedef_ has no canonical name'; | 4951 throw '$typedef_ has no canonical name'; |
4958 } | 4952 } |
4959 return typedef_.canonicalName; | 4953 return typedef_.canonicalName; |
4960 } | 4954 } |
4961 | 4955 |
4962 /// Annotation describing information which is not part of Dart semantics; in | 4956 /// Annotation describing information which is not part of Dart semantics; in |
4963 /// other words, if this information (or any information it refers to) changes, | 4957 /// other words, if this information (or any information it refers to) changes, |
4964 /// static analysis and runtime behavior of the library are unaffected. | 4958 /// static analysis and runtime behavior of the library are unaffected. |
4965 const informative = null; | 4959 const informative = null; |
OLD | NEW |