Skip to content

Commit

Permalink
Add compatibility with new analyzer version
Browse files Browse the repository at this point in the history
  • Loading branch information
pauldemarco committed Jul 24, 2019
1 parent 8fd1e0c commit 3844ca9
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
4 changes: 3 additions & 1 deletion auto_data_generator/lib/auto_data_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@ library auto_data_generator;
import 'dart:async';
import 'package:build/build.dart';
import 'package:source_gen/source_gen.dart';
import 'package:code_builder/code_builder.dart';
import 'package:auto_data/auto_data.dart';
import 'package:analyzer/dart/element/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:dart_style/dart_style.dart';

part 'src/auto_data_generator.dart';
part 'src/parser.dart';
part 'src/file_generator.dart';
25 changes: 15 additions & 10 deletions auto_data_generator/lib/src/auto_data_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -98,23 +98,28 @@ class DataElementVisitor<T> extends SimpleElementVisitor<T> {

@override
T visitConstructorElement(ConstructorElement element) {
final declaration = element.computeNode();
final parsedLibrary =
element.session.getParsedLibraryByElement(element.library);
final declaration = parsedLibrary.getElementDeclaration(element);
if (declaration != null) {
var s = element.computeNode().toSource();
var s = declaration.node.toSource();
s = s.startsWith('\$') ? s.substring(1) : s;
constructors.add(DataClassConstructor(s, element.documentationComment));
constElements.add(element);
}
}

DataClassProperty _parseFieldElement(FieldElement field) {
final element = library.findType(field.type.name);
final name = field.name;
var type = field.type.displayName;
final comment = field.documentationComment;
final isNullable = field.metadata.any((a) => a.toSource() == '@nullable');
final isEnum = element?.isEnum ?? false;
var assignmentString = field.computeNode().toSource();
DataClassProperty _parseFieldElement(FieldElement element) {
final parsedLibrary =
element.session.getParsedLibraryByElement(element.library);
final declaration = parsedLibrary.getElementDeclaration(element);
final ee = library.findType(element.type.name);
final name = element.name;
final type = element.type.displayName;
final comment = element.documentationComment;
final isNullable = element.metadata.any((a) => a.toSource() == '@nullable');
final isEnum = ee?.isEnum ?? false;
var assignmentString = declaration.node.toSource();
assignmentString = assignmentString.substring(name.length);
if (assignmentString.length <= 0) {
assignmentString = null;
Expand Down

0 comments on commit 3844ca9

Please sign in to comment.