// Copyright (c) 2017, 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:analyzer_plugin/plugin/plugin.dart'; import 'package:analyzer_plugin/src/driver.dart'; /** * An object that can be used to start an analysis server plugin. This class * exists so that clients can configure a plugin before starting it. * * Clients may not extend, implement or mix-in this class. */ abstract class ServerPluginStarter { /** * Create a starter that can be used to start the given [plugin]. */ factory ServerPluginStarter(ServerPlugin plugin) => new Driver(plugin); /** * Establish the channel used to communicate with the server and start the * plugin. */ void start(SendPort sendPort); }