Skip to content
This repository has been archived by the owner on Jun 5, 2019. It is now read-only.

Fix #212 - Hovering over Vb globals crashes VS #552

Open
wants to merge 3 commits into
base: dev
Choose a base branch
from

Conversation

martincalsyn
Copy link
Contributor

This fixes Issue #212 where VS crashes when hovering over a global var in a vb module.

The fix here is to make sure that CorDebugClass responds correctly to calls to CorDebugClass.GetParameterizedType. Originally it should have returned E_NOTIMPL, but it returned OK and a null which is what causes the crash. This function is supposed to return full specified types derived from generic classes and wasn't implemented because netmf doesn't do generics, but it also gets called for classes with no specialization types when trying to create a type enclosure for Vb globals.

Now, with this change, it returns a properly specialized type definition. The constructor had to be specialized to accommodate the fact debugger values known the appdomain, and type specializations need an assembly and type domain.

smaillet-ms and others added 3 commits October 20, 2015 16:41
This fixes Issue NETMF#212 where VS crashes when hovering over a global var in a vb module.

The fix here is to make sure that CorDebugClass
 responds correctly to calls to
CorDebugClass.GetParameterizedType. Originally it
should have returned E_NOTIMPL, but it returned OK
and a null which is what causes the crash. This
function is supposed to return full specified types
derived from generic classes and wasn't implemented
because netmf doesn't do generics, but it also gets
called for classes with no specialization types when
trying to create a type enclosure for Vb globals.

Now, with this change, it returns a properly
specialized type definition. The constructor had to be
specialized to accommodate the fact debugger values
known the appdomain, and type specializations need
an assembly and type domain.
@@ -122,7 +122,7 @@ public uint TypeDef_Index
int ICorDebugClass2.GetParameterizedType( CorElementType elementType, uint nTypeArgs, ICorDebugType []ppTypeArgs, out ICorDebugType ppType )
{
// CorDebugClass.GetParameterizedType is not implemented
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically, I guess this comment isn't true anymore. It is implemented, but only works for non-generic types (which is the only kind of type that ever gets requested)

josesimoes added a commit to Eclo/nf-Visual-Studio-extension that referenced this pull request Sep 21, 2018
- Add proper implementation for GetStaticFieldValue and GetParameterizedType
(from NETMF/netmf-interpreter#552)
- Tidy code

Signed-off-by: José Simões <[email protected]>
josesimoes added a commit to Eclo/nf-Visual-Studio-extension that referenced this pull request Sep 21, 2018
- Add proper implementation for GetStaticFieldValue and GetParameterizedType
(from NETMF/netmf-interpreter#552)
- Tidy code

Signed-off-by: José Simões <[email protected]>
josesimoes added a commit to Eclo/nf-Visual-Studio-extension that referenced this pull request Sep 21, 2018
- Add proper implementation for GetStaticFieldValue and GetParameterizedType
(from NETMF/netmf-interpreter#552)
- Tidy code

Signed-off-by: José Simões <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants