[dart][dart-dio] Enum fixes specific to Dart DIO (#8114)

* [dart-dio] Fix wrong escaped serializer names

* [dart-dio] Prevent enum name collisions in inlined enums

Prefix the private built_value instances with the enum class name. Prevents clashes when multiple inline enums contain the same value - for example `EnumTest`.  No breaking changes here as all the changed fields/references are private and automatically re-generated with built_value.
This commit is contained in:
Peter Leibiger 2020-12-09 14:12:03 +01:00 committed by GitHub
parent 2e70405084
commit 2cdbfd63eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 50 additions and 50 deletions

View File

@ -21,7 +21,7 @@ abstract class {{classname}} implements Built<{{classname}}, {{classname}}Builde
{{classname}}._(); {{classname}}._();
factory {{classname}}([updates({{classname}}Builder b)]) = _${{classname}}; factory {{classname}}([updates({{classname}}Builder b)]) = _${{classname}};
static Serializer<{{classname}}> get serializer => _${{classVarName}}Serializer; static Serializer<{{classname}}> get serializer => _${{#lambda.camelcase}}{{{classname}}}{{/lambda.camelcase}}Serializer;
} }
{{! {{!
Generate an enum for any variables that are declared as inline enums Generate an enum for any variables that are declared as inline enums

View File

@ -9,14 +9,14 @@ class {{classname}} extends EnumClass {
{{#allowableValues}} {{#allowableValues}}
{{#enumVars}} {{#enumVars}}
{{#description}} {{#description}}
/// {{description}} /// {{{description}}}
{{/description}} {{/description}}
@BuiltValueEnumConst({{#isInteger}}wireNumber: {{{value}}}{{/isInteger}}{{^isInteger}}wireName: {{{value}}}{{/isInteger}}) @BuiltValueEnumConst({{#isInteger}}wireNumber: {{{value}}}{{/isInteger}}{{^isInteger}}wireName: {{{value}}}{{/isInteger}})
static const {{classname}} {{name}} = _${{name}}; static const {{classname}} {{name}} = _${{name}};
{{/enumVars}} {{/enumVars}}
{{/allowableValues}} {{/allowableValues}}
static Serializer<{{classname}}> get serializer => _${{classVarName}}Serializer; static Serializer<{{classname}}> get serializer => _${{#lambda.camelcase}}{{{classname}}}{{/lambda.camelcase}}Serializer;
const {{classname}}._(String name): super(name); const {{classname}}._(String name): super(name);

View File

@ -3,17 +3,17 @@ class {{classname}}{{nameInCamelCase}} extends EnumClass {
{{#allowableValues}} {{#allowableValues}}
{{#enumVars}} {{#enumVars}}
{{#description}} {{#description}}
/// {{description}} /// {{{description}}}
{{/description}} {{/description}}
@BuiltValueEnumConst({{#isInteger}}wireNumber: {{{value}}}{{/isInteger}}{{^isInteger}}wireName: {{{value}}}{{/isInteger}}) @BuiltValueEnumConst({{#isInteger}}wireNumber: {{{value}}}{{/isInteger}}{{^isInteger}}wireName: {{{value}}}{{/isInteger}})
static const {{classname}}{{nameInCamelCase}} {{name}} = _${{name}}; static const {{classname}}{{nameInCamelCase}} {{name}} = _${{#lambda.camelcase}}{{classname}}{{nameInCamelCase}}{{/lambda.camelcase}}_{{name}};
{{/enumVars}} {{/enumVars}}
{{/allowableValues}} {{/allowableValues}}
static Serializer<{{classname}}{{nameInCamelCase}}> get serializer => _${{classVarName}}{{nameInCamelCase}}Serializer; static Serializer<{{classname}}{{nameInCamelCase}}> get serializer => _${{#lambda.camelcase}}{{classname}}{{nameInCamelCase}}{{/lambda.camelcase}}Serializer;
const {{classname}}{{nameInCamelCase}}._(String name): super(name); const {{classname}}{{nameInCamelCase}}._(String name): super(name);
static BuiltSet<{{classname}}{{nameInCamelCase}}> get values => _${{classVarName}}{{nameInCamelCase}}Values; static BuiltSet<{{classname}}{{nameInCamelCase}}> get values => _${{#lambda.camelcase}}{{classname}}{{nameInCamelCase}}{{/lambda.camelcase}}Values;
static {{classname}}{{nameInCamelCase}} valueOf(String name) => _${{classVarName}}{{nameInCamelCase}}ValueOf(name); static {{classname}}{{nameInCamelCase}} valueOf(String name) => _${{#lambda.camelcase}}{{classname}}{{nameInCamelCase}}{{/lambda.camelcase}}ValueOf(name);
} }

View File

@ -43,13 +43,13 @@ class OrderStatus extends EnumClass {
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'placed') @BuiltValueEnumConst(wireName: 'placed')
static const OrderStatus placed = _$placed; static const OrderStatus placed = _$orderStatus_placed;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'approved') @BuiltValueEnumConst(wireName: 'approved')
static const OrderStatus approved = _$approved; static const OrderStatus approved = _$orderStatus_approved;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'delivered') @BuiltValueEnumConst(wireName: 'delivered')
static const OrderStatus delivered = _$delivered; static const OrderStatus delivered = _$orderStatus_delivered;
static Serializer<OrderStatus> get serializer => _$orderStatusSerializer; static Serializer<OrderStatus> get serializer => _$orderStatusSerializer;

View File

@ -45,13 +45,13 @@ class PetStatus extends EnumClass {
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'available') @BuiltValueEnumConst(wireName: 'available')
static const PetStatus available = _$available; static const PetStatus available = _$petStatus_available;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'pending') @BuiltValueEnumConst(wireName: 'pending')
static const PetStatus pending = _$pending; static const PetStatus pending = _$petStatus_pending;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'sold') @BuiltValueEnumConst(wireName: 'sold')
static const PetStatus sold = _$sold; static const PetStatus sold = _$petStatus_sold;
static Serializer<PetStatus> get serializer => _$petStatusSerializer; static Serializer<PetStatus> get serializer => _$petStatusSerializer;

View File

@ -43,13 +43,13 @@ class OrderStatus extends EnumClass {
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'placed') @BuiltValueEnumConst(wireName: 'placed')
static const OrderStatus placed = _$placed; static const OrderStatus placed = _$orderStatus_placed;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'approved') @BuiltValueEnumConst(wireName: 'approved')
static const OrderStatus approved = _$approved; static const OrderStatus approved = _$orderStatus_approved;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'delivered') @BuiltValueEnumConst(wireName: 'delivered')
static const OrderStatus delivered = _$delivered; static const OrderStatus delivered = _$orderStatus_delivered;
static Serializer<OrderStatus> get serializer => _$orderStatusSerializer; static Serializer<OrderStatus> get serializer => _$orderStatusSerializer;

View File

@ -45,13 +45,13 @@ class PetStatus extends EnumClass {
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'available') @BuiltValueEnumConst(wireName: 'available')
static const PetStatus available = _$available; static const PetStatus available = _$petStatus_available;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'pending') @BuiltValueEnumConst(wireName: 'pending')
static const PetStatus pending = _$pending; static const PetStatus pending = _$petStatus_pending;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'sold') @BuiltValueEnumConst(wireName: 'sold')
static const PetStatus sold = _$sold; static const PetStatus sold = _$petStatus_sold;
static Serializer<PetStatus> get serializer => _$petStatusSerializer; static Serializer<PetStatus> get serializer => _$petStatusSerializer;

View File

@ -27,9 +27,9 @@ abstract class EnumArrays implements Built<EnumArrays, EnumArraysBuilder> {
class EnumArraysJustSymbol extends EnumClass { class EnumArraysJustSymbol extends EnumClass {
@BuiltValueEnumConst(wireName: '>=') @BuiltValueEnumConst(wireName: '>=')
static const EnumArraysJustSymbol &gt;&#x3D; = _$&gt;&#x3D;; static const EnumArraysJustSymbol &gt;&#x3D; = _$enumArraysJustSymbol_&gt;&#x3D;;
@BuiltValueEnumConst(wireName: '$') @BuiltValueEnumConst(wireName: '$')
static const EnumArraysJustSymbol $ = _$$; static const EnumArraysJustSymbol $ = _$enumArraysJustSymbol_$;
static Serializer<EnumArraysJustSymbol> get serializer => _$enumArraysJustSymbolSerializer; static Serializer<EnumArraysJustSymbol> get serializer => _$enumArraysJustSymbolSerializer;
@ -43,9 +43,9 @@ class EnumArraysJustSymbol extends EnumClass {
class EnumArraysArrayEnum extends EnumClass { class EnumArraysArrayEnum extends EnumClass {
@BuiltValueEnumConst(wireName: 'fish') @BuiltValueEnumConst(wireName: 'fish')
static const EnumArraysArrayEnum fish = _$fish; static const EnumArraysArrayEnum fish = _$enumArraysArrayEnum_fish;
@BuiltValueEnumConst(wireName: 'crab') @BuiltValueEnumConst(wireName: 'crab')
static const EnumArraysArrayEnum crab = _$crab; static const EnumArraysArrayEnum crab = _$enumArraysArrayEnum_crab;
static Serializer<EnumArraysArrayEnum> get serializer => _$enumArraysArrayEnumSerializer; static Serializer<EnumArraysArrayEnum> get serializer => _$enumArraysArrayEnumSerializer;

View File

@ -61,11 +61,11 @@ abstract class EnumTest implements Built<EnumTest, EnumTestBuilder> {
class EnumTestEnumString extends EnumClass { class EnumTestEnumString extends EnumClass {
@BuiltValueEnumConst(wireName: 'UPPER') @BuiltValueEnumConst(wireName: 'UPPER')
static const EnumTestEnumString uPPER = _$uPPER; static const EnumTestEnumString uPPER = _$enumTestEnumString_uPPER;
@BuiltValueEnumConst(wireName: 'lower') @BuiltValueEnumConst(wireName: 'lower')
static const EnumTestEnumString lower = _$lower; static const EnumTestEnumString lower = _$enumTestEnumString_lower;
@BuiltValueEnumConst(wireName: '') @BuiltValueEnumConst(wireName: '')
static const EnumTestEnumString empty = _$empty; static const EnumTestEnumString empty = _$enumTestEnumString_empty;
static Serializer<EnumTestEnumString> get serializer => _$enumTestEnumStringSerializer; static Serializer<EnumTestEnumString> get serializer => _$enumTestEnumStringSerializer;
@ -79,11 +79,11 @@ class EnumTestEnumString extends EnumClass {
class EnumTestEnumStringRequired extends EnumClass { class EnumTestEnumStringRequired extends EnumClass {
@BuiltValueEnumConst(wireName: 'UPPER') @BuiltValueEnumConst(wireName: 'UPPER')
static const EnumTestEnumStringRequired uPPER = _$uPPER; static const EnumTestEnumStringRequired uPPER = _$enumTestEnumStringRequired_uPPER;
@BuiltValueEnumConst(wireName: 'lower') @BuiltValueEnumConst(wireName: 'lower')
static const EnumTestEnumStringRequired lower = _$lower; static const EnumTestEnumStringRequired lower = _$enumTestEnumStringRequired_lower;
@BuiltValueEnumConst(wireName: '') @BuiltValueEnumConst(wireName: '')
static const EnumTestEnumStringRequired empty = _$empty; static const EnumTestEnumStringRequired empty = _$enumTestEnumStringRequired_empty;
static Serializer<EnumTestEnumStringRequired> get serializer => _$enumTestEnumStringRequiredSerializer; static Serializer<EnumTestEnumStringRequired> get serializer => _$enumTestEnumStringRequiredSerializer;
@ -97,9 +97,9 @@ class EnumTestEnumStringRequired extends EnumClass {
class EnumTestEnumInteger extends EnumClass { class EnumTestEnumInteger extends EnumClass {
@BuiltValueEnumConst(wireNumber: 1) @BuiltValueEnumConst(wireNumber: 1)
static const EnumTestEnumInteger number1 = _$number1; static const EnumTestEnumInteger number1 = _$enumTestEnumInteger_number1;
@BuiltValueEnumConst(wireNumber: -1) @BuiltValueEnumConst(wireNumber: -1)
static const EnumTestEnumInteger number1 = _$number1; static const EnumTestEnumInteger number1 = _$enumTestEnumInteger_number1;
static Serializer<EnumTestEnumInteger> get serializer => _$enumTestEnumIntegerSerializer; static Serializer<EnumTestEnumInteger> get serializer => _$enumTestEnumIntegerSerializer;
@ -113,9 +113,9 @@ class EnumTestEnumInteger extends EnumClass {
class EnumTestEnumNumber extends EnumClass { class EnumTestEnumNumber extends EnumClass {
@BuiltValueEnumConst(wireName: '1.1') @BuiltValueEnumConst(wireName: '1.1')
static const EnumTestEnumNumber 11_ = _$11_; static const EnumTestEnumNumber 11_ = _$enumTestEnumNumber_11_;
@BuiltValueEnumConst(wireName: '-1.2') @BuiltValueEnumConst(wireName: '-1.2')
static const EnumTestEnumNumber 12_ = _$12_; static const EnumTestEnumNumber 12_ = _$enumTestEnumNumber_12_;
static Serializer<EnumTestEnumNumber> get serializer => _$enumTestEnumNumberSerializer; static Serializer<EnumTestEnumNumber> get serializer => _$enumTestEnumNumberSerializer;

View File

@ -28,10 +28,10 @@ class InlineObject2EnumFormStringArray extends EnumClass {
/// Form parameter enum test (string array) /// Form parameter enum test (string array)
@BuiltValueEnumConst(wireName: '>') @BuiltValueEnumConst(wireName: '>')
static const InlineObject2EnumFormStringArray &gt; = _$&gt;; static const InlineObject2EnumFormStringArray &gt; = _$inlineObject2EnumFormStringArray_&gt;;
/// Form parameter enum test (string array) /// Form parameter enum test (string array)
@BuiltValueEnumConst(wireName: '$') @BuiltValueEnumConst(wireName: '$')
static const InlineObject2EnumFormStringArray $ = _$$; static const InlineObject2EnumFormStringArray $ = _$inlineObject2EnumFormStringArray_$;
static Serializer<InlineObject2EnumFormStringArray> get serializer => _$inlineObject2EnumFormStringArraySerializer; static Serializer<InlineObject2EnumFormStringArray> get serializer => _$inlineObject2EnumFormStringArraySerializer;
@ -46,13 +46,13 @@ class InlineObject2EnumFormString extends EnumClass {
/// Form parameter enum test (string) /// Form parameter enum test (string)
@BuiltValueEnumConst(wireName: '_abc') @BuiltValueEnumConst(wireName: '_abc')
static const InlineObject2EnumFormString abc = _$abc; static const InlineObject2EnumFormString abc = _$inlineObject2EnumFormString_abc;
/// Form parameter enum test (string) /// Form parameter enum test (string)
@BuiltValueEnumConst(wireName: '-efg') @BuiltValueEnumConst(wireName: '-efg')
static const InlineObject2EnumFormString efg = _$efg; static const InlineObject2EnumFormString efg = _$inlineObject2EnumFormString_efg;
/// Form parameter enum test (string) /// Form parameter enum test (string)
@BuiltValueEnumConst(wireName: '(xyz)') @BuiltValueEnumConst(wireName: '(xyz)')
static const InlineObject2EnumFormString (xyz) = _$(xyz); static const InlineObject2EnumFormString (xyz) = _$inlineObject2EnumFormString_(xyz);
static Serializer<InlineObject2EnumFormString> get serializer => _$inlineObject2EnumFormStringSerializer; static Serializer<InlineObject2EnumFormString> get serializer => _$inlineObject2EnumFormStringSerializer;

View File

@ -34,9 +34,9 @@ abstract class MapTest implements Built<MapTest, MapTestBuilder> {
class MapTestMapOfEnumString extends EnumClass { class MapTestMapOfEnumString extends EnumClass {
@BuiltValueEnumConst(wireName: 'UPPER') @BuiltValueEnumConst(wireName: 'UPPER')
static const MapTestMapOfEnumString uPPER = _$uPPER; static const MapTestMapOfEnumString uPPER = _$mapTestMapOfEnumString_uPPER;
@BuiltValueEnumConst(wireName: 'lower') @BuiltValueEnumConst(wireName: 'lower')
static const MapTestMapOfEnumString lower = _$lower; static const MapTestMapOfEnumString lower = _$mapTestMapOfEnumString_lower;
static Serializer<MapTestMapOfEnumString> get serializer => _$mapTestMapOfEnumStringSerializer; static Serializer<MapTestMapOfEnumString> get serializer => _$mapTestMapOfEnumStringSerializer;

View File

@ -18,6 +18,6 @@ abstract class Model200Response implements Built<Model200Response, Model200Respo
Model200Response._(); Model200Response._();
factory Model200Response([updates(Model200ResponseBuilder b)]) = _$Model200Response; factory Model200Response([updates(Model200ResponseBuilder b)]) = _$Model200Response;
static Serializer<Model200Response> get serializer => _$n200responseSerializer; static Serializer<Model200Response> get serializer => _$model200ResponseSerializer;
} }

View File

@ -13,7 +13,7 @@ class ModelEnumClass extends EnumClass {
@BuiltValueEnumConst(wireName: '(xyz)') @BuiltValueEnumConst(wireName: '(xyz)')
static const ModelEnumClass (xyz) = _$(xyz); static const ModelEnumClass (xyz) = _$(xyz);
static Serializer<ModelEnumClass> get serializer => _$enumClassSerializer; static Serializer<ModelEnumClass> get serializer => _$modelEnumClassSerializer;
const ModelEnumClass._(String name): super(name); const ModelEnumClass._(String name): super(name);

View File

@ -14,6 +14,6 @@ abstract class ModelReturn implements Built<ModelReturn, ModelReturnBuilder> {
ModelReturn._(); ModelReturn._();
factory ModelReturn([updates(ModelReturnBuilder b)]) = _$ModelReturn; factory ModelReturn([updates(ModelReturnBuilder b)]) = _$ModelReturn;
static Serializer<ModelReturn> get serializer => _$return_Serializer; static Serializer<ModelReturn> get serializer => _$modelReturnSerializer;
} }

View File

@ -43,13 +43,13 @@ class OrderStatus extends EnumClass {
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'placed') @BuiltValueEnumConst(wireName: 'placed')
static const OrderStatus placed = _$placed; static const OrderStatus placed = _$orderStatus_placed;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'approved') @BuiltValueEnumConst(wireName: 'approved')
static const OrderStatus approved = _$approved; static const OrderStatus approved = _$orderStatus_approved;
/// Order Status /// Order Status
@BuiltValueEnumConst(wireName: 'delivered') @BuiltValueEnumConst(wireName: 'delivered')
static const OrderStatus delivered = _$delivered; static const OrderStatus delivered = _$orderStatus_delivered;
static Serializer<OrderStatus> get serializer => _$orderStatusSerializer; static Serializer<OrderStatus> get serializer => _$orderStatusSerializer;

View File

@ -45,13 +45,13 @@ class PetStatus extends EnumClass {
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'available') @BuiltValueEnumConst(wireName: 'available')
static const PetStatus available = _$available; static const PetStatus available = _$petStatus_available;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'pending') @BuiltValueEnumConst(wireName: 'pending')
static const PetStatus pending = _$pending; static const PetStatus pending = _$petStatus_pending;
/// pet status in the store /// pet status in the store
@BuiltValueEnumConst(wireName: 'sold') @BuiltValueEnumConst(wireName: 'sold')
static const PetStatus sold = _$sold; static const PetStatus sold = _$petStatus_sold;
static Serializer<PetStatus> get serializer => _$petStatusSerializer; static Serializer<PetStatus> get serializer => _$petStatusSerializer;