protected virtual void SuggestNameForVariable(VariableDefinition variableDefinition) { if (state == State.SearchForPossibleNames) { var expressionKind = GetExpressionKind(); if ((expressionKind == ExpressionKind.ForInitializer) && (!IsForInitializerSuggestedForVariable(variableDefinition))) { var variableSuggestion = TryAddNewSuggestionForVariable(variableDefinition, GetForInitializerName()); variableSuggestion.IsForInitializerSuggested = true; } if ((expressionKind == ExpressionKind.ForEachVariable) || (expressionKind == ExpressionKind.LeftAssignment)) { TrySetPendingForSuggestion(variableDefinition); VariableSuggestion suggestion = null; variableSuggestedNames.TryGetValue(variableDefinition, out suggestion); } if (expressionKind == ExpressionKind.ForEachExpression) { VariableSuggestion variableSuggestion; if (variableSuggestedNames.TryGetValue(variableDefinition, out variableSuggestion)) { if (variableSuggestion.SuggestedNames.Count > 0) { TrySetPendingName(GetFirstSuggestedName(variableSuggestion.SuggestedNames), true); return; } } ClearPendingForSuggestion(); } } }
private VariableSuggestion TryAddNewSuggestionForVariable(VariableDefinition variable, string name) { VariableSuggestion variableSuggestion; if (variableSuggestedNames.TryGetValue(variable, out variableSuggestion)) { AddNewSuggestion(variableSuggestion.SuggestedNames, name); } else { variableSuggestion = new VariableSuggestion(name); variableSuggestedNames.Add(variable, variableSuggestion); } return(variableSuggestion); }
private void TrySetPendingForSuggestion(VariableDefinition variable) { VariableSuggestion variableSuggestion; if (variableSuggestedNames.TryGetValue(variable, out variableSuggestion)) { variableSuggestion.IsPendingForSuggestion = true; } else { variableSuggestion = new VariableSuggestion(); variableSuggestion.IsPendingForSuggestion = true; variableSuggestedNames.Add(variable, variableSuggestion); } }
private void TryRenameUsingSuggestions(VariableDefinition variable, VariableSuggestion variableSuggestion) { for (int suffix = 0; ; suffix++) { foreach (var name in variableSuggestion.SuggestedNames) { if (TryRenameVariable(variable, name, suffix)) { return; } } string nameByType = GetNameByType(variable.VariableType); if (TryRenameVariable(variable, nameByType, suffix)) { return; } } }
protected virtual void TryRenameVariable(VariableDefinition variable) { if (state == State.RenameVariables) { VariableSuggestion variableSuggestion; if (variableSuggestedNames.TryGetValue(variable, out variableSuggestion)) { if (!variableSuggestion.IsRenamed) { variableSuggestion.IsRenamed = true; TryRenameUsingSuggestions(variable, variableSuggestion); } } else { variableSuggestion = new VariableSuggestion(); variableSuggestion.IsRenamed = true; TryRenameUsingSuggestions(variable, variableSuggestion); } } }
private VariableSuggestion TryAddNewSuggestionForVariable(VariableDefinition variable, string name) { VariableSuggestion variableSuggestion; if (variableSuggestedNames.TryGetValue(variable, out variableSuggestion)) { AddNewSuggestion(variableSuggestion.SuggestedNames, name); } else { variableSuggestion = new VariableSuggestion(name); variableSuggestedNames.Add(variable, variableSuggestion); } return variableSuggestion; }