1
1
package org.javacs.kt
2
2
3
- import org.jetbrains.kotlin.com.intellij.openapi.Disposable
3
+ import org.javacs.kt.util.LoggingMessageCollector
4
+ import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
5
+ import org.jetbrains.kotlin.cli.jvm.compiler.CliBindingTrace
6
+ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
7
+ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
4
8
import org.jetbrains.kotlin.com.intellij.openapi.util.Disposer
5
9
import org.jetbrains.kotlin.com.intellij.openapi.vfs.StandardFileSystems
6
- import org.jetbrains.kotlin.com.intellij.openapi.vfs.VirtualFile
7
10
import org.jetbrains.kotlin.com.intellij.openapi.vfs.VirtualFileManager
8
- import org.jetbrains.kotlin.com.intellij.openapi.vfs.VirtualFileSystem
9
11
import org.jetbrains.kotlin.com.intellij.psi.PsiManager
10
12
import org.jetbrains.kotlin.com.intellij.psi.util.PsiTreeUtil
11
- import org.jetbrains.kotlin.cli.jvm.compiler.CliBindingTrace
12
- import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
13
- import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
14
- import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
15
13
import org.jetbrains.kotlin.config.CommonConfigurationKeys
16
14
import org.jetbrains.kotlin.config.CompilerConfiguration
17
- import org.jetbrains.kotlin.container.ComponentProvider
18
- import org.jetbrains.kotlin.container.ValueDescriptor
19
- import org.jetbrains.kotlin.descriptors.CallableDescriptor
20
15
import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil
21
16
import org.jetbrains.kotlin.psi.KtElement
22
17
import org.jetbrains.kotlin.psi.KtFile
@@ -25,23 +20,15 @@ import org.jetbrains.kotlin.resolve.BindingTraceContext
25
20
import org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer
26
21
import org.jetbrains.kotlin.resolve.TopDownAnalysisMode
27
22
import org.jetbrains.kotlin.resolve.calls.callUtil.getParentResolvedCall
28
- import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
29
23
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfoFactory
30
24
import org.junit.Test
31
- import org.openjdk.jmh.annotations.Benchmark
32
- import org.openjdk.jmh.annotations.Scope
33
- import org.openjdk.jmh.annotations.State
34
- import org.openjdk.jmh.annotations.TearDown
35
- import org.openjdk.jmh.annotations.Level
25
+ import org.openjdk.jmh.annotations.*
36
26
import org.openjdk.jmh.runner.Runner
37
27
import org.openjdk.jmh.runner.RunnerException
38
- import org.openjdk.jmh.runner.options.Options
39
28
import org.openjdk.jmh.runner.options.OptionsBuilder
40
- import org.javacs.kt.util.LoggingMessageCollector
41
-
42
- import java.lang.reflect.Type
43
- import java.net.URL
44
29
import java.io.Closeable
30
+ import java.net.URLDecoder
31
+ import java.nio.charset.StandardCharsets
45
32
46
33
class OneFilePerformance {
47
34
@State(Scope .Thread )
@@ -61,7 +48,7 @@ class OneFilePerformance {
61
48
62
49
internal fun openFile (resourcePath : String? ): KtFile {
63
50
val locate = OneFilePerformance ::class .java.getResource(resourcePath)
64
- val file = fileSystem.findFileByPath(locate.path)
51
+ val file = fileSystem.findFileByPath(URLDecoder .decode( locate.path, StandardCharsets . UTF_8 .toString()) )
65
52
return PsiManager .getInstance(env.project).findFile(file!! ) as KtFile
66
53
}
67
54
0 commit comments