From fee5753a04ce66c8c91e183f93ebfcb81cbc282a Mon Sep 17 00:00:00 2001 From: gmpassos Date: Mon, 26 May 2025 01:44:45 -0300 Subject: [PATCH 1/2] v2.5.2-beta1 - analyzer: ^7.4.5 --- CHANGELOG.md | 10 ++++++++ lib/src/reflection_factory_base.dart | 2 +- lib/src/reflection_factory_builder.dart | 31 ++++++++++++++++++++++--- pubspec.yaml | 16 ++++++------- reflection_factory.iml | 3 +-- 5 files changed, 48 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b24e1f0..73dfe54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +## 2.5.2 + +- analyzer: ^7.4.5 +- meta: ^1.17.0 +- mime: '>=1.0.0 <3.0.0' +- pub_semver: ^2.2.0 +- dependency_validator: ^5.0.2 +- test: ^1.26.2 +- coverage: ^1.14.0 + ## 2.5.1 - `Reflection`: diff --git a/lib/src/reflection_factory_base.dart b/lib/src/reflection_factory_base.dart index 35fe8a3..12f6977 100644 --- a/lib/src/reflection_factory_base.dart +++ b/lib/src/reflection_factory_base.dart @@ -20,7 +20,7 @@ import 'reflection_factory_utils.dart'; /// Class with all registered reflections ([ClassReflection]). class ReflectionFactory { // ignore: constant_identifier_names - static const String VERSION = '2.5.1'; + static const String VERSION = '2.5.2'; static final ReflectionFactory _instance = ReflectionFactory._(); diff --git a/lib/src/reflection_factory_builder.dart b/lib/src/reflection_factory_builder.dart index 003b08c..6a611ac 100644 --- a/lib/src/reflection_factory_builder.dart +++ b/lib/src/reflection_factory_builder.dart @@ -3592,7 +3592,26 @@ extension _ConstructorElementExtension on ConstructorElement { } extension _FunctionTypeExtension on FunctionType { + //Iterable get formalParametersNames => _formalParametersNames.toList(); + + Iterable get _formalParametersNames { + final formalParameters = this.formalParameters; + return formalParameters.map((p) => p.name3 ?? '').toList(); + } + + List get normalParameterNames => + _formalParametersNames.take(normalParameterTypes.length).toList(); + + List get optionalParameterNames => _formalParametersNames + .skip(normalParameterTypes.length) + .take(optionalParameterTypes.length) + .toList(); + List<_Parameter> get normalParameters { + final parameters = this.parameters; + final normalParameterNames = this.normalParameterNames; + final normalParameterTypes = this.normalParameterTypes; + return List<_Parameter>.generate(normalParameterNames.length, (i) { var n = normalParameterNames[i]; var t = normalParameterTypes[i]; @@ -3602,19 +3621,25 @@ extension _FunctionTypeExtension on FunctionType { } List<_Parameter> get optionalParameters { + final parameters = this.parameters; + final normalParameterTypesLength = normalParameterTypes.length; + final optionalParameterNames = this.optionalParameterNames; + final optionalParameterTypes = this.optionalParameterTypes; + return List<_Parameter>.generate(optionalParameterNames.length, (i) { var n = optionalParameterNames[i]; var t = optionalParameterTypes[i]; - var idx = normalParameterNames.length + i; + + var idx = normalParameterTypesLength + i; var p = parameters[idx]; return _Parameter(p, idx, t, n, t.isNullable, false); }); } Map get namedParameters { + final normalParametersLength = normalParameterTypes.length; + final namedParametersLength = namedParameterTypes.length; var map = {}; - var normalParametersLength = normalParameterNames.length; - var namedParametersLength = namedParameterTypes.length; for (var i = 0; i < namedParametersLength; ++i) { var idx = normalParametersLength + i; diff --git a/pubspec.yaml b/pubspec.yaml index 555f9e1..542789c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: reflection_factory description: Allows Dart reflection with an easy approach, even for third-party classes, using code generation portable for all Dart platforms. -version: 2.5.1 +version: 2.5.2 homepage: https://github.com/gmpassos/reflection_factory environment: @@ -8,12 +8,12 @@ environment: dependencies: build: ^2.4.2 - analyzer: ^6.11.0 + analyzer: ^7.4.5 dart_style: ^3.0.1 - meta: ^1.16.0 - mime: ^1.0.6 + meta: ^1.17.0 + mime: '>=1.0.0 <3.0.0' base_codecs: ^1.0.1 - pub_semver: ^2.1.5 + pub_semver: ^2.2.0 path: ^1.9.1 collection: ^1.19.0 yaml: ^3.1.3 @@ -25,7 +25,7 @@ dev_dependencies: lints: ^5.1.1 pubspec_parse: ^1.5.0 data_serializer: ^1.2.1 - dependency_validator: ^3.2.3 - test: ^1.25.15 - coverage: ^1.11.1 + dependency_validator: ^5.0.2 + test: ^1.26.2 + coverage: ^1.14.0 benchmark: ^0.3.0 diff --git a/reflection_factory.iml b/reflection_factory.iml index b1d89b9..ae9af97 100644 --- a/reflection_factory.iml +++ b/reflection_factory.iml @@ -1,9 +1,8 @@ - + - From a04d321d4a5bc654db1c35f4624c135405f96b81 Mon Sep 17 00:00:00 2001 From: gmpassos Date: Mon, 26 May 2025 01:48:59 -0300 Subject: [PATCH 2/2] generate reflection --- example/reflection_factory_bridge_example.reflection.g.dart | 4 ++-- example/reflection_factory_example.reflection.g.dart | 4 ++-- test/src/reflection/user_with_reflection.g.dart | 4 ++-- test/src/user_reflection_bridge.reflection.g.dart | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/example/reflection_factory_bridge_example.reflection.g.dart b/example/reflection_factory_bridge_example.reflection.g.dart index 321fe89..5a5b220 100644 --- a/example/reflection_factory_bridge_example.reflection.g.dart +++ b/example/reflection_factory_bridge_example.reflection.g.dart @@ -1,6 +1,6 @@ // // GENERATED CODE - DO NOT MODIFY BY HAND! -// BUILDER: reflection_factory/2.5.1 +// BUILDER: reflection_factory/2.5.2 // BUILD COMMAND: dart run build_runner build // @@ -22,7 +22,7 @@ typedef __TI = TypeInfo; typedef __PR = ParameterReflection; mixin __ReflectionMixin { - static final Version _version = Version.parse('2.5.1'); + static final Version _version = Version.parse('2.5.2'); Version get reflectionFactoryVersion => _version; diff --git a/example/reflection_factory_example.reflection.g.dart b/example/reflection_factory_example.reflection.g.dart index 9b5768e..c187d81 100644 --- a/example/reflection_factory_example.reflection.g.dart +++ b/example/reflection_factory_example.reflection.g.dart @@ -1,6 +1,6 @@ // // GENERATED CODE - DO NOT MODIFY BY HAND! -// BUILDER: reflection_factory/2.5.1 +// BUILDER: reflection_factory/2.5.2 // BUILD COMMAND: dart run build_runner build // @@ -22,7 +22,7 @@ typedef __TI = TypeInfo; typedef __PR = ParameterReflection; mixin __ReflectionMixin { - static final Version _version = Version.parse('2.5.1'); + static final Version _version = Version.parse('2.5.2'); Version get reflectionFactoryVersion => _version; diff --git a/test/src/reflection/user_with_reflection.g.dart b/test/src/reflection/user_with_reflection.g.dart index ee2f5d7..f647d0f 100644 --- a/test/src/reflection/user_with_reflection.g.dart +++ b/test/src/reflection/user_with_reflection.g.dart @@ -1,6 +1,6 @@ // // GENERATED CODE - DO NOT MODIFY BY HAND! -// BUILDER: reflection_factory/2.5.1 +// BUILDER: reflection_factory/2.5.2 // BUILD COMMAND: dart run build_runner build // @@ -22,7 +22,7 @@ typedef __TI = TypeInfo; typedef __PR = ParameterReflection; mixin __ReflectionMixin { - static final Version _version = Version.parse('2.5.1'); + static final Version _version = Version.parse('2.5.2'); Version get reflectionFactoryVersion => _version; diff --git a/test/src/user_reflection_bridge.reflection.g.dart b/test/src/user_reflection_bridge.reflection.g.dart index 236a4f4..a553ee3 100644 --- a/test/src/user_reflection_bridge.reflection.g.dart +++ b/test/src/user_reflection_bridge.reflection.g.dart @@ -1,6 +1,6 @@ // // GENERATED CODE - DO NOT MODIFY BY HAND! -// BUILDER: reflection_factory/2.5.1 +// BUILDER: reflection_factory/2.5.2 // BUILD COMMAND: dart run build_runner build // @@ -22,7 +22,7 @@ typedef __TI = TypeInfo; typedef __PR = ParameterReflection; mixin __ReflectionMixin { - static final Version _version = Version.parse('2.5.1'); + static final Version _version = Version.parse('2.5.2'); Version get reflectionFactoryVersion => _version;