Skip to content

Commit c9fabdc

Browse files
jhonabreulclaude
andcommitted
Use var for local declarations in AttributeError suggestion helpers
Style cleanup: prefer var over explicit types where the type is apparent from the right-hand side. Also drops two now-unnecessary null-forgiving operators that the compiler's flow analysis already proves non-null. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent ab37ad3 commit c9fabdc

1 file changed

Lines changed: 16 additions & 15 deletions

File tree

src/runtime/Types/ClassBase.cs

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -627,10 +627,10 @@ internal static void AppendAttributeErrorSuggestions(BorrowedReference ob, Borro
627627
return;
628628
}
629629

630-
string? name = Runtime.GetManagedString(key);
630+
var name = Runtime.GetManagedString(key);
631631
// Skip empty and dunder names: the latter are probed internally by CPython
632632
// (e.g. __iter__, __len__) and are never user-facing typos worth helping with.
633-
if (string.IsNullOrEmpty(name) || name!.StartsWith("__", StringComparison.Ordinal))
633+
if (string.IsNullOrEmpty(name) || name.StartsWith("__", StringComparison.Ordinal))
634634
{
635635
return;
636636
}
@@ -650,8 +650,8 @@ internal static void AppendAttributeErrorSuggestions(BorrowedReference ob, Borro
650650
Runtime.PyErr_Fetch(out var errType, out var errValue, out var errTraceback);
651651
try
652652
{
653-
string baseMessage = GetErrorMessage(errValue.BorrowNullable(), name);
654-
string hint = " Did you mean: " + string.Join(", ", suggestions.Select(s => $"'{s}'")) + "?";
653+
var baseMessage = GetErrorMessage(errValue.BorrowNullable(), name);
654+
var hint = " Did you mean: " + string.Join(", ", suggestions.Select(s => $"'{s}'")) + "?";
655655
Exceptions.SetError(Exceptions.AttributeError, baseMessage + hint);
656656
}
657657
finally
@@ -669,10 +669,10 @@ private static string GetErrorMessage(BorrowedReference value, string fallbackNa
669669
using var str = Runtime.PyObject_Str(value);
670670
if (!str.IsNull())
671671
{
672-
string? managed = Runtime.GetManagedString(str.Borrow());
672+
var managed = Runtime.GetManagedString(str.Borrow());
673673
if (!string.IsNullOrEmpty(managed))
674674
{
675-
return managed!;
675+
return managed;
676676
}
677677
}
678678
// PyObject_Str may itself have failed; do not let that error leak out.
@@ -684,7 +684,7 @@ private static string GetErrorMessage(BorrowedReference value, string fallbackNa
684684
private static List<string> GetSimilarMemberNames(Type type, string name)
685685
{
686686
const int MaxSuggestions = 5;
687-
int threshold = Math.Max(2, name.Length / 3);
687+
var threshold = Math.Max(2, name.Length / 3);
688688

689689
var seen = new HashSet<string>(StringComparer.Ordinal);
690690
var scored = new List<(string Name, int Distance)>();
@@ -707,14 +707,14 @@ private static List<string> GetSimilarMemberNames(Type type, string name)
707707

708708
// Suggest the snake_case alias, since that is the fork's PEP8-style
709709
// public API surface (members are exposed in both Pascal and snake case).
710-
string candidate = ToSnakeCaseMemberName(member);
710+
var candidate = ToSnakeCaseMemberName(member);
711711
if (!seen.Add(candidate))
712712
{
713713
continue;
714714
}
715715

716-
int distance = LevenshteinDistance(name, candidate);
717-
bool related = distance <= threshold
716+
var distance = LevenshteinDistance(name, candidate);
717+
var related = distance <= threshold
718718
|| candidate.IndexOf(name, StringComparison.OrdinalIgnoreCase) >= 0
719719
|| name.IndexOf(candidate, StringComparison.OrdinalIgnoreCase) >= 0;
720720
if (related)
@@ -747,20 +747,21 @@ private static int LevenshteinDistance(string a, string b)
747747
{
748748
a = a.ToLowerInvariant();
749749
b = b.ToLowerInvariant();
750-
int n = a.Length, m = b.Length;
750+
var n = a.Length;
751+
var m = b.Length;
751752
if (n == 0) return m;
752753
if (m == 0) return n;
753754

754755
var prev = new int[m + 1];
755756
var curr = new int[m + 1];
756-
for (int j = 0; j <= m; j++) prev[j] = j;
757+
for (var j = 0; j <= m; j++) prev[j] = j;
757758

758-
for (int i = 1; i <= n; i++)
759+
for (var i = 1; i <= n; i++)
759760
{
760761
curr[0] = i;
761-
for (int j = 1; j <= m; j++)
762+
for (var j = 1; j <= m; j++)
762763
{
763-
int cost = a[i - 1] == b[j - 1] ? 0 : 1;
764+
var cost = a[i - 1] == b[j - 1] ? 0 : 1;
764765
curr[j] = Math.Min(Math.Min(curr[j - 1] + 1, prev[j] + 1), prev[j - 1] + cost);
765766
}
766767
(prev, curr) = (curr, prev);

0 commit comments

Comments
 (0)