var模板报错-2
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Reproduce la acción de plantilla postfix reportada en un archivo Lua y, a continuación, empieza por LuaLocalPostfixTemplate.java y LuaIntroduceVarHandler.kt en el stack trace. Sigue la ruta reportada a través de LuaPsiFile.kt y las entradas de inferencia de tipos para identificar por qué se produce el error; se considera terminado cuando los mismos pasos ya no producen el error reportado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Environment(环境)
| name | version |
|---|---|
| IDEA version | IU-223.8214.52 |
| EmmyLua version | 1.3.8-IDEA223 |
| OS | Windows 10 |
What are the steps to reproduce this issue?(重现步骤?)
- 新建一个lua文件
- 输入xxx.lua
- 按tab 效果正确

What happens?(出现什么问题?)
报错
What were you expecting to happen?(期望?)
不报错
Any logs, error output, etc?(有没有什么log, error输出?)
展开
```java java.lang.Throwable: local var = xxx parent=local var = xxx at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202) at com.intellij.psi.impl.PsiElementBase.notNullChild(PsiElementBase.java:284) at com.tang.intellij.lua.psi.impl.LuaExprStatImpl.getExpr(LuaExprStatImpl.java:42) at com.tang.intellij.lua.psi.LuaPsiFile.findModuleName(LuaPsiFile.kt:98) at com.tang.intellij.lua.psi.LuaPsiFile.findCachedModuleName$lambda$0(LuaPsiFile.kt:81) at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:158) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:39) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$3(CachedValueBase.java:231) at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:41) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:231) at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:112) at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42) at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:232) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:28) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:72) at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:155) at com.tang.intellij.lua.psi.LuaPsiFile.findCachedModuleName(LuaPsiFile.kt:80) at com.tang.intellij.lua.psi.LuaPsiFile.getModuleName(LuaPsiFile.kt:71) at com.tang.intellij.lua.psi.LuaPsiElementKt.getModuleName(LuaPsiElement.kt:33) at com.tang.intellij.lua.psi.LuaPsiResolveUtilKt.multiResolve(LuaPsiResolveUtil.kt:113) at com.tang.intellij.lua.ty.ExpressionsKt$infer$set$1$1.invoke(Expressions.kt:222) at com.tang.intellij.lua.ty.ExpressionsKt$infer$set$1$1.invoke(Expressions.kt:221) at com.tang.intellij.lua.search.SearchContext.withRecursionGuard(SearchContext.kt:164) at com.tang.intellij.lua.ty.ExpressionsKt.infer$lambda$5(Expressions.kt:221) at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:112) at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42) at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66) at com.tang.intellij.lua.ext.UtilsKt.recursionGuard(utils.kt:23) at com.tang.intellij.lua.ext.UtilsKt.recursionGuard$default(utils.kt:22) at com.tang.intellij.lua.ty.ExpressionsKt.infer(Expressions.kt:218) at com.tang.intellij.lua.ty.ExpressionsKt.inferExprInner(Expressions.kt:54) at com.tang.intellij.lua.ty.ExpressionsKt.inferExpr(Expressions.kt:43) at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:41) at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25) at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:33) at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:175) at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:35) at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:58) at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:58) at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:63) at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:58) at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29) at com.tang.intellij.lua.psi.LuaPsiImplUtilKt$guessTypeAt$1.invoke(LuaPsiImplUtil.kt:255) at com.tang.intellij.lua.psi.LuaPsiImplUtilKt$guessTypeAt$1.invoke(LuaPsiImplUtil.kt:255) at com.tang.intellij.lua.search.SearchContext.withIndex(SearchContext.kt:126) at com.tang.intellij.lua.psi.LuaPsiImplUtilKt.guessTypeAt(LuaPsiImplUtil.kt:255) at com.tang.intellij.lua.psi.impl.LuaExprListImpl.guessTypeAt(LuaExprListImpl.java:51) at com.tang.intellij.lua.ty.DeclarationsKt$infer$1.invoke(Declarations.kt:138) at com.tang.intellij.lua.ty.DeclarationsKt$infer$1.invoke(Declarations.kt:137) at com.tang.intellij.lua.search.SearchContext.withIndex(SearchContext.kt:126) at com.tang.intellij.lua.ty.DeclarationsKt.infer(Declarations.kt:137) at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:43) at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25) at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:33) at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:175) at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:35) at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:58) at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:58) at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:70) at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:58) at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29) at com.tang.intellij.lua.editor.LuaNameSuggestionProvider.getSuggestedNames(LuaNameSuggestionProvider.kt:113) at com.intellij.refactoring.rename.NameSuggestionProvider.suggestNames(NameSuggestionProvider.java:35) at com.intellij.refactoring.rename.inplace.MyLookupExpression.lambda$initLookupItems$0(MyLookupExpression.java:57) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:860) at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$underModalProgress$1(ActionUtil.java:241) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:772) at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$underModalProgress$2(ActionUtil.java:242) at com.intellij.openapi.progress.impl.CoreProgressManager$1.run(CoreProgressManager.java:254) at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:423) at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressSynchronously$9(CoreProgressManager.java:507) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:589) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:664) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:620) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:588) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175) at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:377) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:518) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:85) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:250) at com.intellij.openapi.actionSystem.ex.ActionUtil.underModalProgress(ActionUtil.java:246) at com.intellij.refactoring.rename.inplace.MyLookupExpression.initLookupItems(MyLookupExpression.java:56) at com.intellij.refactoring.rename.inplace.MyLookupExpression.(MyLookupExpression.java:45) at com.intellij.refactoring.introduce.inplace.InplaceVariableIntroducer$MyIntroduceLookupExpression.(InplaceVariableIntroducer.java:165) at com.intellij.refactoring.introduce.inplace.InplaceVariableIntroducer.createLookupExpression(InplaceVariableIntroducer.java:154) at com.intellij.refactoring.rename.inplace.InplaceRefactoring.createTemplateExpression(InplaceRefactoring.java:280) at com.intellij.refactoring.rename.inplace.InplaceRefactoring.addVariable(InplaceRefactoring.java:796) at com.intellij.refactoring.rename.inplace.InplaceRefactoring.addVariable(InplaceRefactoring.java:788) at com.intellij.refactoring.rename.inplace.InplaceRefactoring.buildTemplateAndStart(InplaceRefactoring.java:333) at com.intellij.refactoring.rename.inplace.InplaceRefactoring.performInplaceRefactoring(InplaceRefactoring.java:221) at com.tang.intellij.lua.refactoring.rename.LuaIntroduceVarHandler.performInplaceIntroduce(LuaIntroduceVarHandler.kt:140) at com.tang.intellij.lua.refactoring.rename.LuaIntroduceVarHandler.access$performInplaceIntroduce(LuaIntroduceVarHandler.kt:39) at com.tang.intellij.lua.refactoring.rename.LuaIntroduceVarHandler$invoke$1.pass(LuaIntroduceVarHandler.kt:70) at com.tang.intellij.lua.refactoring.rename.LuaIntroduceVarHandler$invoke$1.pass(LuaIntroduceVarHandler.kt:66) at com.intellij.refactoring.introduce.inplace.OccurrencesChooser.showChooser(OccurrencesChooser.java:79) at com.tang.intellij.lua.refactoring.rename.LuaIntroduceVarHandler.invoke(LuaIntroduceVarHandler.kt:66) at com.tang.intellij.lua.codeInsight.postfix.templates.LuaLocalPostfixTemplate.expandForChooseExpression(LuaLocalPostfixTemplate.java:41) at com.intellij.codeInsight.template.postfix.templates.PostfixTemplateWithExpressionSelector.lambda$prepareAndExpandForChooseExpression$0(PostfixTemplateWithExpressionSelector.java:108) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:210) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:164) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:150) at com.intellij.codeInsight.template.postfix.templates.PostfixTemplateWithExpressionSelector.lambda$prepareAndExpandForChooseExpression$1(PostfixTemplateWithExpressionSelector.java:108) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:955) at com.intellij.codeInsight.template.postfix.templates.PostfixTemplateWithExpressionSelector.prepareAndExpandForChooseExpression(PostfixTemplateWithExpressionSelector.java:107) at com.intellij.codeInsight.template.postfix.templates.PostfixTemplateWithExpressionSelector.expand(PostfixTemplateWithExpressionSelector.java:82) at com.intellij.codeInsight.template.postfix.templates.PostfixLiveTemplate.expandTemplate(PostfixLiveTemplate.java:248) at com.intellij.codeInsight.template.postfix.templates.PostfixLiveTemplate.expandTemplate(PostfixLiveTemplate.java:149) at com.intellij.codeInsight.template.postfix.templates.PostfixLiveTemplate.expand(PostfixLiveTemplate.java:124) at com.intellij.codeInsight.template.impl.TemplateManagerImpl.lambda$prepareTemplate$3(TemplateManagerImpl.java:257) at com.intellij.codeInsight.template.impl.TemplateManagerImpl.startTemplate(TemplateManagerImpl.java:116) at com.intellij.codeInsight.template.impl.editorActions.ExpandLiveTemplateCustomAction$1.executeWriteAction(ExpandLiveTemplateCustomAction.java:41) at com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler$1.run(EditorWriteActionHandler.java:56) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:955) at com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler.doExecute(EditorWriteActionHandler.java:70) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$2(EditorActionHandler.java:192) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.doIfEnabled(EditorActionHandler.java:89) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$3(EditorActionHandler.java:191) at com.intellij.openapi.editor.impl.CaretModelImpl.lambda$runForEachCaret$3(CaretModelImpl.java:310) at com.intellij.openapi.editor.impl.CaretModelImpl.doWithCaretMerging(CaretModelImpl.java:419) at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:319) at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:296) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.execute(EditorActionHandler.java:189) at com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction$Handler.doExecute(ChooseItemAction.java:53) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$4(EditorActionHandler.java:199) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.doIfEnabled(EditorActionHandler.java:89) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.execute(EditorActionHandler.java:198) at com.intellij.codeInsight.hint.NextParameterAfterCompletionHandler.doExecute(NextParameterAfterCompletionHandler.java:41) at com.intellij.openapi.editor.actionSystem.DynamicEditorActionHandler.doExecute(DynamicEditorActionHandler.java:63) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$4(EditorActionHandler.java:199) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.doIfEnabled(EditorActionHandler.java:89) at com.intellij.openapi.editor.actionSystem.EditorActionHandler.execute(EditorActionHandler.java:198) at com.intellij.openapi.editor.actionSystem.EditorAction.lambda$actionPerformed$0(EditorAction.java:93) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:219) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174) at com.intellij.openapi.editor.actionSystem.EditorAction.actionPerformed(EditorAction.java:102) at com.intellij.openapi.editor.actionSystem.EditorAction.actionPerformed(EditorAction.java:77) at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:323) at com.intellij.openapi.keymap.impl.ActionProcessor.performAction(ActionProcessor.java:47) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:584) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$9(IdeKeyEventDispatcher.java:706) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$10(IdeKeyEventDispatcher.java:706) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:346) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.doPerformActionInner(IdeKeyEventDispatcher.java:703) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:647) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:595) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:478) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:467) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:225) at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:815) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:750) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:772) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:813) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
</p>
</details>
Any other comments?(其它说明)
------------------------
无
- Lenguaje dominante
- Kotlin
- Estrellas
- 1.8k
- Forks
- 339
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de EmmyLua/IntelliJ-EmmyLua
-
not compatible with clion 2026.2Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
EmmyLua/IntelliJ-EmmyLua#624 · 7 comentarios ·
-
incompatible with pycharm 2026.2Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 40/100
EmmyLua/IntelliJ-EmmyLua#622 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
EmmyLua/IntelliJ-EmmyLua#615 · 1 comentario · 2 reacciones ·
-
是否有考虑添加lua5.5的支持?Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
EmmyLua/IntelliJ-EmmyLua#614 · 3 comentarios ·
-
编译253报错Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
EmmyLua/IntelliJ-EmmyLua#613 ·
Todos los issues de EmmyLua/IntelliJ-EmmyLua
Issues similares
-
Android: keyboard height remains stale when IME disappears without a closing animationPosiblemente ocupada @jaxnnux la tomó hoy. AbiertoMissing info Missing repro Platform: Android
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
software-mansion/react-native-reanimated#11106 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
software-mansion/enriched-markdown#1118 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
ScreenOrientationInstrumentation.uninstall() does not clear detector reference and lacks idempotent safe no-op handlingPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
open-telemetry/opentelemetry-android#2170 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
intellij-elixir/intellij-elixir#4585 ·
Los mantenedores suelen responder en 1 día