Index: lib/core/errors.dart |
diff --git a/lib/core/errors.dart b/lib/core/errors.dart |
index c9709c9664d8ba3dd5bbb4cad99121e316190290..775924288ee69071c171afb35a9abd1fc3143a47 100644 |
--- a/lib/core/errors.dart |
+++ b/lib/core/errors.dart |
@@ -75,6 +75,7 @@ class NoSuchMethodError implements Error { |
final Object _receiver; |
final String _functionName; |
final List _arguments; |
+ final Map<String,Dynamic> _namedArguments; |
final List _existingArgumentNames; |
/** |
@@ -93,16 +94,31 @@ class NoSuchMethodError implements Error { |
const NoSuchMethodError(Object this._receiver, |
String this._functionName, |
List this._arguments, |
+ Map<String,Dynamic> this._namedArguments, |
[List existingArgumentNames = null]) |
: this._existingArgumentNames = existingArgumentNames; |
String toString() { |
StringBuffer sb = new StringBuffer(); |
- for (int i = 0; i < _arguments.length; i++) { |
- if (i > 0) { |
- sb.add(", "); |
+ int i = 0; |
+ if (_arguments != null) { |
+ for (; i < _arguments.length; i++) { |
+ if (i > 0) { |
+ sb.add(", "); |
+ } |
+ sb.add(safeToString(_arguments[i])); |
} |
- sb.add(safeToString(_arguments[i])); |
+ } |
+ if (_namedArguments != null) { |
+ _namedArguments.forEach((String key, var value) { |
+ if (i > 0) { |
+ sb.add(", "); |
+ } |
+ sb.add(key); |
+ sb.add(": "); |
+ sb.add(safeToString(value)); |
+ i++; |
+ }); |
} |
if (_existingArgumentNames === null) { |
return "NoSuchMethodError : method not found: '$_functionName'\n" |