override fun visit()

in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/visualStudio/VisualStudioRegistryProvider.kt [37:68]


                    override fun visit(value: WindowsRegistryValue): Boolean {
                        val parts = value.key.parts.takeLast(2)
                        if (
                                value.type == WindowsRegistryValueType.Str
                                && value.text.isNotBlank()
                                && "InstallDir".equals(parts[1], true)) {
                            if ("QualityTools".equals(parts[0], true)) {
                                _visualStudioTestConsoleInstanceFactory.tryCreate(File(value.text), Version.Empty, Platform.Default)?.let {
                                    LOG.debug("Found $it")
                                    instances.add(it)
                                }
                                _msTestConsoleInstanceFactory.tryCreate(File(value.text), Version.Empty, Platform.Default)?.let {
                                    LOG.debug("Found $it")
                                    instances.add(it)
                                }
                            }
                            else {
                                var baseVersion = Version.parse(parts[0])
                                if (baseVersion == Version.Empty || baseVersion.digits < 2
                                ) {
                                    LOG.debug("Cannot parse version from ${parts[0]}")
                                } else {
                                    _visualStudioInstanceFactory.tryCreate(File(value.text), baseVersion, Platform.Default)?.let {
                                        LOG.debug("Found $it")
                                        instances.add(it)
                                    }
                                }
                            }
                        }

                        return true
                    }