mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 23:59:47 +00:00
Issue 2111. Copy documentation comments when 'Encapsulate Field'.
R=brianwilkerson@google.com Bug: https://github.com/flutter/flutter-intellij/issues/2111 Change-Id: If971e72b2cde15b7183f148da9da4d0dfed4ae05 Reviewed-on: https://dart-review.googlesource.com/52267 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
parent
ea14947aca
commit
7b3a9c9aec
|
@ -1233,17 +1233,39 @@ class AssistProcessor {
|
|||
}
|
||||
}
|
||||
}
|
||||
// add accessors
|
||||
String eol2 = eol + eol;
|
||||
String typeNameCode = variableList.type != null
|
||||
? _getNodeText(variableList.type) + ' '
|
||||
: '';
|
||||
String getterCode = '$eol2 ${typeNameCode}get $name => _$name;';
|
||||
String setterCode = '$eol2'
|
||||
' set $name($typeNameCode$name) {$eol'
|
||||
' _$name = $name;$eol'
|
||||
' }';
|
||||
builder.addSimpleInsertion(fieldDeclaration.end, getterCode + setterCode);
|
||||
|
||||
// Write getter and setter.
|
||||
builder.addInsertion(fieldDeclaration.end, (builder) {
|
||||
String docCode;
|
||||
if (fieldDeclaration.documentationComment != null) {
|
||||
docCode = utils.getNodeText(fieldDeclaration.documentationComment);
|
||||
}
|
||||
|
||||
String typeCode = '';
|
||||
if (variableList.type != null) {
|
||||
typeCode = _getNodeText(variableList.type) + ' ';
|
||||
}
|
||||
|
||||
// Write getter.
|
||||
builder.writeln();
|
||||
builder.writeln();
|
||||
if (docCode != null) {
|
||||
builder.write(' ');
|
||||
builder.writeln(docCode);
|
||||
}
|
||||
builder.write(' ${typeCode}get $name => _$name;');
|
||||
|
||||
// Write setter.
|
||||
builder.writeln();
|
||||
builder.writeln();
|
||||
if (docCode != null) {
|
||||
builder.write(' ');
|
||||
builder.writeln(docCode);
|
||||
}
|
||||
builder.writeln(' set $name($typeCode$name) {');
|
||||
builder.writeln(' _$name = $name;');
|
||||
builder.write(' }');
|
||||
});
|
||||
});
|
||||
_addAssistFromBuilder(changeBuilder, DartAssistKind.ENCAPSULATE_FIELD);
|
||||
}
|
||||
|
|
|
@ -2562,6 +2562,33 @@ class A {
|
|||
await assertNoAssistAt('test =', DartAssistKind.ENCAPSULATE_FIELD);
|
||||
}
|
||||
|
||||
test_encapsulateField_OK_documentation() async {
|
||||
await resolveTestUnit('''
|
||||
class A {
|
||||
/// AAA
|
||||
/// BBB
|
||||
int test;
|
||||
}
|
||||
''');
|
||||
await assertHasAssistAt('test;', DartAssistKind.ENCAPSULATE_FIELD, '''
|
||||
class A {
|
||||
/// AAA
|
||||
/// BBB
|
||||
int _test;
|
||||
|
||||
/// AAA
|
||||
/// BBB
|
||||
int get test => _test;
|
||||
|
||||
/// AAA
|
||||
/// BBB
|
||||
set test(int test) {
|
||||
_test = test;
|
||||
}
|
||||
}
|
||||
''');
|
||||
}
|
||||
|
||||
test_encapsulateField_OK_hasType() async {
|
||||
await resolveTestUnit('''
|
||||
class A {
|
||||
|
|
Loading…
Reference in a new issue