e6b0676f58
Change-Id: I2c7a3e2a01e9db61ea9ca5f6a1156d6d8ce34f5f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98282 Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
64 lines
3.0 KiB
Dart
64 lines
3.0 KiB
Dart
// 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/file_system/file_system.dart';
|
|
import 'package:analyzer/src/dart/analysis/context_locator.dart';
|
|
import 'package:meta/meta.dart';
|
|
|
|
/// Determines the list of analysis contexts that can be used to analyze the
|
|
/// files and folders that should be analyzed given a list of included files and
|
|
/// folders and a list of excluded files and folders.
|
|
///
|
|
/// Clients may not extend, implement or mix-in this class.
|
|
abstract class ContextLocator {
|
|
/// Initialize a newly created context locator. If a [resourceProvider] is
|
|
/// supplied, it will be used to access the file system. Otherwise the default
|
|
/// resource provider will be used.
|
|
factory ContextLocator({ResourceProvider resourceProvider}) =
|
|
ContextLocatorImpl;
|
|
|
|
/// Return a list of the analysis contexts that should be used to analyze the
|
|
/// files that are included by the list of [includedPaths] and not excluded by
|
|
/// the list of [excludedPaths].
|
|
///
|
|
/// If an [optionsFile] is specified, then it is assumed to be the path to the
|
|
/// `analysis_options.yaml` (or `.analysis_options`) file that should be used
|
|
/// in place of the ones that would be found by looking in the directories
|
|
/// containing the context roots.
|
|
///
|
|
/// If a [packagesFile] is specified, then it is assumed to be the path to the
|
|
/// `.packages` file that should be used in place of the one that would be
|
|
/// found by looking in the directories containing the context roots.
|
|
///
|
|
/// If the [sdkPath] is specified, then it is used as the path to the root of
|
|
/// the SDK that should be used during analysis.
|
|
@deprecated
|
|
List<AnalysisContext> locateContexts(
|
|
{@required List<String> includedPaths,
|
|
List<String> excludedPaths: const <String>[],
|
|
String optionsFile: null,
|
|
String packagesFile: null,
|
|
String sdkPath: null});
|
|
|
|
/// Return a list of the context roots that should be used to analyze the
|
|
/// files that are included by the list of [includedPaths] and not excluded by
|
|
/// the list of [excludedPaths].
|
|
///
|
|
/// If an [optionsFile] is specified, then it is assumed to be the path to the
|
|
/// `analysis_options.yaml` (or `.analysis_options`) file that should be used
|
|
/// in place of the ones that would be found by looking in the directories
|
|
/// containing the context roots.
|
|
///
|
|
/// If a [packagesFile] is specified, then it is assumed to be the path to the
|
|
/// `.packages` file that should be used in place of the one that would be
|
|
/// found by looking in the directories containing the context roots.
|
|
List<ContextRoot> locateRoots(
|
|
{@required List<String> includedPaths,
|
|
List<String> excludedPaths: null,
|
|
String optionsFile: null,
|
|
String packagesFile: null});
|
|
}
|