blob: e24bfc80355cb80087f6464133607b3f135dac3d [file] [log] [blame]
import 'package:analyzer/dart/analysis/context_root.dart';
import 'package:analyzer/dart/analysis/session.dart';
import 'package:analyzer/src/generated/engine.dart' hide AnalysisResult;
/**
* A representation of a body of code and the context in which the code is to be
* analyzed.
*
* The body of code is represented as a collection of files and directories, as
* defined by the list of included paths. If the list of included paths
* contains one or more directories, then zero or more files or directories
* within the included directories can be excluded from analysis, as defined by
* the list of excluded paths.
*
* Clients may not extend, implement or mix-in this class.
*/
abstract class AnalysisContext {
/**
* The analysis options used to control the way the code is analyzed.
*/
AnalysisOptions get analysisOptions;
/**
* Return the context root from which this context was created.
*/
ContextRoot get contextRoot;
/**
* Return the currently active analysis session.
*/
AnalysisSession get currentSession;
/**
* A list of the absolute, normalized paths of files and directories that
* will not be analyzed.
*
* Deprecated: Use `contextRoot.excludedPaths`.
*/
@deprecated
List<String> get excludedPaths;
/**
* A list of the absolute, normalized paths of files and directories that
* will be analyzed. If a path in the list represents a file, then that file
* will be analyzed, even if it is in the list of [excludedPaths]. If path in
* the list represents a directory, then all of the files contained in that
* directory, either directly or indirectly, and that are not explicitly
* excluded by the list of [excludedPaths] will be analyzed.
*
* Deprecated: Use `contextRoot.includedPaths`.
*/
@deprecated
List<String> get includedPaths;
/**
* 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].
*
* Deprecated: Use `contextRoot.analyzedFiles`.
*/
@deprecated
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
* is contained in one of the [includedPaths], is not the same as or contained
* in one of the [excludedPaths].
*
* Deprecated: Use `contextRoot.isAnalyzed`.
*/
@deprecated
bool isAnalyzed(String path);
}