NoInternalVisibilityInStdLibTest: get rid of warnings

This commit is contained in:
Michael Nedzelsky
2015-08-28 10:36:38 +03:00
committed by Zalim Bashorov
parent 8cb87b3e49
commit 2ad1459948
@@ -14,35 +14,31 @@
* limitations under the License.
*/
import com.intellij.openapi.Disposable
import com.intellij.openapi.util.Disposer
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.addKotlinSourceRoot
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS
import org.jetbrains.kotlin.js.config.EcmaVersion
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.renderer.DescriptorRenderer
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM
import org.jetbrains.kotlin.utils.PathUtil
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import com.intellij.openapi.util.Disposer
import org.jetbrains.kotlin.config.*
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import java.util.ArrayList
import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.renderer.DescriptorRenderer
import java.util.*
import kotlin.test.fail
import org.jetbrains.kotlin.utils.PathUtil
import org.jetbrains.kotlin.resolve.DescriptorUtils
import java.util.HashSet
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.cli.jvm.config.*
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.resolve.BindingTraceContext
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig
import org.jetbrains.kotlin.js.config.EcmaVersion
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS
import com.intellij.openapi.Disposable
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport
import org.jetbrains.kotlin.context.ModuleContext
import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider
private val ANALYZE_PACKAGE_ROOTS_FOR_JVM = listOf("kotlin")
private val ANALYZE_PACKAGE_ROOTS_FOR_JS = listOf("kotlin", "jquery", "html5")
@@ -80,18 +76,18 @@ class NoInternalVisibilityInStdLibTest {
if (internalDescriptors.isEmpty()) return
val byFile = internalDescriptors.groupBy { descriptor ->
DescriptorToSourceUtils.getSourceFromDescriptor(descriptor)?.getContainingFile() as JetFile
DescriptorToSourceUtils.getSourceFromDescriptor(descriptor)?.containingFile as JetFile
}
val byPackage = byFile.keySet().groupBy { it.getPackageFqName() }
val byPackage = byFile.keySet().groupBy { it.packageFqName }
val message = StringBuilder {
appendln("There are ${internalDescriptors.size()} descriptors that have internal visibility:")
for ((packageFqName, files) in byPackage) {
appendln("In package ${packageFqName}:")
appendln("In package $packageFqName:")
for (file in files) {
appendln("In file ${file.getName()}")
appendln("In file ${file.name}")
appendln("--------------")
val descriptors = byFile[file]!!
descriptors.forEach {
@@ -143,7 +139,7 @@ class NoInternalVisibilityInStdLibTest {
val configuration = CompilerConfiguration()
val environment = KotlinCoreEnvironment.createForProduction(disposable!!, configuration, EnvironmentConfigFiles.JS_CONFIG_FILES)
val project = environment.project
val pathToJsStdlibJar = KOTLIN_ROOT_PATH + PathUtil.getKotlinPathsForDistDirectory().getJsStdLibJarPath().path
val pathToJsStdlibJar = KOTLIN_ROOT_PATH + PathUtil.getKotlinPathsForDistDirectory().jsStdLibJarPath.path
val config = LibrarySourcesConfig.Builder(project, "testModule", listOf(pathToJsStdlibJar))
.ecmaVersion(EcmaVersion.defaultVersion())
.sourceMap(false)
@@ -165,7 +161,7 @@ class NoInternalVisibilityInStdLibTest {
val sink = OutputSink(requiredPackages map { FqName(it) })
for (testPackage in testPackages) {
val packageView = module.getPackage(FqName(testPackage))!!
val packageView = module.getPackage(FqName(testPackage))
validateDescriptor(module, packageView, sink)
}
@@ -176,12 +172,12 @@ class NoInternalVisibilityInStdLibTest {
if (DescriptorUtils.getContainingModule(descriptor) != module) return
if (descriptor is DeclarationDescriptorWithVisibility) {
if (descriptor.getVisibility() == Visibilities.INTERNAL) {
if (descriptor.visibility == Visibilities.INTERNAL) {
sink.reportInternalVisibility(descriptor)
}
}
when (descriptor) {
is ClassDescriptor -> descriptor.getDefaultType().getMemberScope().getAllDescriptors().forEach {
is ClassDescriptor -> descriptor.defaultType.memberScope.getAllDescriptors().forEach {
validateDescriptor(module, it, sink)
}
is PackageViewDescriptor -> {