| // Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'package:analyzer/dart/analysis/analysis_context.dart'; |
| import 'package:analyzer/dart/analysis/context_root.dart'; |
| import 'package:analyzer/dart/analysis/declared_variables.dart'; |
| import 'package:analyzer/file_system/file_system.dart'; |
| import 'package:analyzer/src/dart/analysis/context_builder.dart'; |
| import 'package:meta/meta.dart'; |
| |
| /// A utility class used to build an analysis context based on a context root. |
| /// |
| /// Clients may not extend, implement or mix-in this class. |
| abstract class ContextBuilder { |
| /// Initialize a newly created context builder. If a [resourceProvider] is |
| /// given, then it will be used to access the file system, otherwise the |
| /// default resource provider will be used. |
| factory ContextBuilder({ResourceProvider resourceProvider}) = |
| ContextBuilderImpl; |
| |
| /// Return an analysis context corresponding to the given [contextRoot]. |
| /// |
| /// If a set of [declaredVariables] is provided, the values will be used to |
| /// map the the variable names found in `fromEnvironment` invocations to the |
| /// constant value that will be returned. If none is given, then no variables |
| /// will be defined. |
| /// |
| /// If a list of [librarySummaryPaths] is provided, then the summary files at |
| /// those paths will be used, when possible, when analyzing the libraries |
| /// contained in the summary files. |
| /// |
| /// If an [sdkPath] is provided, and if it is a valid path to a directory |
| /// containing a valid SDK, then the SDK in the referenced directory will be |
| /// used when analyzing the code in the context. |
| /// |
| /// If an [sdkSummaryPath] is provided, then that file will be used as the |
| /// summary file for the SDK. |
| AnalysisContext createContext( |
| {@required ContextRoot contextRoot, |
| DeclaredVariables declaredVariables, |
| List<String> librarySummaryPaths, |
| String sdkPath, |
| String sdkSummaryPath}); |
| } |