override fun visitImportSpec()

in src/main/kotlin/org/jetbrains/tinygoplugin/inspections/libraries/TinyGoImportInspection.kt [92:126]


            override fun visitImportSpec(import: GoImportSpec) {
                super.visitImportSpec(import)
                val importConditions = import.isCImport || import.isBlank
                val tinyGoContextConditions =
                    !import.project.tinyGoConfiguration().enabled || !customContextPredicate(import)
                if (importConditions || tinyGoContextConditions) {
                    return
                }
                if (!checkFileLocation(
                        import.path,
                        import,
                        defaultInspectionMessage,
                        IMPORT_DEPENDENCY_INSPECTION_MESSAGE,
                        generateDisplayName(import)
                    )
                ) {
                    computedUnsupportedImports.add(import.path)
                    return
                }

                val packages = import.resolve(ResolveState.initial())
                val importedPkgRefersToBadLib = packages.stream().anyMatch { pkg ->
                    pkg.files().stream().anyMatch {
                        if (it is GoFile) {
                            if (!GoUtil.matchedForModuleBuildTarget(it, GoUtil.module(it))) false
                            else !checkFileImports(
                                it,
                                import,
                                generateDisplayName(import)
                            )
                        } else true
                    }
                }
                if (importedPkgRefersToBadLib) computedUnsupportedImports.add(import.path)
            }