in plugin-bazel/src/main/kotlin/org/jetbrains/bazel/languages/starlark/references/BazelBzlFileService.kt [42:59]
override fun visitFileEx(file: VirtualFile): Result {
if (file in excludedRoots) return SKIP_CHILDREN
if (file != root && file in canonicalRepoPaths) return SKIP_CHILDREN
if (file.isDirectory || file.extension != "bzl") return CONTINUE
val targetName = file.name
val targetBaseDirectory = file.parent ?: return CONTINUE
val relativeTargetBaseDirectory = targetBaseDirectory.toNioPath().relativeToOrNull(repoPath) ?: return CONTINUE
val label =
ResolvedLabel(
repo = Canonical.createCanonicalOrMain(canonicalName),
packagePath = Package(relativeTargetBaseDirectory.toString().split("/")),
target = SingleTarget(targetName),
)
newMap[canonicalName] = newMap.getOrDefault(canonicalName, emptyList()) + label
return CONTINUE
}