Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Go To Definition does not work correctly with delegate and operator #36377

Open
vsfeedback opened this issue Jun 12, 2019 · 4 comments
Open

Go To Definition does not work correctly with delegate and operator #36377

vsfeedback opened this issue Jun 12, 2019 · 4 comments
Assignees
Labels
Area-Compilers Area-IDE Bug Developer Community The issue was originally reported on https://developercommunity.visualstudio.com IDE-Navigation Navigation and search
Milestone

Comments

@vsfeedback
Copy link

VSF_TYPE_MARKDOWNVS2019 goes to the operator definition when I perform "Go to Defenition" on "Foo.Test", but I expect it to show me the method "Test"

public sealed class Foo
    {
        public delegate int IntDelegate();

public static int Test()
        {
            return 1;
        }

public static void Bar1()
        {
            Console.WriteLine((Foo)Foo.Test);
        }

public static explicit operator Foo(IntDelegate intDelegate)
        {
            return new Foo();
        }
    }

This issue has been moved from https://developercommunity.visualstudio.com/content/problem/587895/go-to-definition-does-not-work-correctly-with-dele.html
VSTS ticketId: 901152

These are the original issue comments:

Visual Studio Feedback System on 5/29/2019, 11:39 PM (13 days ago):

We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

These are the original issue solutions:
(no solutions)

@vatsalyaagrawal vatsalyaagrawal added this to the 16.3 milestone Jun 13, 2019
@vatsalyaagrawal vatsalyaagrawal added the help wanted The issue is "up for grabs" - add a comment if you are interested in working on it label Jun 13, 2019
@vatsalyaagrawal vatsalyaagrawal added this to InQueue in Small Fixes via automation Jun 13, 2019
@jinujoseph jinujoseph modified the milestones: 16.3, Backlog Aug 9, 2019
@sharwell sharwell added the Developer Community The issue was originally reported on https://developercommunity.visualstudio.com label Nov 21, 2019
@CyrusNajmabadi
Copy link
Member

@jcouv The above crashes for me in Debug VS. I'm using:

image

Crash is in this stack:

>	Microsoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetMethodGroupSemanticSymbols(Microsoft.CodeAnalysis.CSharp.BoundMethodGroup boundNode, Microsoft.CodeAnalysis.CSharp.BoundNode boundNodeForSyntacticParent, Microsoft.CodeAnalysis.CSharp.Binder binderOpt, out Microsoft.CodeAnalysis.CSharp.LookupResultKind resultKind, out bool isDynamic, out System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Symbol> methodGroup) Line 4290	C#
 	Microsoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetSemanticSymbols(Microsoft.CodeAnalysis.CSharp.BoundExpression boundNode, Microsoft.CodeAnalysis.CSharp.BoundNode boundNodeForSyntacticParent, Microsoft.CodeAnalysis.CSharp.Binder binderOpt, Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.SymbolInfoOptions options, out bool isDynamic, out Microsoft.CodeAnalysis.CSharp.LookupResultKind resultKind, out System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Symbol> memberGroup) Line 3356	C#
 	Microsoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetSymbolInfoForNode(Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.SymbolInfoOptions options, Microsoft.CodeAnalysis.CSharp.BoundNode lowestBoundNode, Microsoft.CodeAnalysis.CSharp.BoundNode highestBoundNode, Microsoft.CodeAnalysis.CSharp.BoundNode boundNodeForSyntacticParent, Microsoft.CodeAnalysis.CSharp.Binder binderOpt) Line 1926	C#
 	Microsoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetSymbolInfoWorker(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode node, Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.SymbolInfoOptions options, System.Threading.CancellationToken cancellationToken) Line 1209	C#
 	Microsoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel.GetSymbolInfoWorker(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode node, Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.SymbolInfoOptions options, System.Threading.CancellationToken cancellationToken) Line 215	C#
 	Microsoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetAliasInfo(Microsoft.CodeAnalysis.CSharp.Syntax.IdentifierNameSyntax nameSyntax, System.Threading.CancellationToken cancellationToken) Line 1177	C#
 	Microsoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetAliasInfoCore(Microsoft.CodeAnalysis.SyntaxNode node, System.Threading.CancellationToken cancellationToken) Line 5048	C#
 	Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.SemanticModel.GetAliasInfo(Microsoft.CodeAnalysis.SyntaxNode nameSyntax, System.Threading.CancellationToken cancellationToken) Line 224	C#
 	Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.ModelExtensions.GetAliasInfo(Microsoft.CodeAnalysis.SemanticModel semanticModel, Microsoft.CodeAnalysis.SyntaxNode nameSyntax, System.Threading.CancellationToken cancellationToken) Line 70	C#
 	Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.Shared.Extensions.SemanticModelExtensions.GetSemanticInfo(Microsoft.CodeAnalysis.SemanticModel semanticModel, Microsoft.CodeAnalysis.SyntaxToken token, Microsoft.CodeAnalysis.Host.SolutionServices services, System.Threading.CancellationToken cancellationToken) Line 130	C#
 	Microsoft.CodeAnalysis.Features.dll!Microsoft.CodeAnalysis.QuickInfo.CommonSemanticQuickInfoProvider.GetSymbolsFromToken(Microsoft.CodeAnalysis.SyntaxToken token, Microsoft.CodeAnalysis.Host.SolutionServices services, Microsoft.CodeAnalysis.SemanticModel semanticModel, System.Threading.CancellationToken cancellationToken) Line 254	C#

This is the assert that is failing:

image

Conversion.ConversionKind is ExplicitUserDefined.

Can you ptal?

@jcouv jcouv modified the milestones: Backlog, 17.5 Oct 26, 2022
@jcouv
Copy link
Member

jcouv commented Oct 26, 2022

Thanks for the info. Looking

@jcouv jcouv added this to Active/Investigating in Compiler: Julien's umbrellas Oct 26, 2022
@jaredpar jaredpar modified the milestones: 17.5, Backlog Jan 5, 2023
@CyrusNajmabadi
Copy link
Member

@jcouv Still crashing the compiler. @jaredpar i'm reactivating as this breaks IDE featuers and yellow-bars VS :)

@CyrusNajmabadi CyrusNajmabadi modified the milestones: Backlog, 17.6 Feb 1, 2023
@jcouv jcouv removed the help wanted The issue is "up for grabs" - add a comment if you are interested in working on it label Feb 1, 2023
@CyrusNajmabadi
Copy link
Member

This still crashes. That seems bad, given the simplicity of the code :)

@jcouv jcouv modified the milestones: 17.6, 17.7 Mar 13, 2023
@jaredpar jaredpar modified the milestones: 17.7, Backlog Jul 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Compilers Area-IDE Bug Developer Community The issue was originally reported on https://developercommunity.visualstudio.com IDE-Navigation Navigation and search
Projects
Compiler: Julien's umbrellas
Active/Investigating
Small Fixes
  
InQueue
Development

No branches or pull requests

7 participants