From e1ec5faa93e508780bce9e309bcc63f6a72c6234 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Fri, 18 Nov 2022 12:19:03 +0100 Subject: [PATCH] Fix analysis warnings in new analyzer --- drift_dev/lib/src/analysis/resolver/dart/column.dart | 4 ++-- drift_dev/lib/src/analysis/resolver/dart/helper.dart | 6 +++--- drift_dev/lib/src/analysis/resolver/dart/table.dart | 4 ++-- drift_dev/lib/src/analysis/resolver/dart/view.dart | 4 ++-- drift_dev/lib/src/analysis/resolver/discover.dart | 2 ++ drift_dev/lib/src/analysis/resolver/shared/dart_types.dart | 4 ++-- drift_dev/lib/src/analysis/resolver/shared/data_class.dart | 4 ++-- drift_dev/lib/src/analysis/results/dart.dart | 4 ++-- drift_dev/lib/src/analysis/serializer.dart | 4 ++-- drift_dev/lib/src/backends/build/drift_builder.dart | 1 - drift_dev/lib/src/cli/commands/migrate.dart | 7 +++---- drift_dev/lib/src/utils/type_utils.dart | 4 ++-- drift_dev/lib/src/writer/utils/column_constraints.dart | 1 + .../analysis/resolver/dart/custom_row_classes_test.dart | 1 - drift_dev/test/analysis/resolver/resolver_test.dart | 1 - drift_dev/test/services/schema/writer_test.dart | 2 -- 16 files changed, 25 insertions(+), 28 deletions(-) diff --git a/drift_dev/lib/src/analysis/resolver/dart/column.dart b/drift_dev/lib/src/analysis/resolver/dart/column.dart index 04779d2b..4d7b9b9f 100644 --- a/drift_dev/lib/src/analysis/resolver/dart/column.dart +++ b/drift_dev/lib/src/analysis/resolver/dart/column.dart @@ -333,7 +333,7 @@ class ColumnParser { remainingExpr = inner; } - final sqlName = foundExplicitName ?? ReCase(getter.name2.lexeme).snakeCase; + final sqlName = foundExplicitName ?? ReCase(getter.name.lexeme).snakeCase; final sqlType = _startMethodToColumnType(foundStartMethod); AppliedTypeConverter? converter; @@ -442,7 +442,7 @@ class ColumnParser { return valueType is InterfaceType && isFromDrift(valueType) && - valueType.element2.name == 'JsonKey'; + valueType.element.name == 'JsonKey'; }); if (object == null) return null; diff --git a/drift_dev/lib/src/analysis/resolver/dart/helper.dart b/drift_dev/lib/src/analysis/resolver/dart/helper.dart index b40dcec2..817ac69a 100644 --- a/drift_dev/lib/src/analysis/resolver/dart/helper.dart +++ b/drift_dev/lib/src/analysis/resolver/dart/helper.dart @@ -126,7 +126,7 @@ bool isColumn(DartType type) { bool isFromDrift(DartType type) { if (type is! InterfaceType) return false; - final firstComponent = type.element2.library.location?.components.first; + final firstComponent = type.element.library.location?.components.first; if (firstComponent == null) return false; return firstComponent.contains('drift'); @@ -134,7 +134,7 @@ bool isFromDrift(DartType type) { extension IsFromDrift on Element { bool get isFromDefaultTable { - final parent = enclosingElement3; + final parent = enclosingElement; return parent is ClassElement && parent.name == 'Table' && @@ -150,7 +150,7 @@ extension on InterfaceElement { extension TypeUtils on DartType { String? get nameIfInterfaceType { final $this = this; - return $this is InterfaceType ? $this.element2.name : null; + return $this is InterfaceType ? $this.element.name : null; } String get userVisibleName => getDisplayString(withNullability: true); diff --git a/drift_dev/lib/src/analysis/resolver/dart/table.dart b/drift_dev/lib/src/analysis/resolver/dart/table.dart index ca40ec29..1604a201 100644 --- a/drift_dev/lib/src/analysis/resolver/dart/table.dart +++ b/drift_dev/lib/src/analysis/resolver/dart/table.dart @@ -151,8 +151,8 @@ class DartTableResolver extends LocalElementResolver { useRowClass.getField('generateInsertable')!.toBoolValue()!; if (type is InterfaceType) { - existingClass = FoundDartClass(type.element2, type.typeArguments); - name = type.element2.name; + existingClass = FoundDartClass(type.element, type.typeArguments); + name = type.element.name; } else { reportError(DriftAnalysisError.forDartElement( element, diff --git a/drift_dev/lib/src/analysis/resolver/dart/view.dart b/drift_dev/lib/src/analysis/resolver/dart/view.dart index e513a8ee..dbe22140 100644 --- a/drift_dev/lib/src/analysis/resolver/dart/view.dart +++ b/drift_dev/lib/src/analysis/resolver/dart/view.dart @@ -349,8 +349,8 @@ class DartViewResolver extends LocalElementResolver { useRowClass.getField('generateInsertable')!.toBoolValue()!; if (type is InterfaceType) { - existingClass = FoundDartClass(type.element2, type.typeArguments); - name = type.element2.name; + existingClass = FoundDartClass(type.element, type.typeArguments); + name = type.element.name; } else { reportError(DriftAnalysisError.forDartElement( element, diff --git a/drift_dev/lib/src/analysis/resolver/discover.dart b/drift_dev/lib/src/analysis/resolver/discover.dart index 0609d8d3..d22570d2 100644 --- a/drift_dev/lib/src/analysis/resolver/discover.dart +++ b/drift_dev/lib/src/analysis/resolver/discover.dart @@ -227,6 +227,8 @@ class _FindDartElements extends RecursiveElementVisitor { return computed; } } + + return null; } /// Obtains the SQL schema name of a Dart-defined table. diff --git a/drift_dev/lib/src/analysis/resolver/shared/dart_types.dart b/drift_dev/lib/src/analysis/resolver/shared/dart_types.dart index 9ed71daa..c6fd9f71 100644 --- a/drift_dev/lib/src/analysis/resolver/shared/dart_types.dart +++ b/drift_dev/lib/src/analysis/resolver/shared/dart_types.dart @@ -312,8 +312,8 @@ void _checkType( final isAllowedUint8List = typeConverter == null && columnType == DriftSqlType.blob && typeToCheck is InterfaceType && - typeToCheck.element2.name == 'Uint8List' && - typeToCheck.element2.library.name == 'dart.typed_data'; + typeToCheck.element.name == 'Uint8List' && + typeToCheck.element.library.name == 'dart.typed_data'; if (!typeSystem.isAssignableTo(expectedDartType, typeToCheck) && !isAllowedUint8List) { diff --git a/drift_dev/lib/src/analysis/resolver/shared/data_class.dart b/drift_dev/lib/src/analysis/resolver/shared/data_class.dart index 0b03c983..202f4fbe 100644 --- a/drift_dev/lib/src/analysis/resolver/shared/data_class.dart +++ b/drift_dev/lib/src/analysis/resolver/shared/data_class.dart @@ -34,8 +34,8 @@ AnnotatedDartCode? parseCustomParentClass( if (extending != null && !extending.isNull) { final extendingType = extending.toTypeValue(); if (extendingType is InterfaceType) { - final superType = extendingType.allSupertypes.any( - (type) => isFromDrift(type) && type.element2.name == 'DataClass'); + final superType = extendingType.allSupertypes + .any((type) => isFromDrift(type) && type.element.name == 'DataClass'); if (!superType) { resolver.reportError( DriftAnalysisError.forDartElement( diff --git a/drift_dev/lib/src/analysis/results/dart.dart b/drift_dev/lib/src/analysis/results/dart.dart index 1c926ef1..b9b086c8 100644 --- a/drift_dev/lib/src/analysis/results/dart.dart +++ b/drift_dev/lib/src/analysis/results/dart.dart @@ -261,7 +261,7 @@ class _AddFromDartType extends TypeVisitor { if (alias != null) { _builder.addTopLevelElement(alias.element); } else { - _builder.addTopLevelElement(type.element2); + _builder.addTopLevelElement(type.element); } if (type.typeArguments.isNotEmpty) { @@ -289,7 +289,7 @@ class _AddFromDartType extends TypeVisitor { @override void visitTypeParameterType(TypeParameterType type) { - _builder.addText(type.element2.name); + _builder.addText(type.element.name); _writeSuffix(type.nullabilitySuffix); } diff --git a/drift_dev/lib/src/analysis/serializer.dart b/drift_dev/lib/src/analysis/serializer.dart index 639f9c4a..ecfe2a49 100644 --- a/drift_dev/lib/src/analysis/serializer.dart +++ b/drift_dev/lib/src/analysis/serializer.dart @@ -314,8 +314,8 @@ class _DartTypeSerializer extends TypeVisitor> { return { 'kind': 'interface', 'suffix': type.nullabilitySuffix.name, - 'library': type.element2.library.source.uri.toString(), - 'element': type.element2.name, + 'library': type.element.library.source.uri.toString(), + 'element': type.element.name, 'instantiation': [ for (final instantiation in type.typeArguments) instantiation.accept(this), diff --git a/drift_dev/lib/src/backends/build/drift_builder.dart b/drift_dev/lib/src/backends/build/drift_builder.dart index 55177dbc..4e9f85b4 100644 --- a/drift_dev/lib/src/backends/build/drift_builder.dart +++ b/drift_dev/lib/src/backends/build/drift_builder.dart @@ -3,7 +3,6 @@ import 'package:dart_style/dart_style.dart'; import '../../analysis/custom_result_class.dart'; import '../../analysis/driver/driver.dart'; -import '../../analysis/driver/error.dart'; import '../../analysis/driver/state.dart'; import '../../analysis/results/results.dart'; import '../../analysis/options.dart'; diff --git a/drift_dev/lib/src/cli/commands/migrate.dart b/drift_dev/lib/src/cli/commands/migrate.dart index 4e94c739..4152fa7f 100644 --- a/drift_dev/lib/src/cli/commands/migrate.dart +++ b/drift_dev/lib/src/cli/commands/migrate.dart @@ -413,8 +413,7 @@ class _Moor2DriftDartRewriter extends GeneralizingAstVisitor { if (type is! InterfaceType) continue; - if (type.element2.library.isDartCore && - type.element2.name == 'pragma') { + if (type.element.library.isDartCore && type.element.name == 'pragma') { final name = value.getField('name')!.toStringValue()!; if (name == 'moor2drift') { @@ -453,8 +452,8 @@ class _Moor2DriftDartRewriter extends GeneralizingAstVisitor { if (type is! InterfaceType || // note that even old moor code uses these names since UseMoor/UseDao // are type aliases to the new interfaces. - (type.element2.name != 'DriftDatabase' && - type.element2.name != 'DriftAccessor')) { + (type.element.name != 'DriftDatabase' && + type.element.name != 'DriftAccessor')) { return; } diff --git a/drift_dev/lib/src/utils/type_utils.dart b/drift_dev/lib/src/utils/type_utils.dart index 7a19c457..3a7bb12e 100644 --- a/drift_dev/lib/src/utils/type_utils.dart +++ b/drift_dev/lib/src/utils/type_utils.dart @@ -4,7 +4,7 @@ import 'package:analyzer/dart/element/type.dart'; bool isFromDrift(DartType type) { if (type is! InterfaceType) return false; - final firstComponent = type.element2.library.location?.components.first; + final firstComponent = type.element.library.location?.components.first; if (firstComponent == null) return false; return firstComponent.contains('drift') || firstComponent.contains('moor'); @@ -28,7 +28,7 @@ bool isExpression(DartType type) { extension TypeUtils on DartType { String? get nameIfInterfaceType { final $this = this; - return $this is InterfaceType ? $this.element2.name : null; + return $this is InterfaceType ? $this.element.name : null; } String get userVisibleName => getDisplayString(withNullability: true); diff --git a/drift_dev/lib/src/writer/utils/column_constraints.dart b/drift_dev/lib/src/writer/utils/column_constraints.dart index 84db4479..db26562f 100644 --- a/drift_dev/lib/src/writer/utils/column_constraints.dart +++ b/drift_dev/lib/src/writer/utils/column_constraints.dart @@ -1,4 +1,5 @@ import 'package:drift/drift.dart'; +// ignore: deprecated_member_use import 'package:drift/sqlite_keywords.dart'; import 'package:sqlparser/sqlparser.dart' as sql; diff --git a/drift_dev/test/analysis/resolver/dart/custom_row_classes_test.dart b/drift_dev/test/analysis/resolver/dart/custom_row_classes_test.dart index 9cd3b07e..8f1514ad 100644 --- a/drift_dev/test/analysis/resolver/dart/custom_row_classes_test.dart +++ b/drift_dev/test/analysis/resolver/dart/custom_row_classes_test.dart @@ -1,5 +1,4 @@ @Tags(['analyzer']) -import 'package:analyzer/dart/element/type.dart'; import 'package:drift_dev/src/analysis/results/results.dart'; import 'package:test/test.dart'; diff --git a/drift_dev/test/analysis/resolver/resolver_test.dart b/drift_dev/test/analysis/resolver/resolver_test.dart index 798506dc..ffe144cc 100644 --- a/drift_dev/test/analysis/resolver/resolver_test.dart +++ b/drift_dev/test/analysis/resolver/resolver_test.dart @@ -1,6 +1,5 @@ import 'package:drift/drift.dart'; import 'package:drift_dev/src/analysis/results/results.dart'; -import 'package:drift_dev/src/analysis/results/table.dart'; import 'package:test/test.dart'; import '../test_utils.dart'; diff --git a/drift_dev/test/services/schema/writer_test.dart b/drift_dev/test/services/schema/writer_test.dart index dc193564..26062ea3 100644 --- a/drift_dev/test/services/schema/writer_test.dart +++ b/drift_dev/test/services/schema/writer_test.dart @@ -1,9 +1,7 @@ @Tags(['analyzer']) import 'dart:convert'; -import 'dart:io'; import 'package:drift_dev/src/analysis/options.dart'; -import 'package:drift_dev/src/analysis/results/database.dart'; import 'package:drift_dev/src/analysis/results/file_results.dart'; import 'package:drift_dev/src/analysis/results/results.dart'; import 'package:drift_dev/src/services/schema/schema_files.dart';