| 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 analyzer.src.context.context_builder; | 5 library analyzer.src.context.context_builder; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 import 'dart:core'; | 8 import 'dart:core'; |
| 9 | 9 |
| 10 import 'package:analyzer/context/context_root.dart'; | 10 import 'package:analyzer/context/context_root.dart'; |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 * 1. Determine how package: URI's are to be resolved. This follows the lookup | 47 * 1. Determine how package: URI's are to be resolved. This follows the lookup |
| 48 * algorithm defined by the [package specification][1]. | 48 * algorithm defined by the [package specification][1]. |
| 49 * | 49 * |
| 50 * 2. Using the results of step 1, look in each package for an embedder file | 50 * 2. Using the results of step 1, look in each package for an embedder file |
| 51 * (_embedder.yaml). If one exists then it defines the SDK. If multiple such | 51 * (_embedder.yaml). If one exists then it defines the SDK. If multiple such |
| 52 * files exist then use the first one found. Otherwise, use the default SDK. | 52 * files exist then use the first one found. Otherwise, use the default SDK. |
| 53 * | 53 * |
| 54 * 3. Look in each package for an SDK extension file (_sdkext). For each such | 54 * 3. Look in each package for an SDK extension file (_sdkext). For each such |
| 55 * file, add the specified files to the SDK. | 55 * file, add the specified files to the SDK. |
| 56 * | 56 * |
| 57 * 4. Look for an analysis options file (`analyis_options.yaml` or | 57 * 4. Look for an analysis options file (`analysis_options.yaml` or |
| 58 * `.analysis_options`) and process the options in the file. | 58 * `.analysis_options`) and process the options in the file. |
| 59 * | 59 * |
| 60 * 5. Create a new context. Initialize its source factory based on steps 1, 2 | 60 * 5. Create a new context. Initialize its source factory based on steps 1, 2 |
| 61 * and 3. Initialize its analysis options from step 4. | 61 * and 3. Initialize its analysis options from step 4. |
| 62 * | 62 * |
| 63 * [1]: https://github.com/dart-lang/dart_enhancement_proposals/blob/master/Acce
pted/0005%20-%20Package%20Specification/DEP-pkgspec.md. | 63 * [1]: https://github.com/dart-lang/dart_enhancement_proposals/blob/master/Acce
pted/0005%20-%20Package%20Specification/DEP-pkgspec.md. |
| 64 */ | 64 */ |
| 65 class ContextBuilder { | 65 class ContextBuilder { |
| 66 /** | 66 /** |
| 67 * A callback for when analysis drivers are created, which takes all the same | 67 * A callback for when analysis drivers are created, which takes all the same |
| (...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 814 | 814 |
| 815 // Ensure that the path is absolute and normalized. | 815 // Ensure that the path is absolute and normalized. |
| 816 if (!context.isAbsolute(path)) { | 816 if (!context.isAbsolute(path)) { |
| 817 throw new ArgumentError('not absolute: $path'); | 817 throw new ArgumentError('not absolute: $path'); |
| 818 } | 818 } |
| 819 path = context.normalize(path); | 819 path = context.normalize(path); |
| 820 | 820 |
| 821 return new _BasicWorkspace._(provider, path, builder); | 821 return new _BasicWorkspace._(provider, path, builder); |
| 822 } | 822 } |
| 823 } | 823 } |
| OLD | NEW |