XSharpPublic icon indicating copy to clipboard operation
XSharpPublic copied to clipboard

Intellisense issues with generics

Open cpyrgas opened this issue 1 year ago • 0 comments

See below for some issues of intellisense with generics in the VS editor. I know some of those are not working in the new XIDE with Mono.Cecil either, I was getting close to fix them, but then summer stroke back with force again...

USING System.Collections.Generic

FUNCTION Start() AS VOID STRICT
    LOCAL l AS List<INT>
    l:Add() // parameter list shows "item AS T"
    l:Sort() // parameter types are shown as "System.Comparison`1", "System.Collections.Generic.IComparer`1" etc
    l[0]: // member completion shows members of the List type (instead of INT)
    
    LOCAL d AS Dictionary<TestClass, TestClass>
    d:Add() // parameter list shows "key AS TKey, @@value AS TValue". Sometimes it shows that same text doubled, only the second time there's an extra space between "AS" and "TValue"
    d:Keys: // no member list
    d:Values: // no member list
    
    LOCAL dd AS Dictionary<INT, STRING>
    dd:Add() // parameter list shows TKey, TValue
    dd:Keys: // no member list
    dd:Values: // no member list
    dd[123]: // member completion shows members of the Dictionary type (instead of STRING)
    
    TestFunction(): // no member list
    
    TestClass.GetList():Add() // parameter list shows "item AS T". Sometimes it shows both "item AS T" and "item AS INT"
    
    LOCAL nested AS List< Dictionary<INT,STRING> >
    nested: // no member completion
    nested[123]: // no member completion
    
    
FUNCTION TestFunction() AS Dictionary<INT, STRING>
RETURN NULL
    
CLASS TestClass
    STATIC METHOD GetList() AS List<INT>
    RETURN NULL
END CLASS

cpyrgas avatar Aug 28 '24 17:08 cpyrgas