diff --git a/packages/flutter_tools/lib/src/devfs.dart b/packages/flutter_tools/lib/src/devfs.dart index bcec79beea7..65a5b710bc2 100644 --- a/packages/flutter_tools/lib/src/devfs.dart +++ b/packages/flutter_tools/lib/src/devfs.dart @@ -339,16 +339,6 @@ class DevFS { Uri _baseUri; Uri get baseUri => _baseUri; - Uri deviceUriToHostUri(Uri deviceUri) { - final String deviceUriString = deviceUri.toString(); - final String baseUriString = baseUri.toString(); - if (deviceUriString.startsWith(baseUriString)) { - final String deviceUriSuffix = deviceUriString.substring(baseUriString.length); - return rootDirectory.uri.resolve(deviceUriSuffix); - } - return deviceUri; - } - Future create() async { printTrace('DevFS: Creating new filesystem on the device ($_baseUri)'); try { diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart index 9c925b9e58a..2c5f64622ee 100644 --- a/packages/flutter_tools/lib/src/resident_runner.dart +++ b/packages/flutter_tools/lib/src/resident_runner.dart @@ -139,26 +139,6 @@ class FlutterDevice { return reports; } - // Lists program elements changed in the most recent reload that have not - // since executed. - Future> unusedChangesInLastReload() async { - final List>> reports = - >>[]; - for (FlutterView view in views) { - reports.add(view.uiIsolate.getUnusedChangesInLastReload()); - } - final List elements = []; - for (Future> report in reports) { - for (ProgramElement element in await report) { - elements.add(new ProgramElement(element.qualifiedName, - devFS.deviceUriToHostUri(element.uri), - element.line, - element.column)); - } - } - return elements; - } - Future debugDumpApp() async { for (FlutterView view in views) await view.uiIsolate.flutterDebugDumpApp(); @@ -825,15 +805,14 @@ abstract class ResidentRunner { } class OperationResult { - OperationResult(this.code, this.message, [this.hint]); + static final OperationResult ok = new OperationResult(0, ''); + + OperationResult(this.code, this.message); final int code; final String message; - final String hint; bool get isOk => code == 0; - - static final OperationResult ok = new OperationResult(0, ''); } /// Given the value of the --target option, return the path of the Dart file diff --git a/packages/flutter_tools/lib/src/run_hot.dart b/packages/flutter_tools/lib/src/run_hot.dart index bff74217efe..13a95cd9562 100644 --- a/packages/flutter_tools/lib/src/run_hot.dart +++ b/packages/flutter_tools/lib/src/run_hot.dart @@ -426,8 +426,6 @@ class HotRunner extends ResidentRunner { status.cancel(); if (result.isOk) printStatus("${result.message} in ${getElapsedAsMilliseconds(timer.elapsed)}."); - if (result.hint != null) - printStatus(result.hint); return result; } catch (error) { status.cancel(); @@ -436,14 +434,6 @@ class HotRunner extends ResidentRunner { } } - String _uriToRelativePath(Uri uri) { - final String path = uri.toString(); - final String base = new Uri.file(projectRootPath).toString(); - if (path.startsWith(base)) - return path.substring(base.length + 1); - return path; - } - Future _reloadSources({ bool pause: false }) async { for (FlutterDevice device in flutterDevices) { for (FlutterView view in device.views) { @@ -632,41 +622,9 @@ class HotRunner extends ResidentRunner { !reassembleTimedOut && shouldReportReloadTime) flutterUsage.sendTiming('hot', 'reload', reloadTimer.elapsed); - - String unusedElementMessage; - if (!reassembleAndScheduleErrors && !reassembleTimedOut) { - final List>> unusedReports = - >>[]; - for (FlutterDevice device in flutterDevices) - unusedReports.add(device.unusedChangesInLastReload()); - final List unusedElements = []; - for (Future> unusedReport in unusedReports) - unusedElements.addAll(await unusedReport); - - if (unusedElements.isNotEmpty) { - unusedElementMessage = - '\nThe following program elements were changed by the reload, ' - 'but did not run when the view was reassembled. If this code ' - 'only runs at start-up, you will need to restart ("R") for ' - 'the changes to have an effect.'; - for (ProgramElement unusedElement in unusedElements) { - final String name = unusedElement.qualifiedName; - final String path = _uriToRelativePath(unusedElement.uri); - final int line = unusedElement.line; - String elementDescription; - if (line == null) { - elementDescription = '$name ($path)'; - } else { - elementDescription = '$name ($path:$line)'; - } - unusedElementMessage += '\n - $elementDescription'; - } - } - } - return new OperationResult( reassembleAndScheduleErrors ? 1 : OperationResult.ok.code, - reloadMessage, unusedElementMessage + reloadMessage ); } diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart index a215eb95dec..ef8167896f9 100644 --- a/packages/flutter_tools/lib/src/vmservice.dart +++ b/packages/flutter_tools/lib/src/vmservice.dart @@ -897,25 +897,6 @@ class HeapSpace extends ServiceObject { } } -// A function, field or class along with its source location. -class ProgramElement { - ProgramElement(this.qualifiedName, this.uri, this.line, this.column); - - final String qualifiedName; - final Uri uri; - final int line; - final int column; - - @override - String toString() { - if (line == null) { - return '$qualifiedName ($uri)'; - } else { - return '$qualifiedName ($uri:$line)'; - } - } -} - /// An isolate running inside the VM. Instances of the Isolate class are always /// canonicalized. class Isolate extends ServiceObjectOwner { @@ -1048,58 +1029,6 @@ class Isolate extends ServiceObjectOwner { } } - Future> getObject(Map objectRef) { - return invokeRpcRaw('getObject', - params: {'objectId': objectRef['id']}); - } - - Future _describeElement(Map elementRef) async { - String name = elementRef['name']; - Map owner = elementRef['owner']; - while (owner != null) { - final String ownerType = owner['type']; - if (ownerType == 'Library' || ownerType == '@Library') - break; - final String ownerName = owner['name']; - name = "$ownerName.$name"; - owner = owner['owner']; - } - - final Map fullElement = await getObject(elementRef); - final Map location = fullElement['location']; - final int tokenPos = location['tokenPos']; - final Map script = await getObject(location['script']); - - // The engine's tag handler doesn't seem to create proper URIs. - Uri uri = Uri.parse(script['uri']); - if (uri.scheme == '') - uri = uri.replace(scheme: 'file'); - - // See https://github.com/dart-lang/sdk/blob/master/runtime/vm/service/service.md - for (List lineTuple in script['tokenPosTable']) { - final int line = lineTuple[0]; - for (int i = 1; i < lineTuple.length; i += 2) { - if (lineTuple[i] == tokenPos) { - final int column = lineTuple[i + 1]; - return new ProgramElement(name, uri, line, column); - } - } - } - return new ProgramElement(name, uri, null, null); - } - - // Lists program elements changed in the most recent reload that have not - // since executed. - Future> getUnusedChangesInLastReload() async { - final Map response = - await invokeRpcRaw('_getUnusedChangesInLastReload'); - final List> unusedElements = - >[]; - for (Map element in response['unused']) - unusedElements.add(_describeElement(element)); - return Future.wait(unusedElements); - } - /// Resumes the isolate. Future> resume() { return invokeRpcRaw('resume');