{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/ConcordExtensibilitySamples/issues/31","repository_url":"https://api.github.com/repos/Microsoft/ConcordExtensibilitySamples","labels_url":"https://api.github.com/repos/Microsoft/ConcordExtensibilitySamples/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/ConcordExtensibilitySamples/issues/31/comments","events_url":"https://api.github.com/repos/Microsoft/ConcordExtensibilitySamples/issues/31/events","html_url":"https://github.com/Microsoft/ConcordExtensibilitySamples/issues/31","id":188554296,"number":31,"title":"Support for Tree like variables in IDkmClrExpressionCompiler.GetClrLocalVariableQuery","user":{"login":"onor13","id":19971537,"avatar_url":"https://avatars.githubusercontent.com/u/19971537?v=3","gravatar_id":"","url":"https://api.github.com/users/onor13","html_url":"https://github.com/onor13","followers_url":"https://api.github.com/users/onor13/followers","following_url":"https://api.github.com/users/onor13/following{/other_user}","gists_url":"https://api.github.com/users/onor13/gists{/gist_id}","starred_url":"https://api.github.com/users/onor13/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/onor13/subscriptions","organizations_url":"https://api.github.com/users/onor13/orgs","repos_url":"https://api.github.com/users/onor13/repos","events_url":"https://api.github.com/users/onor13/events{/privacy}","received_events_url":"https://api.github.com/users/onor13/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-11-10T16:28:09Z","updated_at":"2016-11-21T12:31:41Z","closed_at":null,"body":"Hello, the language I am trying to implement has a tree like structure variables, where only leaves has actual values, any other node value is the concatenation of his children (=sub nodes) and each leave may contain a different type of data. When composing the list of locals variables (type DkmClrLocalVariableInfo) in the IDkmClrExpressionCompiler.GetClrLocalVariableQuery, I got a dilemma with 2 possible choices:\r\n1)\tEach tree structure variable will be contained in 1 DkmClrLocalVariableInfo. In this case the tree like variables can be nicely displayed (by constructing a MSIL class for each tree like variable) but I didn’t find any way to obtain the Type information for each leaf in my IDkmClrFormatter.GetTypeName implementation. When displaying simple variable, the type information can be stored in DkmClrCustomTypeInfo class when building the DkmClrLocalVariableInfo and then retrieved from the parameters of the IDkmClrFormatter.GetTypeName function. With the tree structure variables, for each node we will pass by IDkmClrFormatter.GetTypeName function and only for the root node I can retrieve the DkmClrCustomTypeInfo, for all the sub nodes of this tree the value will be null. Well, even if it was not null it would not help because the order in which nodes are visited is unpredictable, so no way to store the information for all the nodes in one instance of the DkmClrCustomTypeInfo.\r\n![vars](https://cloud.githubusercontent.com/assets/19971537/20184226/3b83dc76-a768-11e6-8195-398f055fe9ea.JPG)\r\n2)\tThe second possibility: for each leave or node of the tree like variable create a different DkmClrLocalVariableInfo, so we have 1 to 1 relation between DkmClrLocalVariableInfo and IDkmClrFormatter. But in the case I lose the tree structure representation.\r\n\r\nAlso, due to the complexity of data types there is no way create 1 to 1 relation between my custom language and MSIL, which of course would have solved the problem.\r\n\r\nAny suggestions? Maybe instead of IDkmClrFormatter there is a different interface that I can implement that offers more flexibility?\r\n\r\nThank you in advance, Vladimir\r\n"},"comment":{"url":"https://api.github.com/repos/Microsoft/ConcordExtensibilitySamples/issues/comments/261924611","html_url":"https://github.com/Microsoft/ConcordExtensibilitySamples/issues/31#issuecomment-261924611","issue_url":"https://api.github.com/repos/Microsoft/ConcordExtensibilitySamples/issues/31","id":261924611,"user":{"login":"onor13","id":19971537,"avatar_url":"https://avatars.githubusercontent.com/u/19971537?v=3","gravatar_id":"","url":"https://api.github.com/users/onor13","html_url":"https://github.com/onor13","followers_url":"https://api.github.com/users/onor13/followers","following_url":"https://api.github.com/users/onor13/following{/other_user}","gists_url":"https://api.github.com/users/onor13/gists{/gist_id}","starred_url":"https://api.github.com/users/onor13/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/onor13/subscriptions","organizations_url":"https://api.github.com/users/onor13/orgs","repos_url":"https://api.github.com/users/onor13/repos","events_url":"https://api.github.com/users/onor13/events{/privacy}","received_events_url":"https://api.github.com/users/onor13/received_events","type":"User","site_admin":false},"created_at":"2016-11-21T12:31:41Z","updated_at":"2016-11-21T12:31:41Z","body":"Hello, I tried to add the support for IDkmClrResultProvider, but I am having trouble with the registration of this component. Actually, lately I am having trouble with the registration of others components too. For example I moved my implementation of IDkmClrFormatter to another folder (and updating .vsdconfig) and IDkmClrFormatter is not recognized correctly anymore. I tried to move it back, still doesn't work. \r\nThe error isn't very clrear, it just says: \"Internal error retrieving local value.\" for each local variable.\r\nAnd yes, I checked the Path in the Class Name like 10 times to be sure, it's not it.\r\nMaybe Visual Studio keeps some old info in the cache somewhere? Is there a way to reset it?\r\nI am testing with Visual Studio 14 Experimental instance, I did reset the configuration with `CreateExpInstance.exe /Reset /VSInstance=14.0 /RootSuffix=Exp` but it did not help.\r\nVladimir."}}
{"actor":{"display_login":"onor13"}}