Fix analysis errors
diff --git a/lib/src/collect.dart b/lib/src/collect.dart
index c347556..e531640 100644
--- a/lib/src/collect.dart
+++ b/lib/src/collect.dart
@@ -196,12 +196,10 @@
IsolateRef isolateRef,
Script script,
FuncRef funcRef,
- Map<ScriptRef, Set<int>> libFuncs,
HitMap hits) async {
final func = await service.getObject(isolateRef.id!, funcRef.id!) as Func;
final location = func.location;
if (location != null) {
- final scriptFuncs = libFuncs.putIfAbsent(location.script!, () => <int>{});
final funcName = await _getFuncName(service, isolateRef, func);
final tokenPos = location.tokenPos!;
final line = _getLineFromTokenPos(script, tokenPos);
@@ -210,7 +208,6 @@
print('tokenPos $tokenPos has no line mapping for script ${script.uri!}');
return;
}
- scriptFuncs.add(line);
hits.funcNames[line] = funcName;
}
}
@@ -247,11 +244,9 @@
libraries.add(libRef);
final library =
await service.getObject(isolateRef.id!, libRef.id!) as Library;
- final Map<ScriptRef, Set<int>> libFuncs = {};
if (library.functions != null) {
for (var funcRef in library.functions!) {
- await _processFunction(
- service, isolateRef, script, funcRef, libFuncs, hits);
+ await _processFunction(service, isolateRef, script, funcRef, hits);
}
}
if (library.classes != null) {
@@ -261,7 +256,7 @@
if (clazz.functions != null) {
for (var funcRef in clazz.functions!) {
await _processFunction(
- service, isolateRef, script, funcRef, libFuncs, hits);
+ service, isolateRef, script, funcRef, hits);
}
}
}
@@ -310,12 +305,12 @@
Future<String> _getFuncName(
VmService service, IsolateRef isolateRef, Func func) async {
if (func.name == null) {
- return "${func.type}:${func.location!.tokenPos}";
+ return '${func.type}:${func.location!.tokenPos}';
}
- if (func.owner is ClassRef) {
- final cls =
- await service.getObject(isolateRef.id!, func.owner.id!) as Class;
- if (cls.name != null) return "${cls.name}.${func.name}";
+ final owner = func.owner;
+ if (owner is ClassRef) {
+ final cls = await service.getObject(isolateRef.id!, owner.id!) as Class;
+ if (cls.name != null) return '${cls.name}.${func.name}';
}
return func.name!;
}
diff --git a/lib/src/hitmap.dart b/lib/src/hitmap.dart
index 58e4e72..f2162c1 100644
--- a/lib/src/hitmap.dart
+++ b/lib/src/hitmap.dart
@@ -8,7 +8,6 @@
import 'package:coverage/src/resolver.dart';
import 'package:coverage/src/util.dart';
-
/// Contains line and function hit information for a single script.
class HitMap {
/// Map from line to hit count for that line.
@@ -142,7 +141,7 @@
fillHitMap(e['funcHits'] as List, sourceHitMap.funcHits);
final funcNames = e['funcNames'] as List;
for (var i = 0; i < funcNames.length; i += 2) {
- sourceHitMap.funcNames[funcNames[i]] = funcNames[i + 1];
+ sourceHitMap.funcNames[funcNames[i] as int] = funcNames[i + 1] as String;
}
}
return globalHitMap;
@@ -212,13 +211,12 @@
List<T> flattenMap<T>(Map map) {
final kvs = <T>[];
map.forEach((k, v) {
- kvs.add(k);
- kvs.add(v);
+ kvs.add(k as T);
+ kvs.add(v as T);
});
return kvs;
}
- ;
json['source'] = '$scriptUri';
json['script'] = {
'type': '@Script',
diff --git a/test/collect_coverage_test.dart b/test/collect_coverage_test.dart
index a27ee40..87e25e0 100644
--- a/test/collect_coverage_test.dart
+++ b/test/collect_coverage_test.dart
@@ -97,7 +97,7 @@
12: 1,
13: 1,
15: 0,
- 21: 1,
+ 19: 1,
23: 1,
24: 2,
28: 1,
@@ -140,11 +140,11 @@
expectedHits[42] = 3;
}
expect(isolateFile?.lineHits, expectedHits);
- expect(isolateFile?.funcHits, {11: 1, 19: 0, 21: 1, 23: 1, 28: 1, 38: 1});
+ expect(isolateFile?.funcHits, {11: 1, 19: 1, 21: 0, 23: 1, 28: 1, 38: 1});
expect(isolateFile?.funcNames, {
11: 'fooSync',
- 19: 'BarClass.x=',
- 21: 'BarClass.BarClass',
+ 19: 'BarClass.BarClass',
+ 21: 'BarClass.x=',
23: 'BarClass.baz',
28: 'fooAsync',
38: 'isolateTask'
diff --git a/test/run_and_collect_test.dart b/test/run_and_collect_test.dart
index b18ccf0..e287782 100644
--- a/test/run_and_collect_test.dart
+++ b/test/run_and_collect_test.dart
@@ -50,7 +50,7 @@
12: 1,
13: 1,
15: 0,
- 21: 1,
+ 19: 1,
23: 1,
24: 2,
28: 1,
@@ -71,11 +71,11 @@
};
expect(actualLineHits, expectedLineHits);
- expect(actualFuncHits, {11: 1, 19: 0, 21: 1, 23: 1, 28: 1, 38: 1});
+ expect(actualFuncHits, {11: 1, 19: 1, 21: 0, 23: 1, 28: 1, 38: 1});
expect(actualFuncNames, {
11: 'fooSync',
- 19: 'BarClass.x=',
- 21: 'BarClass.BarClass',
+ 19: 'BarClass.BarClass',
+ 21: 'BarClass.x=',
23: 'BarClass.baz',
28: 'fooAsync',
38: 'isolateTask'
diff --git a/test/test_files/test_app_isolate.dart b/test/test_files/test_app_isolate.dart
index 19bef2b..fc8d723 100644
--- a/test/test_files/test_app_isolate.dart
+++ b/test/test_files/test_app_isolate.dart
@@ -16,10 +16,10 @@
}
class BarClass {
- int x;
-
BarClass(this.x);
+ int x;
+
void baz() {
print(x);
}