Chromium Code Reviews| Index: lib/src/protobuf/field_info.dart |
| diff --git a/lib/src/protobuf/field_info.dart b/lib/src/protobuf/field_info.dart |
| index d46f1a48a1cd9453debac8a3d8c84b1491ee7188..4fb65ed9e3a65a344a18bb51d9df441170bcaa34 100644 |
| --- a/lib/src/protobuf/field_info.dart |
| +++ b/lib/src/protobuf/field_info.dart |
| @@ -16,12 +16,17 @@ class FieldInfo { |
| final ValueOfFunc valueOf; |
| FieldInfo(this.name, this.tagNumber, int type, |
| - [MakeDefaultFunc makeDefault, |
| + [dynamic defaultOrMaker, |
| this.subBuilder, |
| this.valueOf]) |
| : this.type = type, |
| - this.makeDefault = makeDefault == null ? |
| - GeneratedMessage._defaultForType(type) : makeDefault; |
| + this.makeDefault = findMakeDefault(type, defaultOrMaker); |
| + |
| + static MakeDefaultFunc findMakeDefault(int type, dynamic defaultOrMaker) { |
| + if (defaultOrMaker == null) return GeneratedMessage._defaultForType(type); |
| + if (defaultOrMaker is Function) return defaultOrMaker; |
|
Siggi Cherem (dart-lang)
2014/12/19 21:53:38
is Function => is MakeDefaultFunc ?
|
| + return () => defaultOrMaker; |
| + } |
| String toString() => name; |
| } |