From c40c7657d9d6e34c05b874118e60ae44b53c8f46 Mon Sep 17 00:00:00 2001 From: Cam McHenry Date: Mon, 27 Oct 2025 19:47:51 -0400 Subject: [PATCH] perf: `no-unnecessary-type-assertion`: only do scanning when fixes are generated --- .../no_unnecessary_type_assertion.go | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/internal/rules/no_unnecessary_type_assertion/no_unnecessary_type_assertion.go b/internal/rules/no_unnecessary_type_assertion/no_unnecessary_type_assertion.go index 79e153f9..b7a28fc4 100644 --- a/internal/rules/no_unnecessary_type_assertion/no_unnecessary_type_assertion.go +++ b/internal/rules/no_unnecessary_type_assertion/no_unnecessary_type_assertion.go @@ -219,20 +219,18 @@ var NoUnnecessaryTypeAssertionRule = rule.Rule{ msg := buildUnnecessaryAssertionMessage() if node.Kind == ast.KindAsExpression { - s := scanner.GetScannerForSourceFile(ctx.SourceFile, expression.End()) - asKeywordRange := s.TokenRange() - ctx.ReportNodeWithFixes(node, msg, func() []rule.RuleFix { + s := scanner.GetScannerForSourceFile(ctx.SourceFile, expression.End()) + asKeywordRange := s.TokenRange() return []rule.RuleFix{rule.RuleFixRemoveRange(asKeywordRange), rule.RuleFixRemove(ctx.SourceFile, typeNode)} }) } else { - s := scanner.GetScannerForSourceFile(ctx.SourceFile, node.Pos()) - openingAngleBracket := s.TokenRange() - s.ResetPos(typeNode.End()) - s.Scan() - closingAngleBracket := s.TokenRange() - ctx.ReportNodeWithFixes(node, msg, func() []rule.RuleFix { + s := scanner.GetScannerForSourceFile(ctx.SourceFile, node.Pos()) + openingAngleBracket := s.TokenRange() + s.ResetPos(typeNode.End()) + s.Scan() + closingAngleBracket := s.TokenRange() return []rule.RuleFix{rule.RuleFixRemoveRange(openingAngleBracket.WithEnd(closingAngleBracket.End()))} }) }