- Notifications
You must be signed in to change notification settings - Fork 567
Closed
Description
On the following example:
package cmd import "github.com/dlsniper/u/demo/so" var ( so = &so )
Typing .
(dot) after the &so
will result in nothing will happen. continuing to type the full so = &so.Demo{}
and then hitting backspace
a few times (2-3 should be enough) will then produce a log entry in idea.log
with which looks like this: http://pastebin.com/XKis0kQZ
The example code can be found here: https://github.com/dlsniper/u/blob/49610e043cf78aa016fb9429aaf9e29ba894f6f5/demo/so/cmd/cmd.go#L6
Part of the stacktrace:
at com.goide.psi.impl.GoReference.multiResolve(GoReference.java:104) at com.intellij.psi.PsiPolyVariantReferenceBase.resolve(PsiPolyVariantReferenceBase.java:46) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:364) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:356) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:318) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.findTypeInVarSpec(GoPsiImplUtil.java:604) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:559) at com.goide.psi.impl.GoVarDefinitionImpl.getGoTypeInner(GoVarDefinitionImpl.java:40) at com.goide.psi.impl.GoNamedElementImpl.getGoType(GoNamedElementImpl.java:114) at com.goide.psi.impl.GoPsiImplUtil.typeOrParameterType(GoPsiImplUtil.java:441) at com.goide.psi.impl.GoReference.processQualifierExpression(GoReference.java:133) at com.goide.psi.impl.GoReference.processResolveVariants(GoReference.java:118) at com.goide.psi.impl.GoReference.resolveInner(GoReference.java:69) at com.goide.psi.impl.GoReference.access$000(GoReference.java:46) at com.goide.psi.impl.GoReference$1.resolve(GoReference.java:58) at com.goide.psi.impl.GoReference$1.resolve(GoReference.java:54) at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:139) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:167) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:159) at com.goide.psi.impl.GoReference.multiResolve(GoReference.java:104) at com.intellij.psi.PsiPolyVariantReferenceBase.resolve(PsiPolyVariantReferenceBase.java:46) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:364) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:356) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:318) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.findTypeInVarSpec(GoPsiImplUtil.java:604) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:559) at com.goide.psi.impl.GoVarDefinitionImpl.getGoTypeInner(GoVarDefinitionImpl.java:40) at com.goide.psi.impl.GoNamedElementImpl.getGoType(GoNamedElementImpl.java:114) at com.goide.psi.impl.GoPsiImplUtil.typeOrParameterType(GoPsiImplUtil.java:441) at com.goide.psi.impl.GoReference.processQualifierExpression(GoReference.java:133) at com.goide.psi.impl.GoReference.processResolveVariants(GoReference.java:118) at com.goide.psi.impl.GoReference.resolveInner(GoReference.java:69) at com.goide.psi.impl.GoReference.access$000(GoReference.java:46) at com.goide.psi.impl.GoReference$1.resolve(GoReference.java:58) at com.goide.psi.impl.GoReference$1.resolve(GoReference.java:54) at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:139) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:167) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:159) at com.goide.psi.impl.GoReference.multiResolve(GoReference.java:104) at com.intellij.psi.PsiPolyVariantReferenceBase.resolve(PsiPolyVariantReferenceBase.java:46) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:364) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:356) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:318) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.findTypeInVarSpec(GoPsiImplUtil.java:604) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:559) at com.goide.psi.impl.GoVarDefinitionImpl.getGoTypeInner(GoVarDefinitionImpl.java:40) at com.goide.psi.impl.GoNamedElementImpl.getGoType(GoNamedElementImpl.java:114) at com.goide.psi.impl.GoPsiImplUtil.typeOrParameterType(GoPsiImplUtil.java:441) at com.goide.psi.impl.GoReference.processQualifierExpression(GoReference.java:133) at com.goide.psi.impl.GoReference.processResolveVariants(GoReference.java:118) at com.goide.psi.impl.GoReference.resolveInner(GoReference.java:69) at com.goide.psi.impl.GoReference.access$000(GoReference.java:46) at com.goide.psi.impl.GoReference$1.resolve(GoReference.java:58) at com.goide.psi.impl.GoReference$1.resolve(GoReference.java:54) at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:139) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:167) at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:159) at com.goide.psi.impl.GoReference.multiResolve(GoReference.java:104) at com.intellij.psi.PsiPolyVariantReferenceBase.resolve(PsiPolyVariantReferenceBase.java:46) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:364) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:356) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) at com.goide.psi.impl.GoPsiImplUtil.getGoTypeInner(GoPsiImplUtil.java:318) at com.goide.psi.impl.GoPsiImplUtil.getGoType(GoPsiImplUtil.java:303) at com.goide.psi.impl.GoExpressionImpl.getGoType(GoExpressionImpl.java:27) 2015-10-04 20:32:14,296 [ 146268] ERROR - aemon.impl.PassExecutorService - IntelliJ IDEA 14.1.5 Build #IU-141.2735.5 2015-10-04 20:32:14,296 [ 146268] ERROR - aemon.impl.PassExecutorService - JDK: 1.8.0_60 2015-10-04 20:32:14,296 [ 146268] ERROR - aemon.impl.PassExecutorService - VM: Java HotSpot(TM) 64-Bit Server VM 2015-10-04 20:32:14,296 [ 146268] ERROR - aemon.impl.PassExecutorService - Vendor: Oracle Corporation 2015-10-04 20:32:14,296 [ 146268] ERROR - aemon.impl.PassExecutorService - OS: Linux 2015-10-04 20:32:14,296 [ 146268] ERROR - aemon.impl.PassExecutorService - Last Action: EditorBackSpace
Plugin version 0.9.526
EDIT:
Aliasing the import will fix this and everything will work correctly afterwards.