Skip to content

Commit b6c3b2c

Browse files
scheglovcommit-bot@chromium.org
authored andcommitted
Enable 'Surround with XYZ' only for Statement(s) in Block(s).
[email protected] Change-Id: I6488bd699bb2375de3aed1171f89def23068ae17 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107781 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 79e478e commit b6c3b2c

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

pkg/analysis_server/lib/src/services/correction/assist_internal.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3749,6 +3749,12 @@ class AssistProcessor {
37493749
selectedStatements.add(selectedNode);
37503750
}
37513751
}
3752+
// we want only statements in blocks
3753+
for (var statement in selectedStatements) {
3754+
if (statement.parent is! Block) {
3755+
return;
3756+
}
3757+
}
37523758
// we want only statements
37533759
if (selectedStatements.isEmpty ||
37543760
selectedStatements.length != selectedNodes.length) {

pkg/analysis_server/test/src/services/correction/assist/surround_with_block_test.dart

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@ class SurroundWithBlockTest extends AssistProcessorTest {
1919
@override
2020
AssistKind get kind => DartAssistKind.SURROUND_WITH_BLOCK;
2121

22+
test_notStatementInBlock() async {
23+
await resolveTestUnit('''
24+
main() {
25+
while (true)
26+
// start
27+
print(0);
28+
// end
29+
}
30+
''');
31+
await assertNoAssist();
32+
}
33+
2234
test_twoStatements() async {
2335
await resolveTestUnit('''
2436
main() {

0 commit comments

Comments
 (0)