[Mono-bugs] [Bug 689493] New: ConsiderAddingInterfaceRule incorrectly matches together private nested interfaces with same signatures (also found another hidden bug)
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Apr 24 11:45:34 EDT 2011
https://bugzilla.novell.com/show_bug.cgi?id=689493
https://bugzilla.novell.com/show_bug.cgi?id=689493#c0
Summary: ConsiderAddingInterfaceRule incorrectly matches
together private nested interfaces with same
signatures (also found another hidden bug)
Classification: Mono
Product: Mono: Tools
Version: 2.10.x
Platform: 64bit
OS/Version: Windows 7
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Gendarme
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: ethan_j_brown at hotmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.29
(KHTML, like Gecko) Chrome/12.0.733.0 Safari/534.29
NOTE: There are two bugs here, but only one test case, as I didn't have time to
fully determine the root cause of the second and write a test for it (could be
in TypeRocks.cs).
See the test case provided here:
https://github.com/Iristyle/mono-tools/commit/cbb217b82f86b390c6f619c07b5085684835de7f
The code as written will demonstrate the incorrect matching of private
interfaces.
There is another bug in the code, where if those interfaces coincidentally
happened to be the same name (even though they're privately nested in different
types) then a naming match would be met incorrectly. Since this bug could
affect other scenarios, I documented how to trace through and see it in action
-- i.e. rename ILooksLikeNestedInterface to INestedInterface and watch the code
run at line 170 of ConsiderAddingInterfaceRule.cs. The code determines the
interfaces are the same interface based on name, but this is not correct.
Reproducible: Always
Steps to Reproduce:
1.Run pushed up test code
2.
3.
Actual Results:
Failure
Expected Results:
Success
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list