| // 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:analysis_server/src/analysis_server.dart'; |
| |
| /** |
| * A class that can be used to confirm an analysis server instance to better |
| * support intermittent file systems. |
| * |
| * See also [AnalysisServerOptions.detachableFileSystemManager]. |
| */ |
| abstract class DetachableFileSystemManager { |
| /** |
| * Indicate that the [DetachableFileSystemManager] and the containing analysis |
| * server are being shut down. |
| */ |
| void dispose(); |
| |
| /** |
| * Forward on the 'analysis.setAnalysisRoots' request. |
| * |
| * This class can choose to pass through all [setAnalysisRoots] calls to the |
| * underlying analysis server, it can choose to modify the given |
| * [includedPaths] and other parameters, or it could choose to delays calls to |
| * [setAnalysisRoots]. |
| */ |
| void setAnalysisRoots(String requestId, List<String> includedPaths, |
| List<String> excludedPaths, Map<String, String> packageRoots); |
| |
| /** |
| * Called exactly once before any calls to [setAnalysisRoots]. |
| */ |
| void setAnalysisServer(AnalysisServer server); |
| } |