Fix analysis warnings in new analyzer

This commit is contained in:
Simon Binder 2022-11-18 12:19:03 +01:00
parent 564b4c887f
commit e1ec5faa93
No known key found for this signature in database
GPG Key ID: 7891917E4147B8C0
16 changed files with 25 additions and 28 deletions

View File

@ -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;

View File

@ -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);

View File

@ -151,8 +151,8 @@ class DartTableResolver extends LocalElementResolver<DiscoveredDartTable> {
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,

View File

@ -349,8 +349,8 @@ class DartViewResolver extends LocalElementResolver<DiscoveredDartView> {
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,

View File

@ -227,6 +227,8 @@ class _FindDartElements extends RecursiveElementVisitor<void> {
return computed;
}
}
return null;
}
/// Obtains the SQL schema name of a Dart-defined table.

View File

@ -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) {

View File

@ -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(

View File

@ -261,7 +261,7 @@ class _AddFromDartType extends TypeVisitor<void> {
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<void> {
@override
void visitTypeParameterType(TypeParameterType type) {
_builder.addText(type.element2.name);
_builder.addText(type.element.name);
_writeSuffix(type.nullabilitySuffix);
}

View File

@ -314,8 +314,8 @@ class _DartTypeSerializer extends TypeVisitor<Map<String, Object?>> {
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),

View File

@ -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';

View File

@ -413,8 +413,7 @@ class _Moor2DriftDartRewriter extends GeneralizingAstVisitor<void> {
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<void> {
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;
}

View File

@ -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);

View File

@ -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;

View File

@ -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';

View File

@ -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';

View File

@ -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';