// Copyright (c) 2015, 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 'dart:isolate'; import 'package:analysis_server/src/server/crash_reporting_attachments.dart'; import 'package:analysis_server/src/server/detachable_filesystem_manager.dart'; import 'package:analysis_server/src/server/driver.dart'; /// An object that can be used to start an analysis server. This class exists so /// that clients can configure an analysis server before starting it. /// /// Clients may not extend, implement or mix-in this class. abstract class ServerStarter { /// Initialize a newly created starter to start up an analysis server. factory() = Driver; /// Set the new builder for attachments that should be included into crash /// reports. set crashReportingAttachmentsBuilder( CrashReportingAttachmentsBuilder builder, ); /// An optional manager to handle file systems which may not always be /// available. set detachableFileSystemManager(DetachableFileSystemManager manager); /// Use the given command-line [arguments] to start this server. void start( List arguments, { SendPort sendPort, bool defaultToLsp = false, }); }