mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2025-05-12 09:34:06 +02:00
Fix LazyVimscriptFunction
This commit is contained in:
parent
8aeab29303
commit
74237365f1
annotation-processors/src/main/kotlin/com/intellij/vim/model
vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions
@ -12,7 +12,7 @@ import java.lang.invoke.MethodHandles
|
||||
import java.lang.invoke.MethodType
|
||||
|
||||
open class LazyInstance<T>(private val className: String, private val classLoader: ClassLoader) {
|
||||
val instance: T by lazy {
|
||||
open val instance: T by lazy {
|
||||
val aClass = classLoader.loadClass(className)
|
||||
val lookup = MethodHandles.privateLookupIn(aClass, MethodHandles.lookup())
|
||||
val instance = lookup.findConstructor(aClass, MethodType.methodType(Void.TYPE)).invoke()
|
||||
|
@ -11,4 +11,10 @@ package com.maddyhome.idea.vim.vimscript.model.functions
|
||||
import com.intellij.vim.model.LazyInstance
|
||||
|
||||
public class LazyVimscriptFunction(public val name: String, className: String, classLoader: ClassLoader):
|
||||
LazyInstance<FunctionHandler>(className, classLoader)
|
||||
LazyInstance<FunctionHandler>(className, classLoader) {
|
||||
override val instance: FunctionHandler by lazy {
|
||||
val function = super.instance
|
||||
function.name = name
|
||||
function
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user