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.