override fun visitPhpFile()

in src/main/kotlin/com/pestphp/pest/features/datasets/InvalidDatasetReferenceInspection.kt [19:50]


            override fun visitPhpFile(file: PhpFile) {
                val localDatasets = file.getDatasets()
                    .mapNotNull { it.getPestDatasetName() }
                // Get all shared datasets
                val fileBasedIndex = FileBasedIndex.getInstance()
                val sharedDatasets = fileBasedIndex.getAllKeys(key, file.project)
                    .map {
                        fileBasedIndex.getValues(
                          key,
                          it,
                          GlobalSearchScope.projectScope(file.project)
                        )
                    }
                    .flatten()
                    .flatten()

                file.getPestTests()
                    // Has to be a method reference, as else there is no dataset
                    .asSequence()
                    .filterIsInstance<MethodReferenceImpl>()
                    .filter { it.name == "with" }
                    .mapNotNull { it.parameters.getOrNull(0) }
                    .filterIsInstance<StringLiteralExpression>()
                    .filter { it.contents !in localDatasets && it.contents !in sharedDatasets }
                    .toList()
                    .forEach {
                        declareProblemType(
                            holder,
                            it
                        )
                    }
            }