Index: utils/apidoc/html_diff.dart |
diff --git a/utils/apidoc/html_diff.dart b/utils/apidoc/html_diff.dart |
index 37ac54563d7bd9eba61ec120e1d20070cfc6226b..34912e09154f1721df2a73c96859ff07e2f31b87 100644 |
--- a/utils/apidoc/html_diff.dart |
+++ b/utils/apidoc/html_diff.dart |
@@ -51,6 +51,9 @@ class HtmlDiff { |
final CommentMap comments; |
+ /** If true, then print warning messages. */ |
+ final bool _printWarnings; |
+ |
static Library dom; |
/** |
@@ -65,13 +68,20 @@ class HtmlDiff { |
dom = world.libraries['dart:dom']; |
} |
- HtmlDiff() : |
+ HtmlDiff([bool printWarnings = false]) : |
+ _printWarnings = printWarnings, |
domToHtml = new Map<Member, Set<Member>>(), |
htmlToDom = new Map<Member, Set<Member>>(), |
domTypesToHtml = new Map<Type, Set<Type>>(), |
htmlTypesToDom = new Map<Type, Set<Type>>(), |
comments = new CommentMap(); |
+ void warn(String s) { |
+ if (_printWarnings) { |
+ print('Warning: ' + s); |
+ } |
+ } |
+ |
/** |
* Computes the `dart:dom` to `dart:html` mapping, and places it in |
* [domToHtml], [htmlToDom], [domTypesToHtml], and [htmlTypesToDom]. Before |
@@ -109,7 +119,7 @@ class HtmlDiff { |
var domMembers = htmlToDomMembers(htmlMember, domTypes); |
if (htmlMember == null && !domMembers.isEmpty()) { |
- print('Warning: dart:html member ${htmlMember.declaringType.name}.' + |
+ warn('dart:html member ${htmlMember.declaringType.name}.' + |
'${htmlMember.name} has no corresponding dart:html member.'); |
} |
@@ -132,7 +142,7 @@ class HtmlDiff { |
if (domNames.length == 1 && domNames[0] == 'none') return []; |
return map(domNames, (domName) { |
final domType = dom.types[domName]; |
- if (domType == null) print('Warning: no dart:dom type named $domName'); |
+ if (domType == null) warn('no dart:dom type named $domName'); |
return domType; |
}); |
} |
@@ -156,11 +166,11 @@ class HtmlDiff { |
var nameMembers = _membersFromName(name, domTypes); |
if (nameMembers.isEmpty()) { |
if (name.contains('.')) { |
- print('Warning: no member $name'); |
+ warn('no member $name'); |
} else { |
final options = Strings.join( |
map(domTypes, (t) => "${t.name}.$name"), ' or '); |
- print('Warning: no member $options'); |
+ warn('no member $options'); |
} |
} |
members.addAll(nameMembers); |
@@ -181,7 +191,7 @@ class HtmlDiff { |
Set<Member> _membersFromName(String name, List<Type> defaultTypes) { |
if (!name.contains('.', 0)) { |
if (defaultTypes.isEmpty()) { |
- print('Warning: no default type for ${name}'); |
+ warn('no default type for ${name}'); |
return new Set(); |
} |
final members = new Set<Member>(); |
@@ -193,7 +203,7 @@ class HtmlDiff { |
final splitName = name.split('.'); |
if (splitName.length != 2) { |
- print('Warning: invalid member name ${name}'); |
+ warn('invalid member name ${name}'); |
return new Set(); |
} |