Skip to content

Commit e9c1db1

Browse files
committed
Migrate remaining APIs
1 parent c8287f9 commit e9c1db1

File tree

6 files changed

+36
-33
lines changed

6 files changed

+36
-33
lines changed

drift_dev/lib/src/analysis/driver/error.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class DriftAnalysisError {
1313
factory DriftAnalysisError.forDartElement(
1414
dart.Element2 element, String message) {
1515
return DriftAnalysisError(
16-
spanForElement(element),
16+
spanForElement2(element),
1717
message,
1818
);
1919
}
@@ -52,7 +52,7 @@ class DriftAnalysisError {
5252

5353
static FileSpan dartAstSpan(
5454
dart.Element2 element, dart.SyntacticEntity entity) {
55-
final span = spanForElement(element) as FileSpan;
55+
final span = spanForElement2(element) as FileSpan;
5656
return span.file.span(entity.offset, entity.end);
5757
}
5858
}

drift_dev/lib/src/analysis/resolver/discover.dart

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import 'package:analyzer/dart/ast/ast.dart' as dart;
22
import 'package:analyzer/dart/constant/value.dart';
33
import 'package:analyzer/dart/element/element2.dart';
44
import 'package:analyzer/dart/element/type.dart';
5-
import 'package:analyzer/dart/element/visitor.dart';
65
import 'package:analyzer/dart/element/visitor2.dart';
76
import 'package:drift/drift.dart' show TableIndex;
87
import 'package:source_gen/source_gen.dart';
@@ -186,9 +185,8 @@ class _FindDartElements extends RecursiveElementVisitor2<void> {
186185
static TypeChecker _checker(InterfaceType type) {
187186
// Workaround for https://github.com/dart-lang/build/issues/3796, the
188187
// analysis sessions for _knownTypes and this type might be different.
189-
final definition = type.element.librarySource;
190-
return TypeChecker.fromUrl(
191-
definition.uri.replace(fragment: type.element.name));
188+
final uri = type.element3.library2.uri;
189+
return TypeChecker.fromUrl(uri.replace(fragment: type.element3.name3));
192190
}
193191

194192
Future<void> find() async {
@@ -202,16 +200,16 @@ class _FindDartElements extends RecursiveElementVisitor2<void> {
202200
// weird errors for the Table class itself. In weird cases where we iterate
203201
// over generated code (standalone tool), don't report existing
204202
// implementations as tables.
205-
return _isTable.isAssignableFrom(element) &&
206-
!_isTable.isExactly(element) &&
207-
!_isTableInfo.isAssignableFrom(element) &&
203+
return _isTable.isAssignableFrom2(element) &&
204+
!_isTable.isExactly2(element) &&
205+
!_isTableInfo.isAssignableFrom2(element) &&
208206
// Temporary workaround until https://github.com/dart-lang/source_gen/pull/628
209207
// gets merged.
210208
!element.mixins.any((e) => e.nameIfInterfaceType == 'TableInfo');
211209
}
212210

213211
bool _isDslView(ClassElement2 element) {
214-
return _isView.isAssignableFrom(element) && !_isView.isExactly(element);
212+
return _isView.isAssignableFrom2(element) && !_isView.isExactly2(element);
215213
}
216214

217215
@override
@@ -247,8 +245,8 @@ class _FindDartElements extends RecursiveElementVisitor2<void> {
247245
} else {
248246
// Check if this class declares a database or a database accessor.
249247

250-
final firstDb = _isDatabase.firstAnnotationOf(element);
251-
final firstDao = _isDao.firstAnnotationOf(element);
248+
final firstDb = _isDatabase.firstAnnotationOf2(element);
249+
final firstDao = _isDao.firstAnnotationOf2(element);
252250
final id = _discoverStep._id(element.name3!);
253251

254252
if (firstDb != null) {

drift_dev/lib/src/analysis/resolver/drift/element_resolver.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ abstract class DriftElementResolver<T extends DiscoveredElement>
112112
return null;
113113
} else if (element is InterfaceElement2) {
114114
final library = element.library2;
115-
return library.typeSystem.instantiateInterfaceToBounds(
115+
return library.typeSystem.instantiateInterfaceToBounds2(
116116
element: element, nullabilitySuffix: NullabilitySuffix.none);
117117
} else if (element is TypeAliasElement2) {
118118
final library = element.library2;
119-
return library.typeSystem.instantiateTypeAliasToBounds(
119+
return library.typeSystem.instantiateTypeAliasToBounds2(
120120
element: element, nullabilitySuffix: NullabilitySuffix.none);
121121
} else {
122122
reportError(DriftAnalysisError.inDriftFile(

drift_dev/lib/src/analysis/resolver/shared/dart_types.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ ExistingRowClass? validateExistingClass(
5959
ctor = instantiation.lookUpConstructor2(constructor, desiredClass.library2);
6060
} else {
6161
ctor = desiredClass.getNamedConstructor2(constructor);
62-
instantiation = library.typeSystem.instantiateInterfaceToBounds(
62+
instantiation = library.typeSystem.instantiateInterfaceToBounds2(
6363
element: desiredClass, nullabilitySuffix: NullabilitySuffix.none);
6464
}
6565

drift_dev/lib/src/backends/build/backend.dart

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import 'dart:convert';
22

33
import 'package:analyzer/dart/ast/ast.dart';
4-
import 'package:analyzer/dart/element/element.dart';
54
import 'package:analyzer/dart/element/element2.dart';
65
import 'package:build/build.dart' as build;
76
import 'package:build/build.dart';
@@ -35,7 +34,7 @@ class DriftBuildBackend extends DriftBackend {
3534

3635
@override
3736
Future<Uri> uriOfDart(Element2 element) async {
38-
final id = await _buildStep.resolver.assetIdForElement(element);
37+
final id = await _buildStep.resolver.assetIdForElement2(element);
3938
return id.uri;
4039
}
4140

@@ -46,7 +45,7 @@ class DriftBuildBackend extends DriftBackend {
4645
Future<LibraryElement2> readDart(Uri uri) async {
4746
if (uri.scheme == 'dart') {
4847
final name = 'dart.${uri.path}';
49-
final library = await _buildStep.resolver.findLibraryByName(name);
48+
final library = await _buildStep.resolver.findLibraryByName2(name);
5049

5150
if (library == null) {
5251
throw NotALibraryException(uri);
@@ -56,15 +55,18 @@ class DriftBuildBackend extends DriftBackend {
5655
}
5756

5857
try {
59-
return await _buildStep.resolver.libraryFor(AssetId.resolve(uri));
58+
return await _buildStep.resolver.libraryFor2(AssetId.resolve(uri));
6059
} on NonLibraryAssetException {
6160
throw NotALibraryException(uri);
6261
}
6362
}
6463

6564
@override
6665
Future<AstNode?> loadElementDeclaration(Element2 element) {
67-
return _buildStep.resolver.astNodeFor(element, resolve: true);
66+
return _buildStep.resolver.astNodeFor2(
67+
element.firstFragment,
68+
resolve: true,
69+
);
6870
}
6971

7072
@override
@@ -93,10 +95,13 @@ class DriftBuildBackend extends DriftBackend {
9395
throw CannotReadExpressionException('No field for $dartExpression');
9496
}
9597

96-
final library = await _buildStep.resolver.libraryFor(tempDart);
97-
final field = library.units.first.topLevelVariables
98-
.firstWhere((element) => element.name == getter);
99-
final fieldAst = await _buildStep.resolver.astNodeFor(field, resolve: true);
98+
final library = await _buildStep.resolver.libraryFor2(tempDart);
99+
final field = library.firstFragment.topLevelVariables2
100+
.firstWhere((element) => element.name2 == getter);
101+
final fieldAst = await _buildStep.resolver.astNodeFor2(
102+
field,
103+
resolve: true,
104+
);
100105

101106
final initializer = (fieldAst as VariableDeclaration).initializer;
102107
if (initializer == null) {
@@ -107,25 +112,25 @@ class DriftBuildBackend extends DriftBackend {
107112
}
108113

109114
@override
110-
Future<Element?> resolveTopLevelElement(
115+
Future<Element2?> resolveTopLevelElement(
111116
Uri context, String reference, Iterable<Uri> imports) async {
112117
final original = AssetId.resolve(context);
113118
final tempDart = original.changeExtension('.expr.temp.dart');
114119

115120
if (await _buildStep.canRead(tempDart)) {
116-
final library = await _buildStep.resolver.libraryFor(tempDart);
117-
return library.definingCompilationUnit.scope.lookup(reference).getter;
121+
final library = await _buildStep.resolver.libraryFor2(tempDart);
122+
return library.firstFragment.scope.lookup(reference).getter2;
118123
} else {
119124
// If there's no temporary file whose imports we can use, then that means
120125
// that there aren't any Dart imports in [context] at all. So we just need
121126
// to look it up in `dart:core`.
122127
// For that, resolve a library we know exists and likely has been resolved
123128
// already.
124129
final libraryWeKnowExists = await _buildStep.resolver
125-
.libraryFor(AssetId.resolve(KnownDriftTypes.uri));
126-
final dartCore = libraryWeKnowExists.typeProvider.objectElement.library;
130+
.libraryFor2(AssetId.resolve(KnownDriftTypes.uri));
131+
final dartCore = libraryWeKnowExists.typeProvider.objectElement2.library2;
127132

128-
return dartCore.exportNamespace.get(reference);
133+
return dartCore.exportNamespace.get2(reference);
129134
}
130135
}
131136
}
@@ -192,7 +197,7 @@ class BuildCacheReader implements AnalysisResultCacheReader {
192197
Future<LibraryElement2?> readTypeHelperFor(Uri uri) async {
193198
final assetId = AssetId.resolve(uri).addExtension('.types.temp.dart');
194199
if (await _buildStep.canRead(assetId)) {
195-
return _buildStep.resolver.libraryFor(assetId, allowSyntaxErrors: true);
200+
return _buildStep.resolver.libraryFor2(assetId, allowSyntaxErrors: true);
196201
}
197202

198203
return null;

drift_dev/lib/src/backends/build/drift_builder.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ class _DriftBuildRun {
278278
/// minimal version constraints.
279279
Future<void> _checkForLanguageVersions() async {
280280
if (mode.isPartFile) {
281-
final library = await buildStep.inputLibrary;
281+
final library = await buildStep.inputLibrary2;
282282
overriddenLanguageVersion = library.languageVersion.override;
283283

284284
final effectiveVersion =
@@ -467,7 +467,7 @@ class _DriftBuildRun {
467467
Future<void> _createWriter() async {
468468
if (mode.isMonolithic) {
469469
final generationOptions = GenerationOptions(
470-
imports: ImportManagerForPartFiles(await buildStep.inputLibrary),
470+
imports: ImportManagerForPartFiles(await buildStep.inputLibrary2),
471471
);
472472
writer = Writer(options, generationOptions: generationOptions);
473473
} else {

0 commit comments

Comments
 (0)