-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Description
対象コード
class Counter:
field:
factor count: number
init:
resolve count := 0
function increment():
notify that set count of [this] to count of [this] + 1
command /counter_class:
trigger:
immutable start := now
immutable counter := create Counter
immutable loopTimes := 1000000
loop [loopTimes] times:
[counter] -> increment()
immutable diff := difference between now and [start]
send "execute %[loopTimes]% times: %[diff]%"
エラー
[18:20:35 ERROR]: #!#! java.lang.NoSuchMethodException: no such method: com.github.tanokun.reactivesk.dynamic.Counter.rSk$internal$setCount(Long,boolean)void/invokeVirtual
[18:20:35 ERROR]: #!#! at java.lang.invoke.MemberName.makeAccessException(MemberName.java:871)
[18:20:35 ERROR]: #!#! at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1003)
[18:20:35 ERROR]: #!#! at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1386)
[18:20:35 ERROR]: #!#! at java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:861)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.v263.skript.runtime.instantiation.ResolveFieldValueEffect.init(ResolveFieldValueEffect.kt:114)
[18:20:35 ERROR]: #!#! at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:255)
[18:20:35 ERROR]: #!#! at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:177)
[18:20:35 ERROR]: #!#! at ch.njol.skript.lang.Statement.parse(Statement.java:60)
[18:20:35 ERROR]: #!#! at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:1114)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.v263.skript.SkriptNodeAdapterV263.loadFromSectionNode(SkriptNodeAdapterV263.kt:10)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.v263.skript.SkriptNodeAdapterV263.loadFromSectionNode(SkriptNodeAdapterV263.kt:8)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.skriptadapter.common.analyze.ast.SkriptAstBuilder.buildFromSectionNode(SkriptAstBuilder.kt:32)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.v263.skript.resolve.clazz.ConstructorInjectorSection.init(ConstructorInjectorSection.kt:71)
...
[18:20:35 ERROR]: #!#! Caused by: java.lang.NoSuchFieldError: method resolution failed
[18:20:35 ERROR]: #!#! at java.lang.invoke.MethodHandleNatives.resolve(Native Method)
[18:20:35 ERROR]: #!#! at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:975)
[18:20:35 ERROR]: #!#! at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1000)
[18:20:35 ERROR]: #!#! at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1386)
[18:20:35 ERROR]: #!#! at java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:861)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.v263.skript.runtime.instantiation.ResolveFieldValueEffect.init(ResolveFieldValueEffect.kt:114)
[18:20:35 ERROR]: #!#! at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:255)
[18:20:35 ERROR]: #!#! at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:177)
[18:20:35 ERROR]: #!#! at ch.njol.skript.lang.Statement.parse(Statement.java:60)
[18:20:35 ERROR]: #!#! at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:1114)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.v263.skript.SkriptNodeAdapterV263.loadFromSectionNode(SkriptNodeAdapterV263.kt:10)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.v263.skript.SkriptNodeAdapterV263.loadFromSectionNode(SkriptNodeAdapterV263.kt:8)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.skriptadapter.common.analyze.ast.SkriptAstBuilder.buildFromSectionNode(SkriptAstBuilder.kt:32)
[18:20:35 ERROR]: #!#! at com.github.tanokun.reactivesk.v263.skript.resolve.clazz.ConstructorInjectorSection.init(ConstructorInjectorSection.kt:71)
...
理由
MethodHandle の解決時は厳密な方が必要だが、継承関係にあると厳密ではなくなってしまい method resolution failed する。
Metadata
Metadata
Assignees
Labels
No labels