Skip to content

StackOverflow #1902

Closed
Closed
@dlsniper

Description

@dlsniper

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions