EmmyLua / IntelliJ-EmmyLua

Lua IDE/Debugger Plugin for IntelliJ IDEA
https://emmylua.github.io
Apache License 2.0
1.74k stars 292 forks source link

var模板报错-2 #524

Open sxd1140 opened 1 year ago

sxd1140 commented 1 year ago

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?(重现步骤?)

  1. 新建一个lua文件
  2. 输入xxx.lua
  3. 按tab 效果正确 image

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) ```

Any other comments?(其它说明)