You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
If an interface is defined in tB with a member that is project-qualified (e.g. Sub MySub(ByVal myVar As MyProject.MyOtherInterface), and you then in a class add Implements MyInterface, then select MyInterface from the dropdown, tB will automatically create a prototype incorrectly: Private Sub MyInterface_MySub(ByVal myVar As MyProject) Implements MyInterface.MySub
This is further broken in that it's not recognized as the implementation until you qualify Implements MyProject.MyInterface.MySub.
After you fix the first member, the same problems arise on subsequent members you select to insert auto-generated prototypes.
To Reproduce
Define MyInterface and MyOtherInterface
Add member MySub to MyInterface with a variable qualified as MyProject.MyOtherInterface (where MyProject is your project name).
In a class, add Implements MyProject.MyInterface
Select MyInterface from the middle dropdown menu.
Expected behavior
It should include the full type, i.e. MyProject.MyOtherInface, and when the interface itself is ambiguous the Implements MyInterface.MySub should be qualified as MyProject.MyInterface.MySub.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
OS: Windows 10
twinBASIC compiler version 0.15.100
Additional context
While the conflict with WinNativeForms is a bug that will be fixed, this situation could also presumably arise with user typelibs containing the same interface.
This also generated numerous [LINKER] compilation (codegen) error detected in '.' at line #??? errors while working on creating and correcting the definitions.
The text was updated successfully, but these errors were encountered:
Describe the bug
If an interface is defined in tB with a member that is project-qualified (e.g.
Sub MySub(ByVal myVar As MyProject.MyOtherInterface
), and you then in a class addImplements MyInterface
, then selectMyInterface
from the dropdown, tB will automatically create a prototype incorrectly:Private Sub MyInterface_MySub(ByVal myVar As MyProject) Implements MyInterface.MySub
This is further broken in that it's not recognized as the implementation until you qualify
Implements MyProject.MyInterface.MySub
.After you fix the first member, the same problems arise on subsequent members you select to insert auto-generated prototypes.
To Reproduce
MySub
to MyInterface with a variable qualified as MyProject.MyOtherInterface (where MyProject is your project name).Implements MyProject.MyInterface
MyInterface
from the middle dropdown menu.Expected behavior
It should include the full type, i.e.
MyProject.MyOtherInface
, and when the interface itself is ambiguous theImplements MyInterface.MySub
should be qualified asMyProject.MyInterface.MySub
.Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
While the conflict with WinNativeForms is a bug that will be fixed, this situation could also presumably arise with user typelibs containing the same interface.
This also generated numerous
[LINKER] compilation (codegen) error detected in '.' at line #???
errors while working on creating and correcting the definitions.The text was updated successfully, but these errors were encountered: