CLion 2021.3 Help

Unwrap and remove statements

For C++, this refactoring safely unwraps if...else, for, while, do...while and try...catch control statements, or accurately removes enclosing parts of the nested statements.

Besides C++, the Unwrap/Remove action is available for:

Unwrap or remove a statement

  1. Place the caret at the expression you want to unwrap or remove.

  2. Choose Code | Unwrap/Remove from the main menu or press Ctrl+Shift+Delete. CLion shows a popup with all the actions that are available in the current context. Statements to be kept after unwrapping are displayed on the blue background, statements to be removed are displayed on the grey background.

  3. Click the desired action or select it using the up and down arrow keys and press Enter.

Examples in different languages showing statements unwrapping:

Unwrap statement example

Before

After

@implementation SClass - (int)sqrV { if (v != 0) return v * v; else // this 'else' statement will be removed return 0; } @end
@implementation SClass - (int)sqrV { if (v != 0) return v * v; } @end

Before

After

count = 0 # This 'while' statement will be unwrapped while True: print(count) count += 1 if count >= 5: break
count = 0 print(count) count += 1 if count >= 5: break

Before

After

function GetCookie (name) { var arg = name + "="; var alen = arg.length; var i = 0; // This 'while' statement will be unwrapped while (i != document.cookie.length) { var j = i + document.cookie.length; i++; } }
function GetCookie (name) { var arg = name + "="; var alen = arg.length; var i = 0; var j = i + document.cookie.length; i++; }

Last modified: 14 September 2021