Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(717)

Unified Diff: packages/code_transformers/lib/messages/messages.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: packages/code_transformers/lib/messages/messages.dart
diff --git a/packages/code_transformers/lib/messages/messages.dart b/packages/code_transformers/lib/messages/messages.dart
index 56f3c0e22315734071b69be714372996eb99e272..77ea05f4239e6f137aaa7168ef378622173d3056 100644
--- a/packages/code_transformers/lib/messages/messages.dart
+++ b/packages/code_transformers/lib/messages/messages.dart
@@ -11,13 +11,14 @@ library code_transformers.messages;
// so it can easily be used both in the transformers and in client-side apps
// (for example in the log_injector).
import 'dart:collection' show LinkedHashMap;
+
import 'package:source_span/source_span.dart';
/// A globally unique identifier for an error message. This identifier should be
/// stable, that is, it should never change after it is asigned to a particular
/// message. That allows us to document our error messages and make them
/// searchable for prosperity.
-class MessageId implements Comparable {
+class MessageId implements Comparable<MessageId> {
/// Name of the package that declares this message.
final String package;
@@ -48,7 +49,9 @@ class MessageId implements Comparable {
data.substring(0, index), int.parse(data.substring(index + 1)));
}
- operator ==(MessageId other) => package == other.package && id == other.id;
+ operator ==(Object other) =>
+ other is MessageId && package == other.package && id == other.id;
+
int get hashCode => 31 * package.hashCode + id;
}
@@ -164,7 +167,10 @@ class BuildLogEntry {
/// Serializes this log entry to JSON.
Map toJson() {
- var data = {'level': level, 'message': message.toJson(),};
+ var data = {
+ 'level': level,
+ 'message': message.toJson(),
+ };
if (span != null) {
data['span'] = {
'start': {
@@ -184,6 +190,7 @@ class BuildLogEntry {
}
return data;
}
+
String toString() => '${toJson()}';
}
@@ -194,7 +201,7 @@ class LogEntryTable {
LogEntryTable() : entries = new LinkedHashMap();
/// Creates a new [LogEntryTable] from an encoded value produced via [toJson].
- factory LogEntryTable.fromJson(Map json) {
+ factory LogEntryTable.fromJson(Map<String, Iterable> json) {
var res = new LogEntryTable();
for (String key in json.keys) {
var id = new MessageId.fromJson(key);
@@ -212,11 +219,13 @@ class LogEntryTable {
});
return res;
}
+
String toString() => '${toJson()}';
void add(BuildLogEntry entry) {
entries.putIfAbsent(entry.message.id, () => []).add(entry);
}
+
void addAll(LogEntryTable other) {
for (var key in other.entries.keys) {
var values = entries.putIfAbsent(key, () => []);

Powered by Google App Engine
This is Rietveld 408576698