Index: lib/protobuf_field.dart |
diff --git a/lib/protobuf_field.dart b/lib/protobuf_field.dart |
index ca6d4d24fb777f0711ea28f2be6d3ee7dad30725..dfe5ec8ad725c106669ce59c1d530e54eaccd959 100644 |
--- a/lib/protobuf_field.dart |
+++ b/lib/protobuf_field.dart |
@@ -139,7 +139,7 @@ class ProtobufField { |
codedStreamType = 'Bool'; |
if (!repeats) { |
if (field.hasDefaultValue() && 'false' != field.defaultValue) { |
- initialization = '()${SP}=>${SP}${field.defaultValue}'; |
+ initialization = '${field.defaultValue}'; |
} |
} |
break; |
@@ -155,19 +155,18 @@ class ProtobufField { |
if (field.hasDefaultValue() && |
('0.0' != field.defaultValue || '0' != field.defaultValue)) { |
if (field.defaultValue == 'inf') { |
- initialization = '()${SP}=>${SP}double.INFINITY'; |
+ initialization = 'double.INFINITY'; |
} else if (field.defaultValue == '-inf') { |
- initialization = '()${SP}=>${SP}double.NEGATIVE_INFINITY'; |
+ initialization = 'double.NEGATIVE_INFINITY'; |
} else if (field.defaultValue == 'nan') { |
- initialization = '()${SP}=>${SP}double.NAN'; |
+ initialization = 'double.NAN'; |
} else if (HEX_LITERAL_REGEX.hasMatch(field.defaultValue)) { |
- initialization = '()${SP}=>${SP}(${field.defaultValue})' |
- '.toDouble()'; |
+ initialization = '(${field.defaultValue}).toDouble()'; |
} else if (INTEGER_LITERAL_REGEX.hasMatch(field.defaultValue)) { |
- initialization = '()${SP}=>${SP}${field.defaultValue}.0'; |
+ initialization = '${field.defaultValue}.0'; |
} else if (DECIMAL_LITERAL_REGEX_A.hasMatch(field.defaultValue) |
|| DECIMAL_LITERAL_REGEX_B.hasMatch(field.defaultValue)) { |
- initialization = '()${SP}=>${SP}${field.defaultValue}'; |
+ initialization = '${field.defaultValue}'; |
} else { |
throw new InvalidDefaultValue.double( |
field.name, field.defaultValue); |
@@ -202,7 +201,7 @@ class ProtobufField { |
} |
if (!repeats) { |
if (field.hasDefaultValue() && '0' != field.defaultValue) { |
- initialization = '()${SP}=>${SP}${field.defaultValue}'; |
+ initialization = '${field.defaultValue}'; |
} |
} |
break; |
@@ -234,7 +233,11 @@ class ProtobufField { |
if (!repeats) { |
final defaultValue = field.hasDefaultValue() ? |
field.defaultValue : '0'; |
- initialization = '()${SP}=>${SP}makeLongInt($defaultValue)'; |
+ if (defaultValue == '0') { |
+ initialization = 'Int64.ZERO'; |
+ } else { |
+ initialization = "parseLongInt('$defaultValue')"; |
+ } |
} |
break; |
case FieldDescriptorProto_Type.TYPE_STRING: |
@@ -244,7 +247,7 @@ class ProtobufField { |
if (!repeats) { |
if (field.hasDefaultValue() && !field.defaultValue.isEmpty) { |
String defaultValue = field.defaultValue.replaceAll(r'$', r'\$'); |
- initialization = '()${SP}=>${SP}\'$defaultValue\''; |
+ initialization = '\'$defaultValue\''; |
} |
} |
break; |
@@ -277,8 +280,8 @@ class ProtobufField { |
} else { |
throw 'FAILURE: Unknown group type reference ${field.typeName}'; |
} |
- initialization = '()${SP}=>${SP}new ${baseType}()'; |
- prefixedInitialization = '()${SP}=>${SP}new ${prefixedBaseType}()'; |
+ initialization = '${baseType}.create'; |
+ prefixedInitialization = '${prefixedBaseType}.create'; |
break; |
case FieldDescriptorProto_Type.TYPE_MESSAGE: |
ProtobufContainer messageType = context[field.typeName]; |
@@ -296,8 +299,8 @@ class ProtobufField { |
} else { |
throw 'FAILURE: Unknown message type reference ${field.typeName}'; |
} |
- initialization = '()${SP}=>${SP}new ${baseType}()'; |
- prefixedInitialization = '()${SP}=>${SP}new ${prefixedBaseType}()'; |
+ initialization = '${baseType}.create'; |
+ prefixedInitialization = '${prefixedBaseType}.create'; |
break; |
case FieldDescriptorProto_Type.TYPE_ENUM: |
EnumGenerator enumType = context[field.typeName]; |
@@ -316,16 +319,14 @@ class ProtobufField { |
if (!repeats) { |
if (field.hasDefaultValue() && !field.defaultValue.isEmpty) { |
initialization = |
- '()${SP}=>${SP}${baseType}.${field.defaultValue}'; |
+ '${baseType}.${field.defaultValue}'; |
prefixedInitialization = |
- '()${SP}=>${SP}${prefixedBaseType}.${field.defaultValue}'; |
+ '${prefixedBaseType}.${field.defaultValue}'; |
} else if (!enumType._canonicalValues.isEmpty) { |
initialization = |
- '()${SP}=>${SP}${baseType}.' |
- '${enumType._canonicalValues[0].name}'; |
+ '${baseType}.${enumType._canonicalValues[0].name}'; |
prefixedInitialization = |
- '()${SP}=>${SP}${prefixedBaseType}.' |
- '${enumType._canonicalValues[0].name}'; |
+ '${prefixedBaseType}.${enumType._canonicalValues[0].name}'; |
} |
} |
} else { |