Fix conversion of class with type parameters to mixin (issue 35322)

Change-Id: I771a5573809fa0f03e0901f3e3f30684b6a48ef8
Reviewed-on: https://dart-review.googlesource.com/c/86223
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
Brian Wilkerson 2018-12-05 16:52:33 +00:00 committed by commit-bot@chromium.org
parent 831ab3580c
commit 9b5fcc9166
2 changed files with 11 additions and 0 deletions

View file

@ -447,6 +447,8 @@ class AssistProcessor {
classDeclaration.leftBracket), (DartEditBuilder builder) {
builder.write('mixin ');
builder.write(classDeclaration.name.name);
builder.writeTypeParameters(
classDeclaration.declaredElement.typeParameters);
builder.writeTypes(superclassConstraints, prefix: ' on ');
builder.writeTypes(interfaces, prefix: ' implements ');
builder.write(' ');

View file

@ -373,6 +373,15 @@ mixin A {}
''');
}
test_typeParameters() async {
await resolveTestUnit('''
class A<T> {}
''');
await assertHasAssistAt('A', '''
mixin A<T> {}
''');
}
test_with_noSuper() async {
await resolveTestUnit('''
class A {}