Skip to content

Commit ea9ff1b

Browse files
committed
Refactor file skipping logic in CodeContextTools
Simplifies retrieval of the _fileChecker field and refactors the file skipping logic to avoid repeated reflection calls. This improves code readability and performance in directory entry filtering.
1 parent cf14129 commit ea9ff1b

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

Mcp/CodeContextTools.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -299,11 +299,12 @@ private static void CollectFiles(
299299
{
300300
try
301301
{
302+
var fileCheckerField = scanner.GetType()
303+
.GetField("_fileChecker", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
304+
var fileChecker = fileCheckerField?.GetValue(scanner) as IFileChecker;
305+
302306
var entries = Directory.EnumerateFileSystemEntries(currentPath)
303-
.Where(e => !scanner.GetType()
304-
.GetField("_fileChecker", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)?
305-
.GetValue(scanner) is IFileChecker checker ||
306-
!checker.ShouldSkip(new FileInfo(e), rootPath))
307+
.Where(e => fileChecker == null || !fileChecker.ShouldSkip(new FileInfo(e), rootPath))
307308
.ToList();
308309

309310
foreach (var entry in entries)

0 commit comments

Comments
 (0)