Skip to content

[BUG] Generates non-working code on versions 2.2.3+ #297

@point-source

Description

@point-source

Describe the bug
Starting in 2.2.3, some overrides are failing due to a type mismatch.

To Reproduce
Here is the swagger code: https://github.com/point-source/dart_plaid/blob/main/swagger/plaid_service.swagger
Error:

00:00 +0 -1: loading test/dart_plaid_test.dart [E] Failed to load "test/dart_plaid_test.dart": lib/generated/plaid_service.swagger.dart:11776:43: Error: The return type of the method 'Transaction.transactionType' is 'TransactionTransactionType?', which does not match the return type, 'TransactionBaseTransactionType?', of the overridden method, 'TransactionBase.transactionType'. - 'TransactionTransactionType' is from 'package:dart_plaid/generated/plaid_service.enums.swagger.dart' ('lib/generated/plaid_service.enums.swagger.dart'). - 'TransactionBaseTransactionType' is from 'package:dart_plaid/generated/plaid_service.enums.swagger.dart' ('lib/generated/plaid_service.enums.swagger.dart'). Change to a subtype of 'TransactionBaseTransactionType?'. final enums.TransactionTransactionType? transactionType; ^ lib/generated/plaid_service.swagger.dart:11560:47: Context: This is the overridden method ('transactionType'). final enums.TransactionBaseTransactionType? transactionType; ^ lib/generated/plaid_service.swagger.dart:24208:50: Error: The return type of the method 'AccountIdentity.verificationStatus' is 'AccountIdentityVerificationStatus?', which does not match the return type, 'AccountBaseVerificationStatus?', of the overridden method, 'AccountBase.verificationStatus'. - 'AccountIdentityVerificationStatus' is from 'package:dart_plaid/generated/plaid_service.enums.swagger.dart' ('lib/generated/plaid_service.enums.swagger.dart'). - 'AccountBaseVerificationStatus' is from 'package:dart_plaid/generated/plaid_service.enums.swagger.dart' ('lib/generated/plaid_service.enums.swagger.dart'). Change to a subtype of 'AccountBaseVerificationStatus?'. final enums.AccountIdentityVerificationStatus? verificationStatus; ^ lib/generated/plaid_service.swagger.dart:10958:46: Context: This is the overridden method ('verificationStatus'). final enums.AccountBaseVerificationStatus? verificationStatus; ^ lib/generated/plaid_service.swagger.dart:24330:48: Error: The return type of the method 'AccountAssets.verificationStatus' is 'AccountAssetsVerificationStatus?', which does not match the return type, 'AccountBaseVerificationStatus?', of the overridden method, 'AccountBase.verificationStatus'. - 'AccountAssetsVerificationStatus' is from 'package:dart_plaid/generated/plaid_service.enums.swagger.dart' ('lib/generated/plaid_service.enums.swagger.dart'). - 'AccountBaseVerificationStatus' is from 'package:dart_plaid/generated/plaid_service.enums.swagger.dart' ('lib/generated/plaid_service.enums.swagger.dart'). Change to a subtype of 'AccountBaseVerificationStatus?'. final enums.AccountAssetsVerificationStatus? verificationStatus; ^ lib/generated/plaid_service.swagger.dart:10958:46: Context: This is the overridden method ('verificationStatus'). final enums.AccountBaseVerificationStatus? verificationStatus; ^ lib/generated/plaid_service.swagger.dart:28946:54: Error: The return type of the method 'AssetReportTransaction.transactionType' is 'AssetReportTransactionTransactionType?', which does not match the return type, 'TransactionBaseTransactionType?', of the overridden method, 'TransactionBase.transactionType'. - 'AssetReportTransactionTransactionType' is from 'package:dart_plaid/generated/plaid_service.enums.swagger.dart' ('lib/generated/plaid_service.enums.swagger.dart'). - 'TransactionBaseTransactionType' is from 'package:dart_plaid/generated/plaid_service.enums.swagger.dart' ('lib/generated/plaid_service.enums.swagger.dart'). Change to a subtype of 'TransactionBaseTransactionType?'. final enums.AssetReportTransactionTransactionType? transactionType; ^ lib/generated/plaid_service.swagger.dart:11560:47: Context: This is the overridden method ('transactionType'). final enums.TransactionBaseTransactionType? transactionType; ^ 

Library version used:
2.2.3 up to 2.3.2

Additional context
Feel free to clone this repo, update the swagger library dependency, and regenerate to reproduce.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions