Files
sdk/pkg/analyzer/lib/dart/analysis/context_root.dart
T
Brian Wilkerson 8d78982c3f Move file system access support from AnalysisContext to ContextRoot
Change-Id: Ic9097b8852e578001cc6555bcd4d8a94a1fde08d
Reviewed-on: https://dart-review.googlesource.com/49041
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-04-02 22:16:25 +00:00

83 lines
2.8 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/file_system/file_system.dart';
/**
* Information about the root directory associated with an analysis context.
*
* Clients may not extend, implement or mix-in this class.
*/
abstract class ContextRoot {
/**
* A list of the files and directories within the root directory that should
* not be analyzed.
*/
List<Resource> get excluded;
/**
* A collection of the absolute, normalized paths of files and directories
* within the root directory that should not be analyzed.
*/
Iterable<String> get excludedPaths;
/**
* A list of the files and directories within the root directory that should
* be analyzed. If all of the files in the root directory (other than those
* that are explicitly excluded) should be analyzed, then this list will
* contain the root directory.
*/
List<Resource> get included;
/**
* A collection of the absolute, normalized paths of files within the root
* directory that should be analyzed. If all of the files in the root
* directory (other than those that are explicitly excluded) should be
* analyzed, then this collection will contain the path of the root directory.
*/
Iterable<String> get includedPaths;
/**
* The analysis options file that should be used when analyzing the files
* within this context root, or `null` if there is no options file.
*/
File get optionsFile;
/**
* The packages file that should be used when analyzing the files within this
* context root, or `null` if there is no options file.
*/
File get packagesFile;
/**
* The resource provider used to access the file system.
*/
ResourceProvider get resourceProvider;
/**
* The root directory containing the files to be analyzed.
*/
Folder get root;
/**
* Return the absolute, normalized paths of all of the files that are
* contained in this context. These are all of the files that are included
* directly or indirectly by one or more of the [includedPaths] and that are
* not excluded by any of the [excludedPaths].
*
* Note that the list is not filtered based on the file suffix, so non-Dart
* files can be returned.
*/
Iterable<String> analyzedFiles();
/**
* Return `true` if the file or directory with the given [path] will be
* analyzed in this context. A file (or directory) will be analyzed if it is
* either the same as or contained in one of the [includedPaths] and, if it is
* contained in one of the [includedPaths], is not the same as or contained
* in one of the [excludedPaths].
*/
bool isAnalyzed(String path);
}