sort_constructors_first (#22575)
diff --git a/packages/flutter_tools/lib/src/android/android_studio.dart b/packages/flutter_tools/lib/src/android/android_studio.dart index 932433b..00f0dda 100644 --- a/packages/flutter_tools/lib/src/android/android_studio.dart +++ b/packages/flutter_tools/lib/src/android/android_studio.dart
@@ -36,16 +36,6 @@ _init(); } - final String directory; - final String studioAppName; - final Version version; - final String configured; - - String _pluginsPath; - String _javaPath; - bool _isValid = false; - final List<String> _validationMessages = <String>[]; - factory AndroidStudio.fromMacOSBundle(String bundlePath) { final String studioPath = fs.path.join(bundlePath, 'Contents'); final String plistFile = fs.path.join(studioPath, 'Info.plist'); @@ -89,6 +79,16 @@ return null; } + final String directory; + final String studioAppName; + final Version version; + final String configured; + + String _pluginsPath; + String _javaPath; + bool _isValid = false; + final List<String> _validationMessages = <String>[]; + String get javaPath => _javaPath; bool get isValid => _isValid;
diff --git a/packages/flutter_tools/lib/src/android/android_studio_validator.dart b/packages/flutter_tools/lib/src/android/android_studio_validator.dart index 3302e94..b12d338 100644 --- a/packages/flutter_tools/lib/src/android/android_studio_validator.dart +++ b/packages/flutter_tools/lib/src/android/android_studio_validator.dart
@@ -11,10 +11,10 @@ import 'android_studio.dart'; class AndroidStudioValidator extends DoctorValidator { - final AndroidStudio _studio; - AndroidStudioValidator(this._studio) : super('Android Studio'); + final AndroidStudio _studio; + static List<DoctorValidator> get allValidators { final List<DoctorValidator> validators = <DoctorValidator>[]; final List<AndroidStudio> studios = AndroidStudio.allInstalled();
diff --git a/packages/flutter_tools/lib/src/application_package.dart b/packages/flutter_tools/lib/src/application_package.dart index 03fbd9b..fc16897 100644 --- a/packages/flutter_tools/lib/src/application_package.dart +++ b/packages/flutter_tools/lib/src/application_package.dart
@@ -21,12 +21,12 @@ import 'tester/flutter_tester.dart'; abstract class ApplicationPackage { - /// Package ID from the Android Manifest or equivalent. - final String id; - ApplicationPackage({ @required this.id }) : assert(id != null); + /// Package ID from the Android Manifest or equivalent. + final String id; + String get name; String get displayName => name; @@ -38,12 +38,6 @@ } class AndroidApk extends ApplicationPackage { - /// Path to the actual apk file. - final File file; - - /// The path to the activity that should be launched. - final String launchActivity; - AndroidApk({ String id, @required this.file, @@ -88,6 +82,12 @@ ); } + /// Path to the actual apk file. + final File file; + + /// The path to the activity that should be launched. + final String launchActivity; + /// Creates a new AndroidApk based on the information in the Android manifest. static Future<AndroidApk> fromAndroidProject(AndroidProject androidProject) async { File apkFile; @@ -250,15 +250,15 @@ } class PrebuiltIOSApp extends IOSApp { - final Directory bundleDir; - final String bundleName; - PrebuiltIOSApp({ this.bundleDir, this.bundleName, @required String projectBundleId, }) : super(projectBundleId: projectBundleId); + final Directory bundleDir; + final String bundleName; + @override String get name => bundleName; @@ -299,11 +299,11 @@ } class ApplicationPackageStore { + ApplicationPackageStore({ this.android, this.iOS }); + AndroidApk android; IOSApp iOS; - ApplicationPackageStore({ this.android, this.iOS }); - Future<ApplicationPackage> getPackageForPlatform(TargetPlatform platform) async { switch (platform) { case TargetPlatform.android_arm: @@ -332,9 +332,6 @@ } class _Element extends _Entry { - List<_Entry> children; - String name; - _Element.fromLine(String line, _Element parent) { // E: application (line=29) final List<String> parts = line.trimLeft().split(' '); @@ -344,6 +341,9 @@ children = <_Entry>[]; } + List<_Entry> children; + String name; + void addChild(_Entry child) { children.add(child); } @@ -369,9 +369,6 @@ } class _Attribute extends _Entry { - String key; - String value; - _Attribute.fromLine(String line, _Element parent) { // A: android:label(0x01010001)="hello_world" (Raw: "hello_world") const String attributePrefix = 'A: '; @@ -383,6 +380,9 @@ level = line.length - line.trimLeft().length; this.parent = parent; } + + String key; + String value; } class ApkManifestData {
diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart index 9ad2d9b..59c20c7 100644 --- a/packages/flutter_tools/lib/src/artifacts.dart +++ b/packages/flutter_tools/lib/src/artifacts.dart
@@ -231,12 +231,12 @@ /// Manages the artifacts of a locally built engine. class LocalEngineArtifacts extends Artifacts { + LocalEngineArtifacts(this._engineSrcPath, this.engineOutPath, this._hostEngineOutPath); + final String _engineSrcPath; final String engineOutPath; // TODO(goderbauer): This should be private. String _hostEngineOutPath; - LocalEngineArtifacts(this._engineSrcPath, this.engineOutPath, this._hostEngineOutPath); - @override String getArtifactPath(Artifact artifact, [TargetPlatform platform, BuildMode mode]) { switch (artifact) {
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart index 5052e5d..871c882 100644 --- a/packages/flutter_tools/lib/src/asset.dart +++ b/packages/flutter_tools/lib/src/asset.dart
@@ -56,21 +56,21 @@ } class _ManifestAssetBundle implements AssetBundle { + /// Constructs an [_ManifestAssetBundle] that gathers the set of assets from the + /// pubspec.yaml manifest. + _ManifestAssetBundle(); + @override final Map<String, DevFSContent> entries = <String, DevFSContent>{}; + DateTime _lastBuildTimestamp; + static const String defaultManifestPath = 'pubspec.yaml'; static const String _assetManifestJson = 'AssetManifest.json'; static const String _fontManifestJson = 'FontManifest.json'; static const String _fontSetMaterial = 'material'; static const String _license = 'LICENSE'; - DateTime _lastBuildTimestamp; - - /// Constructs an [_ManifestAssetBundle] that gathers the set of assets from the - /// pubspec.yaml manifest. - _ManifestAssetBundle(); - @override bool wasBuiltOnce() => _lastBuildTimestamp != null;
diff --git a/packages/flutter_tools/lib/src/base/version.dart b/packages/flutter_tools/lib/src/base/version.dart index 663c43e..80ad3f0 100644 --- a/packages/flutter_tools/lib/src/base/version.dart +++ b/packages/flutter_tools/lib/src/base/version.dart
@@ -3,24 +3,6 @@ // found in the LICENSE file. class Version implements Comparable<Version> { - static final RegExp versionPattern = - RegExp(r'^(\d+)(\.(\d+)(\.(\d+))?)?'); - - /// The major version number: "1" in "1.2.3". - final int major; - - /// The minor version number: "2" in "1.2.3". - final int minor; - - /// The patch version number: "3" in "1.2.3". - final int patch; - - /// The original string representation of the version number. - /// - /// This preserves textual artifacts like leading zeros that may be left out - /// of the parsed version. - final String _text; - /// Creates a new [Version] object. factory Version(int major, int minor, int patch, {String text}) { if (text == null) { @@ -76,6 +58,24 @@ static Version get unknown => Version(0, 0, 0, text: 'unknown'); + /// The major version number: "1" in "1.2.3". + final int major; + + /// The minor version number: "2" in "1.2.3". + final int minor; + + /// The patch version number: "3" in "1.2.3". + final int patch; + + /// The original string representation of the version number. + /// + /// This preserves textual artifacts like leading zeros that may be left out + /// of the parsed version. + final String _text; + + static final RegExp versionPattern = + RegExp(r'^(\d+)(\.(\d+)(\.(\d+))?)?'); + /// Two [Version]s are equal if their version numbers are. The version text /// is ignored. @override
diff --git a/packages/flutter_tools/lib/src/commands/analyze_base.dart b/packages/flutter_tools/lib/src/commands/analyze_base.dart index 04547d2..e10f96f 100644 --- a/packages/flutter_tools/lib/src/commands/analyze_base.dart +++ b/packages/flutter_tools/lib/src/commands/analyze_base.dart
@@ -15,11 +15,11 @@ /// Common behavior for `flutter analyze` and `flutter analyze --watch` abstract class AnalyzeBase { + AnalyzeBase(this.argResults); + /// The parsed argument results for execution. final ArgResults argResults; - AnalyzeBase(this.argResults); - /// Called by [AnalyzeCommand] to start the analysis process. Future<Null> analyze();
diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart index 18d38bc..de16efb 100644 --- a/packages/flutter_tools/lib/src/commands/daemon.dart +++ b/packages/flutter_tools/lib/src/commands/daemon.dart
@@ -819,14 +819,14 @@ /// This domain responds to methods like [getEmulators] and [launch]. class EmulatorDomain extends Domain { - EmulatorManager emulators = EmulatorManager(); - EmulatorDomain(Daemon daemon) : super(daemon, 'emulator') { registerHandler('getEmulators', getEmulators); registerHandler('launch', launch); registerHandler('create', create); } + EmulatorManager emulators = EmulatorManager(); + Future<List<Map<String, dynamic>>> getEmulators([Map<String, dynamic> args]) async { final List<Emulator> list = await emulators.getAllAvailableEmulators(); return list.map<Map<String, dynamic>>(_emulatorToMap).toList(); @@ -971,9 +971,9 @@ } class LogMessage { + LogMessage(this.level, this.message, [this.stackTrace]); + final String level; final String message; final StackTrace stackTrace; - - LogMessage(this.level, this.message, [this.stackTrace]); }
diff --git a/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart b/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart index 3979beb..9bb14cf 100644 --- a/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart +++ b/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
@@ -444,18 +444,18 @@ // VM service running on a Fuchsia device. [process] is the ssh process running // the tunnel and [port] is the local port. class _PortForwarder { - final String _remoteAddress; - final int _remotePort; - final int _localPort; - final Process _process; - final String _sshConfig; - _PortForwarder._(this._remoteAddress, this._remotePort, this._localPort, this._process, this._sshConfig); + final String _remoteAddress; + final int _remotePort; + final int _localPort; + final Process _process; + final String _sshConfig; + int get port => _localPort; static Future<_PortForwarder> start(String sshConfig, @@ -519,11 +519,11 @@ } class FuchsiaDeviceCommandRunner { + FuchsiaDeviceCommandRunner(this._address, this._sshConfig); + final String _address; final String _sshConfig; - FuchsiaDeviceCommandRunner(this._address, this._sshConfig); - Future<List<String>> run(String command) async { final List<String> args = <String>['ssh', '-F', _sshConfig, _address, command]; printTrace(args.join(' '));
diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart index 36efd98..40c3548 100644 --- a/packages/flutter_tools/lib/src/commands/run.dart +++ b/packages/flutter_tools/lib/src/commands/run.dart
@@ -72,12 +72,6 @@ } class RunCommand extends RunCommandBase { - @override - final String name = 'run'; - - @override - final String description = 'Run your Flutter app on an attached device.'; - RunCommand({ bool verboseHelp = false }) : super(verboseHelp: verboseHelp) { requiresPubspecYaml(); usesFilesystemOptions(hide: !verboseHelp); @@ -179,6 +173,12 @@ ..addOption(FlutterOptions.kExtraGenSnapshotOptions, hide: true); } + @override + final String name = 'run'; + + @override + final String description = 'Run your Flutter app on an attached device.'; + List<Device> devices; @override
diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart index a3c6930..9ae0778 100644 --- a/packages/flutter_tools/lib/src/compile.dart +++ b/packages/flutter_tools/lib/src/compile.dart
@@ -21,10 +21,10 @@ typedef CompilerMessageConsumer = void Function(String message, {bool emphasis, TerminalColor color}); class CompilerOutput { + const CompilerOutput(this.outputFilename, this.errorCount); + final String outputFilename; final int errorCount; - - const CompilerOutput(this.outputFilename, this.errorCount); } class _StdoutHandler { @@ -198,10 +198,10 @@ /// Class that allows to serialize compilation requests to the compiler. abstract class _CompilationRequest { - Completer<CompilerOutput> completer; - _CompilationRequest(this.completer); + Completer<CompilerOutput> completer; + Future<CompilerOutput> _run(ResidentCompiler compiler); Future<void> run(ResidentCompiler compiler) async {
diff --git a/packages/flutter_tools/lib/src/crash_reporting.dart b/packages/flutter_tools/lib/src/crash_reporting.dart index 9018cee..b353780 100644 --- a/packages/flutter_tools/lib/src/crash_reporting.dart +++ b/packages/flutter_tools/lib/src/crash_reporting.dart
@@ -48,10 +48,10 @@ /// * In tests call [initializeWith] and provide a mock implementation of /// [http.Client]. class CrashReportSender { - static CrashReportSender _instance; - CrashReportSender._(this._client); + static CrashReportSender _instance; + static CrashReportSender get instance => _instance ?? CrashReportSender._(http.Client()); /// Overrides the default [http.Client] with [client] for testing purposes.
diff --git a/packages/flutter_tools/lib/src/dart/pub.dart b/packages/flutter_tools/lib/src/dart/pub.dart index b4b6e6b..b318302 100644 --- a/packages/flutter_tools/lib/src/dart/pub.dart +++ b/packages/flutter_tools/lib/src/dart/pub.dart
@@ -23,7 +23,17 @@ // DO NOT update without contacting kevmoo. // We have server-side tooling that assumes the values are consistent. class PubContext { - static final RegExp _validContext = RegExp('[a-z][a-z_]*[a-z]'); + PubContext._(this._values) { + for (String item in _values) { + if (!_validContext.hasMatch(item)) { + throw ArgumentError.value( + _values, 'value', 'Must match RegExp ${_validContext.pattern}'); + } + } + } + + static PubContext getVerifyContext(String commandName) => + PubContext._(<String>['verify', commandName.replaceAll('-', '_')]); static final PubContext create = PubContext._(<String>['create']); static final PubContext createPackage = PubContext._(<String>['create_pkg']); @@ -38,17 +48,7 @@ final List<String> _values; - PubContext._(this._values) { - for (String item in _values) { - if (!_validContext.hasMatch(item)) { - throw ArgumentError.value( - _values, 'value', 'Must match RegExp ${_validContext.pattern}'); - } - } - } - - static PubContext getVerifyContext(String commandName) => - PubContext._(<String>['verify', commandName.replaceAll('-', '_')]); + static final RegExp _validContext = RegExp('[a-z][a-z_]*[a-z]'); @override String toString() => 'PubContext: ${_values.join(':')}';
diff --git a/packages/flutter_tools/lib/src/dependency_checker.dart b/packages/flutter_tools/lib/src/dependency_checker.dart index 8316443..bcc9407 100644 --- a/packages/flutter_tools/lib/src/dependency_checker.dart +++ b/packages/flutter_tools/lib/src/dependency_checker.dart
@@ -8,10 +8,11 @@ import 'globals.dart'; class DependencyChecker { + DependencyChecker(this.builder, this.assets); + final DartDependencySetBuilder builder; final Set<String> _dependencies = Set<String>(); final AssetBundle assets; - DependencyChecker(this.builder, this.assets); /// Returns [true] if any components have been modified after [threshold] or /// if it cannot be determined.
diff --git a/packages/flutter_tools/lib/src/devfs.dart b/packages/flutter_tools/lib/src/devfs.dart index 3dd8819..54b7107 100644 --- a/packages/flutter_tools/lib/src/devfs.dart +++ b/packages/flutter_tools/lib/src/devfs.dart
@@ -201,10 +201,10 @@ /// An implementation of [DevFSOperations] that speaks to the /// vm service. class ServiceProtocolDevFSOperations implements DevFSOperations { - final VMService vmService; - ServiceProtocolDevFSOperations(this.vmService); + final VMService vmService; + @override Future<Uri> create(String fsName) async { final Map<String, dynamic> response = await vmService.vm.createDevFS(fsName);
diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart index d0fcf2f..ca10b6e 100644 --- a/packages/flutter_tools/lib/src/doctor.dart +++ b/packages/flutter_tools/lib/src/doctor.dart
@@ -420,10 +420,10 @@ } abstract class IntelliJValidator extends DoctorValidator { - final String installPath; - IntelliJValidator(String title, this.installPath) : super(title); + final String installPath; + String get version; String get pluginsPath; @@ -644,10 +644,10 @@ } class ValidatorWithResult extends DoctorValidator { - final ValidationResult result; - ValidatorWithResult(String title, this.result) : super(title); + final ValidationResult result; + @override Future<ValidationResult> validate() async => result; }
diff --git a/packages/flutter_tools/lib/src/emulator.dart b/packages/flutter_tools/lib/src/emulator.dart index 42e63fe..51d0706 100644 --- a/packages/flutter_tools/lib/src/emulator.dart +++ b/packages/flutter_tools/lib/src/emulator.dart
@@ -277,10 +277,10 @@ } class CreateEmulatorResult { + CreateEmulatorResult(this.emulatorName, {this.success, this.output, this.error}); + final bool success; final String emulatorName; final String output; final String error; - - CreateEmulatorResult(this.emulatorName, {this.success, this.output, this.error}); }
diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart index 0c02bcc..7609979 100644 --- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart +++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
@@ -10,10 +10,10 @@ /// Read the log for a particular device. class _FuchsiaLogReader extends DeviceLogReader { - FuchsiaDevice _device; - _FuchsiaLogReader(this._device); + FuchsiaDevice _device; + @override String get name => _device.name; Stream<String> _logLines;
diff --git a/packages/flutter_tools/lib/src/intellij/intellij.dart b/packages/flutter_tools/lib/src/intellij/intellij.dart index 03f2d0f..46278ba 100644 --- a/packages/flutter_tools/lib/src/intellij/intellij.dart +++ b/packages/flutter_tools/lib/src/intellij/intellij.dart
@@ -11,11 +11,11 @@ import '../doctor.dart'; class IntelliJPlugins { - static final Version kMinFlutterPluginVersion = Version(16, 0, 0); + IntelliJPlugins(this.pluginsPath); final String pluginsPath; - IntelliJPlugins(this.pluginsPath); + static final Version kMinFlutterPluginVersion = Version(16, 0, 0); void validatePackage( List<ValidationMessage> messages, List<String> packageNames, String title,
diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart index d9f4e26..f567692 100644 --- a/packages/flutter_tools/lib/src/ios/devices.dart +++ b/packages/flutter_tools/lib/src/ios/devices.dart
@@ -440,11 +440,6 @@ } class _IOSDeviceLogReader extends DeviceLogReader { - // Matches a syslog line from the runner. - RegExp _runnerLineRegex; - // Matches a syslog line from any app. - RegExp _anyLineRegex; - _IOSDeviceLogReader(this.device, ApplicationPackage app) { _linesController = StreamController<String>.broadcast( onListen: _start, @@ -465,6 +460,11 @@ final IOSDevice device; + // Matches a syslog line from the runner. + RegExp _runnerLineRegex; + // Matches a syslog line from any app. + RegExp _anyLineRegex; + StreamController<String> _linesController; Process _process;
diff --git a/packages/flutter_tools/lib/src/ios/simulators.dart b/packages/flutter_tools/lib/src/ios/simulators.dart index 77dd9d4..ea830e3 100644 --- a/packages/flutter_tools/lib/src/ios/simulators.dart +++ b/packages/flutter_tools/lib/src/ios/simulators.dart
@@ -482,8 +482,6 @@ } class _IOSSimulatorLogReader extends DeviceLogReader { - String _appName; - _IOSSimulatorLogReader(this.device, IOSApp app) { _linesController = StreamController<String>.broadcast( onListen: _start, @@ -494,6 +492,8 @@ final IOSSimulator device; + String _appName; + StreamController<String> _linesController; // We log from two files: the device and the system log.
diff --git a/packages/flutter_tools/lib/src/plugins.dart b/packages/flutter_tools/lib/src/plugins.dart index 2b959c7..cd4827b 100644 --- a/packages/flutter_tools/lib/src/plugins.dart +++ b/packages/flutter_tools/lib/src/plugins.dart
@@ -22,12 +22,6 @@ } class Plugin { - final String name; - final String path; - final String androidPackage; - final String iosPrefix; - final String pluginClass; - Plugin({ this.name, this.path, @@ -53,6 +47,12 @@ pluginClass: pluginClass, ); } + + final String name; + final String path; + final String androidPackage; + final String iosPrefix; + final String pluginClass; } Plugin _pluginFromPubspec(String name, Uri packageRoot) {
diff --git a/packages/flutter_tools/lib/src/project.dart b/packages/flutter_tools/lib/src/project.dart index 0654611..3f94c80 100644 --- a/packages/flutter_tools/lib/src/project.dart +++ b/packages/flutter_tools/lib/src/project.dart
@@ -148,15 +148,15 @@ /// Instances will reflect the contents of the `ios/` sub-folder of /// Flutter applications and the `.ios/` sub-folder of Flutter modules. class IosProject { - static final RegExp _productBundleIdPattern = RegExp(r'^\s*PRODUCT_BUNDLE_IDENTIFIER\s*=\s*(.*);\s*$'); - static const String _productBundleIdVariable = r'$(PRODUCT_BUNDLE_IDENTIFIER)'; - static const String _hostAppBundleName = 'Runner'; - IosProject._(this.parent); /// The parent of this project. final FlutterProject parent; + static final RegExp _productBundleIdPattern = RegExp(r'^\s*PRODUCT_BUNDLE_IDENTIFIER\s*=\s*(.*);\s*$'); + static const String _productBundleIdVariable = r'$(PRODUCT_BUNDLE_IDENTIFIER)'; + static const String _hostAppBundleName = 'Runner'; + Directory get _ephemeralDirectory => parent.directory.childDirectory('.ios'); Directory get _editableDirectory => parent.directory.childDirectory('ios'); @@ -321,14 +321,14 @@ /// Instances will reflect the contents of the `android/` sub-folder of /// Flutter applications and the `.android/` sub-folder of Flutter modules. class AndroidProject { - static final RegExp _applicationIdPattern = RegExp('^\\s*applicationId\\s+[\'\"](.*)[\'\"]\\s*\$'); - static final RegExp _groupPattern = RegExp('^\\s*group\\s+[\'\"](.*)[\'\"]\\s*\$'); - AndroidProject._(this.parent); /// The parent of this project. final FlutterProject parent; + static final RegExp _applicationIdPattern = RegExp('^\\s*applicationId\\s+[\'\"](.*)[\'\"]\\s*\$'); + static final RegExp _groupPattern = RegExp('^\\s*group\\s+[\'\"](.*)[\'\"]\\s*\$'); + /// The Gradle root directory of the Android host app. This is the directory /// containing the `app/` subdirectory and the `settings.gradle` file that /// includes it in the overall Gradle project.
diff --git a/packages/flutter_tools/lib/src/tester/flutter_tester.dart b/packages/flutter_tools/lib/src/tester/flutter_tester.dart index 4e5ff5f..219d46b 100644 --- a/packages/flutter_tools/lib/src/tester/flutter_tester.dart +++ b/packages/flutter_tools/lib/src/tester/flutter_tester.dart
@@ -22,8 +22,6 @@ import '../version.dart'; class FlutterTesterApp extends ApplicationPackage { - final Directory _directory; - factory FlutterTesterApp.fromCurrentDirectory() { return FlutterTesterApp._(fs.currentDirectory); } @@ -32,6 +30,8 @@ : _directory = directory, super(id: directory.path); + final Directory _directory; + @override String get name => _directory.basename;
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart index 98612c0..da54493 100644 --- a/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart
@@ -368,10 +368,6 @@ /// Contains data and load/save logic pertaining to Flutter version checks. @visibleForTesting class VersionCheckStamp { - /// The prefix of the stamp file where we cache Flutter version check data. - @visibleForTesting - static const String kFlutterVersionCheckStampFile = 'flutter_version_check'; - const VersionCheckStamp({ this.lastTimeVersionWasChecked, this.lastKnownRemoteVersion, @@ -382,6 +378,10 @@ final DateTime lastKnownRemoteVersion; final DateTime lastTimeWarningWasPrinted; + /// The prefix of the stamp file where we cache Flutter version check data. + @visibleForTesting + static const String kFlutterVersionCheckStampFile = 'flutter_version_check'; + static Future<VersionCheckStamp> load() async { final String versionCheckStamp = Cache.instance.getStampFor(kFlutterVersionCheckStampFile);
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart index 0fa50cb..e76b963 100644 --- a/packages/flutter_tools/lib/src/vmservice.dart +++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -559,7 +559,20 @@ } class ServiceEvent extends ServiceObject { - /// The possible 'kind' values. + ServiceEvent._empty(ServiceObjectOwner owner) : super._empty(owner); + + String _kind; + String get kind => _kind; + DateTime _timestamp; + DateTime get timestamp => _timestamp; + String _extensionKind; + String get extensionKind => _extensionKind; + Map<String, dynamic> _extensionData; + Map<String, dynamic> get extensionData => _extensionData; + List<Map<String, dynamic>> _timelineEvents; + List<Map<String, dynamic>> get timelineEvents => _timelineEvents; + + // The possible 'kind' values. static const String kVMUpdate = 'VMUpdate'; static const String kIsolateStart = 'IsolateStart'; static const String kIsolateRunnable = 'IsolateRunnable'; @@ -587,19 +600,6 @@ static const String kLogging = '_Logging'; static const String kExtension = 'Extension'; - ServiceEvent._empty(ServiceObjectOwner owner) : super._empty(owner); - - String _kind; - String get kind => _kind; - DateTime _timestamp; - DateTime get timestamp => _timestamp; - String _extensionKind; - String get extensionKind => _extensionKind; - Map<String, dynamic> _extensionData; - Map<String, dynamic> get extensionData => _extensionData; - List<Map<String, dynamic>> _timelineEvents; - List<Map<String, dynamic>> get timelineEvents => _timelineEvents; - @override void _update(Map<String, dynamic> map, bool mapIsRef) { _loaded = true;
diff --git a/packages/flutter_tools/lib/src/vmservice_record_replay.dart b/packages/flutter_tools/lib/src/vmservice_record_replay.dart index 49dd7c3..0126f87 100644 --- a/packages/flutter_tools/lib/src/vmservice_record_replay.dart +++ b/packages/flutter_tools/lib/src/vmservice_record_replay.dart
@@ -22,11 +22,6 @@ /// A [StreamChannel] that expects VM service (JSON-rpc) protocol messages and /// serializes all such messages to the file system for later playback. class RecordingVMServiceChannel extends DelegatingStreamChannel<String> { - final List<_Message> _messages = <_Message>[]; - - _RecordingStream _streamRecorder; - _RecordingSink _sinkRecorder; - RecordingVMServiceChannel(StreamChannel<String> delegate, Directory location) : super(delegate) { addShutdownHook(() async { @@ -41,6 +36,11 @@ }, ShutdownStage.SERIALIZE_RECORDING); } + final List<_Message> _messages = <_Message>[]; + + _RecordingStream _streamRecorder; + _RecordingSink _sinkRecorder; + @override Stream<String> get stream { _streamRecorder ??= _RecordingStream(super.stream, _messages); @@ -53,9 +53,6 @@ /// Base class for request and response JSON-rpc messages. abstract class _Message implements Comparable<_Message> { - final String type; - final Map<String, dynamic> data; - _Message(this.type, this.data); factory _Message.fromRecording(Map<String, dynamic> recordingData) { @@ -64,6 +61,9 @@ : _Response(recordingData[_kData]); } + final String type; + final Map<String, dynamic> data; + int get id => data[_kId]; /// Allows [JsonEncoder] to properly encode objects of this type. @@ -115,11 +115,6 @@ /// A helper class that monitors a [Stream] of VM service JSON-rpc responses /// and saves the responses to a recording. class _RecordingStream { - final Stream<String> _delegate; - final StreamController<String> _controller; - final List<_Message> _recording; - StreamSubscription<String> _subscription; - _RecordingStream(Stream<String> stream, this._recording) : _delegate = stream, _controller = stream.isBroadcast @@ -144,6 +139,11 @@ }; } + final Stream<String> _delegate; + final StreamController<String> _controller; + final List<_Message> _recording; + StreamSubscription<String> _subscription; + StreamSubscription<String> _listenToStream() { return _delegate.listen( (String element) { @@ -162,11 +162,11 @@ /// A [StreamSink] that monitors VM service JSON-rpc requests and saves the /// requests to a recording. class _RecordingSink implements StreamSink<String> { + _RecordingSink(this._delegate, this._recording); + final StreamSink<String> _delegate; final List<_Message> _recording; - _RecordingSink(this._delegate, this._recording); - @override Future<dynamic> close() => _delegate.close(); @@ -194,13 +194,13 @@ /// to its [StreamChannel.sink], looks up those requests in a recording, and /// replays the corresponding responses back from the recording. class ReplayVMServiceChannel extends StreamChannelMixin<String> { + ReplayVMServiceChannel(Directory location) + : _transactions = _loadTransactions(location); + final Map<int, _Transaction> _transactions; final StreamController<String> _controller = StreamController<String>(); _ReplaySink _replaySink; - ReplayVMServiceChannel(Directory location) - : _transactions = _loadTransactions(location); - static Map<int, _Transaction> _loadTransactions(Directory location) { final File file = _getManifest(location); final String jsonData = file.readAsStringSync(); @@ -250,11 +250,11 @@ } class _ReplaySink implements StreamSink<String> { + _ReplaySink(this.channel); + final ReplayVMServiceChannel channel; final Completer<Null> _completer = Completer<Null>(); - _ReplaySink(this.channel); - @override Future<dynamic> close() { _completer.complete();
diff --git a/packages/flutter_tools/lib/src/vscode/vscode.dart b/packages/flutter_tools/lib/src/vscode/vscode.dart index e92b9e3..3ed7586 100644 --- a/packages/flutter_tools/lib/src/vscode/vscode.dart +++ b/packages/flutter_tools/lib/src/vscode/vscode.dart
@@ -45,17 +45,6 @@ } } - final String directory; - final String extensionDirectory; - final Version version; - final String edition; - - static const String extensionIdentifier = 'Dart-Code.flutter'; - - bool _isValid = false; - Version _extensionVersion; - final List<String> _validationMessages = <String>[]; - factory VsCode.fromDirectory(String installPath, String extensionDirectory, { String edition }) { final String packageJsonPath = @@ -67,6 +56,17 @@ return VsCode._(installPath, extensionDirectory, version: version, edition: edition); } + final String directory; + final String extensionDirectory; + final Version version; + final String edition; + + static const String extensionIdentifier = 'Dart-Code.flutter'; + + bool _isValid = false; + Version _extensionVersion; + final List<String> _validationMessages = <String>[]; + bool get isValid => _isValid; String get productName => 'VS Code' + (edition != null ? ', $edition' : '');
diff --git a/packages/flutter_tools/lib/src/vscode/vscode_validator.dart b/packages/flutter_tools/lib/src/vscode/vscode_validator.dart index b93e1d0..3d95170 100644 --- a/packages/flutter_tools/lib/src/vscode/vscode_validator.dart +++ b/packages/flutter_tools/lib/src/vscode/vscode_validator.dart
@@ -9,11 +9,12 @@ import 'vscode.dart'; class VsCodeValidator extends DoctorValidator { - static const String extensionMarketplaceUrl = - 'https://marketplace.visualstudio.com/items?itemName=${VsCode.extensionIdentifier}'; + VsCodeValidator(this._vsCode) : super(_vsCode.productName); + final VsCode _vsCode; - VsCodeValidator(this._vsCode) : super(_vsCode.productName); + static const String extensionMarketplaceUrl = + 'https://marketplace.visualstudio.com/items?itemName=${VsCode.extensionIdentifier}'; static Iterable<DoctorValidator> get installedValidators { return VsCode
diff --git a/packages/flutter_tools/test/commands/doctor_test.dart b/packages/flutter_tools/test/commands/doctor_test.dart index 7e37463..ea49e34 100644 --- a/packages/flutter_tools/test/commands/doctor_test.dart +++ b/packages/flutter_tools/test/commands/doctor_test.dart
@@ -510,18 +510,17 @@ /// A doctor that takes any two validators. Used to check behavior when /// merging ValidationTypes (installed, missing, partial). class FakeSmallGroupDoctor extends Doctor { - List<DoctorValidator> _validators; FakeSmallGroupDoctor(DoctorValidator val1, DoctorValidator val2) { _validators = <DoctorValidator>[GroupedValidator(<DoctorValidator>[val1, val2])]; } + + List<DoctorValidator> _validators; + @override List<DoctorValidator> get validators => _validators; } class VsCodeValidatorTestTargets extends VsCodeValidator { - static final String validInstall = fs.path.join('test', 'data', 'vscode', 'application'); - static final String validExtensions = fs.path.join('test', 'data', 'vscode', 'extensions'); - static final String missingExtensions = fs.path.join('test', 'data', 'vscode', 'notExtensions'); VsCodeValidatorTestTargets._(String installDirectory, String extensionDirectory, {String edition}) : super(VsCode.fromDirectory(installDirectory, extensionDirectory, edition: edition)); @@ -533,4 +532,8 @@ static VsCodeValidatorTestTargets get installedWithoutExtension => VsCodeValidatorTestTargets._(validInstall, missingExtensions); + + static final String validInstall = fs.path.join('test', 'data', 'vscode', 'application'); + static final String validExtensions = fs.path.join('test', 'data', 'vscode', 'extensions'); + static final String missingExtensions = fs.path.join('test', 'data', 'vscode', 'notExtensions'); }
diff --git a/packages/flutter_tools/test/dart/pub_get_test.dart b/packages/flutter_tools/test/dart/pub_get_test.dart index 16e23f3..ec4773f 100644 --- a/packages/flutter_tools/test/dart/pub_get_test.dart +++ b/packages/flutter_tools/test/dart/pub_get_test.dart
@@ -251,13 +251,13 @@ } class MockDirectory implements Directory { - static bool findCache = false; - MockDirectory(this.path); @override final String path; + static bool findCache = false; + @override bool existsSync() => findCache && path.endsWith('.pub-cache');
diff --git a/packages/flutter_tools/test/devfs_test.dart b/packages/flutter_tools/test/devfs_test.dart index c834d02..d3c72bc 100644 --- a/packages/flutter_tools/test/devfs_test.dart +++ b/packages/flutter_tools/test/devfs_test.dart
@@ -424,14 +424,14 @@ } class MockVMService extends BasicMock implements VMService { - Uri _httpAddress; - HttpServer _server; - MockVM _vm; - MockVMService() { _vm = MockVM(this); } + Uri _httpAddress; + HttpServer _server; + MockVM _vm; + @override Uri get httpAddress => _httpAddress; @@ -468,14 +468,14 @@ } class MockVM implements VM { + MockVM(this._service); + final MockVMService _service; final Uri _baseUri = Uri.parse('file:///tmp/devfs/test'); bool _devFSExists = false; static const int kFileSystemAlreadyExists = 1001; - MockVM(this._service); - @override Future<Map<String, dynamic>> createDevFS(String fsName) async { _service.messages.add('create $fsName');
diff --git a/packages/flutter_tools/test/device_test.dart b/packages/flutter_tools/test/device_test.dart index 286ee49..db32c3d 100644 --- a/packages/flutter_tools/test/device_test.dart +++ b/packages/flutter_tools/test/device_test.dart
@@ -39,10 +39,10 @@ } class TestDeviceManager extends DeviceManager { - final List<Device> allDevices; - TestDeviceManager(this.allDevices); + final List<Device> allDevices; + @override Stream<Device> getAllConnectedDevices() { return Stream<Device>.fromIterable(allDevices); @@ -50,11 +50,11 @@ } class _MockDevice extends Device { + _MockDevice(this.name, String id) : super(id); + @override final String name; - _MockDevice(this.name, String id) : super(id); - @override void noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); }
diff --git a/packages/flutter_tools/test/emulator_test.dart b/packages/flutter_tools/test/emulator_test.dart index 01c7d4c..0bb1499 100644 --- a/packages/flutter_tools/test/emulator_test.dart +++ b/packages/flutter_tools/test/emulator_test.dart
@@ -152,10 +152,10 @@ } class TestEmulatorManager extends EmulatorManager { - final List<Emulator> allEmulators; - TestEmulatorManager(this.allEmulators); + final List<Emulator> allEmulators; + @override Future<List<Emulator>> getAllAvailableEmulators() { return Future<List<Emulator>>.value(allEmulators);
diff --git a/packages/flutter_tools/test/hot_test.dart b/packages/flutter_tools/test/hot_test.dart index 9d92cd2..0094422 100644 --- a/packages/flutter_tools/test/hot_test.dart +++ b/packages/flutter_tools/test/hot_test.dart
@@ -135,10 +135,10 @@ } class TestHotRunnerConfig extends HotRunnerConfig { - bool successfulSetup; - TestHotRunnerConfig({@required this.successfulSetup}); + bool successfulSetup; + @override Future<bool> setupHotRestart() async { return successfulSetup;
diff --git a/packages/flutter_tools/test/protocol_discovery_test.dart b/packages/flutter_tools/test/protocol_discovery_test.dart index 0bd6606..d8499f2 100644 --- a/packages/flutter_tools/test/protocol_discovery_test.dart +++ b/packages/flutter_tools/test/protocol_discovery_test.dart
@@ -223,9 +223,10 @@ } class MockPortForwarder extends DevicePortForwarder { - final int availablePort; MockPortForwarder([this.availablePort]); + final int availablePort; + @override Future<int> forward(int devicePort, {int hostPort}) async { hostPort ??= 0;
diff --git a/packages/flutter_tools/test/src/mocks.dart b/packages/flutter_tools/test/src/mocks.dart index 5bcb4bc..eec77f1 100644 --- a/packages/flutter_tools/test/src/mocks.dart +++ b/packages/flutter_tools/test/src/mocks.dart
@@ -308,12 +308,12 @@ } class MockPollingDeviceDiscovery extends PollingDeviceDiscovery { + MockPollingDeviceDiscovery() : super('mock'); + final List<Device> _devices = <Device>[]; final StreamController<Device> _onAddedController = StreamController<Device>.broadcast(); final StreamController<Device> _onRemovedController = StreamController<Device>.broadcast(); - MockPollingDeviceDiscovery() : super('mock'); - @override Future<List<Device>> pollingGetDevices() async => _devices;