Skip to content

Commit b34ebe3

Browse files
jlandonamondnet
andauthored
feat: add support for analyzer 9.0.0 (#1065)
* add support for analyzer 9.0.0 # Conflicts: # mobx_codegen/CHANGELOG.md * fix: use explicit type filtering in LibraryScopedNameFinder * chore: require analyzer ^9.0.0 Drop support for analyzer versions prior to 9.0.0. Range-based constraints no longer viable due to breaking API changes between major versions. * docs: update changelog for analyzer ^9.0.0 requirement --------- Co-authored-by: Minsu Lee <amond@amond.net>
1 parent d677b8d commit b34ebe3

File tree

11 files changed

+140
-124
lines changed

11 files changed

+140
-124
lines changed

mobx_codegen/CHANGELOG.md

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,61 @@
1+
## 2.7.6
2+
3+
- Add support for analyzer 9.0.0 by migrating to the Element API (from deprecated Element2 API)
4+
- Require `analyzer: ^9.0.0` (drop support for analyzer <9.0.0)
5+
16
## 2.7.5
27

3-
- Upgrading sdk and Analyzer fixes
4-
5-
- **FIX**: fixing lints in tests.
6-
- **FIX**: package upgrades, analysis issue fixes.
7-
- **FIX**: error with code generation when file has unnamed extension (#1020).
8-
- **FIX**: make readonly work with computed (#710).
9-
- **FIX**: ObservableStream.listen() should also keep observable values updated (#708).
10-
- **FEAT**: add keepAlive to Computed (#976).
11-
- **FEAT**: support late observables (#973).
12-
- **FEAT**: Adds `useEquatable` for creating observables (#971).
13-
- **FEAT**: require `analyzer: ^5.12.0` (#934).
14-
- **FEAT**: Adds custom `equals` for creating observables. (#907).
15-
- **FEAT**: Adds support for annotations (#904).
16-
- **FEAT**: Allow use custom context (#770).
8+
- Upgrading sdk and Analyzer fixes
9+
10+
- **FIX**: fixing lints in tests.
11+
- **FIX**: package upgrades, analysis issue fixes.
12+
- **FIX**: error with code generation when file has unnamed extension (#1020).
13+
- **FIX**: make readonly work with computed (#710).
14+
- **FIX**: ObservableStream.listen() should also keep observable values updated (#708).
15+
- **FEAT**: add keepAlive to Computed (#976).
16+
- **FEAT**: support late observables (#973).
17+
- **FEAT**: Adds `useEquatable` for creating observables (#971).
18+
- **FEAT**: require `analyzer: ^5.12.0` (#934).
19+
- **FEAT**: Adds custom `equals` for creating observables. (#907).
20+
- **FEAT**: Adds support for annotations (#904).
21+
- **FEAT**: Allow use custom context (#770).
1722

1823
## 2.7.4
24+
1925
- Drop build_resolvers as a dependency, which enables support for build_runner 2.8.0
2026

2127
## 2.7.3
28+
2229
- Update analyzer version to `>=7.4.0 < 9.0.0`
2330
- Update source_gen version to `>=3.0.0 < 5.0.0`
2431
- Update build version to `>=3.0.0 < 5.0.0`
2532
- Update build_resolvers version to `>=3.0.0 < 5.0.0`
2633

2734
## 2.7.2
35+
2836
- Update analyzer version to `>=7.4.0 < 8.0.0`
2937
- Update source_gen version to 3.0.0
3038
- Update build version to 3.0.0
3139
- Update build_resolvers version to 3.0.0
3240

3341
## 2.7.1
42+
3443
- Update source_gen package to 2.0.0
3544
- Update analyzer version to `>=6.9.0 < 8.0.0`
3645

3746
## 2.7.0
3847

39-
- **FIX**: package upgrades, analysis issue fixes.
40-
- **FIX**: error with code generation when file has unnamed extension (#1020).
41-
- **FIX**: make readonly work with computed (#710).
42-
- **FIX**: ObservableStream.listen() should also keep observable values updated (#708).
43-
- **FEAT**: add keepAlive to Computed (#976).
44-
- **FEAT**: support late observables (#973).
45-
- **FEAT**: Adds `useEquatable` for creating observables (#971).
46-
- **FEAT**: require `analyzer: ^5.12.0` (#934).
47-
- **FEAT**: Adds custom `equals` for creating observables. (#907).
48-
- **FEAT**: Adds support for annotations (#904).
49-
- **FEAT**: Allow use custom context (#770).
48+
- **FIX**: package upgrades, analysis issue fixes.
49+
- **FIX**: error with code generation when file has unnamed extension (#1020).
50+
- **FIX**: make readonly work with computed (#710).
51+
- **FIX**: ObservableStream.listen() should also keep observable values updated (#708).
52+
- **FEAT**: add keepAlive to Computed (#976).
53+
- **FEAT**: support late observables (#973).
54+
- **FEAT**: Adds `useEquatable` for creating observables (#971).
55+
- **FEAT**: require `analyzer: ^5.12.0` (#934).
56+
- **FEAT**: Adds custom `equals` for creating observables. (#907).
57+
- **FEAT**: Adds support for annotations (#904).
58+
- **FEAT**: Allow use custom context (#770).
5059

5160
## 2.6.2
5261

mobx_codegen/lib/src/mobx_codegen_base.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import 'dart:async';
66

7-
import 'package:analyzer/dart/element/element2.dart';
7+
import 'package:analyzer/dart/element/element.dart';
88
import 'package:analyzer/dart/element/nullability_suffix.dart';
99
import 'package:analyzer/dart/element/type_system.dart';
1010
import 'package:build/build.dart';
@@ -44,7 +44,7 @@ class StoreGenerator extends Generator {
4444

4545
Iterable<String> _generateCodeForMixinStore(
4646
LibraryReader library,
47-
ClassElement2 baseClass,
47+
ClassElement baseClass,
4848
TypeSystem typeSystem,
4949
) sync* {
5050
final typeNameFinder = LibraryScopedNameFinder(library.element);
@@ -53,7 +53,7 @@ class StoreGenerator extends Generator {
5353
final mixedClass = otherClasses.firstWhere((c) {
5454
// If our base class has different type parameterization requirements than
5555
// the class we're evaluating provides, we know it's not a subclass.
56-
if (baseClass.typeParameters2.length !=
56+
if (baseClass.typeParameters.length !=
5757
c.supertype!.typeArguments.length) {
5858
return false;
5959
}
@@ -69,7 +69,7 @@ class StoreGenerator extends Generator {
6969
});
7070

7171
yield _generateCodeFromTemplate(
72-
mixedClass.name3!, baseClass, MixinStoreTemplate(), typeNameFinder);
72+
mixedClass.name!, baseClass, MixinStoreTemplate(), typeNameFinder);
7373
// ignore: avoid_catching_errors
7474
} on StateError {
7575
// ignore the case when no element is found
@@ -78,15 +78,15 @@ class StoreGenerator extends Generator {
7878

7979
String _generateCodeFromTemplate(
8080
String publicTypeName,
81-
ClassElement2 userStoreClass,
81+
ClassElement userStoreClass,
8282
StoreTemplate template,
8383
LibraryScopedNameFinder typeNameFinder,
8484
) {
8585
final visitor = StoreClassVisitor(
8686
publicTypeName, userStoreClass, template, typeNameFinder, options);
8787
userStoreClass
88-
..accept2(visitor)
89-
..visitChildren2(visitor);
88+
..accept(visitor)
89+
..visitChildren(visitor);
9090
return visitor.source;
9191
}
9292
}

0 commit comments

Comments
 (0)