var模板报错-2
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Riproduci l’azione di template postfix segnalata in un file Lua, quindi parti da LuaLocalPostfixTemplate.java e LuaIntroduceVarHandler.kt nello stack trace. Segui il percorso segnalato attraverso LuaPsiFile.kt e le voci di inferenza dei tipi per identificare il motivo per cui si verifica l’errore; il lavoro è completato quando gli stessi passaggi non producono più l’errore segnalato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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?(其它说明)
------------------------
无
- Lingua principale
- Kotlin
- Stelle
- 1.8k
- Fork
- 337
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di EmmyLua/IntelliJ-EmmyLua
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
EmmyLua/IntelliJ-EmmyLua#624 · 7 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 40/100
EmmyLua/IntelliJ-EmmyLua#622 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
EmmyLua/IntelliJ-EmmyLua#615 · 1 commento · 2 reazioni ·
-
是否有考虑添加lua5.5的支持?Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
EmmyLua/IntelliJ-EmmyLua#614 · 3 commenti ·
-
编译253报错Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
EmmyLua/IntelliJ-EmmyLua#613 ·
Tutte le issue di EmmyLua/IntelliJ-EmmyLua
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
getdictus/dictus-android#187 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation follow-up
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
follow-up
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
yschimke/meshcore-mobile#586 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Kotlin/kotlinx-io#529 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
mcnaveen/health-connect-webhook#110 ·
I maintainer di solito rispondono entro 1 giorno