Don't add HintedType instances to UnsureType if the target type exists

Authored by arichardson on Feb 11 2016, 4:36 PM.

Description

Don't add HintedType instances to UnsureType if the target type exists

But only do this if the HintedType also has the same context, otherwise
they might be invalidated at separate times and removing one of them
removes the still valid other HintedType.

If we don't deduplicate here we still get UnsureTypes which have lots
of entries like this:

found potential duplicates when adding N6Python10HintedTypeE int(index = 774764) ->

67278 - int of type N8KDevelop13StructureTypeE
102814 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
139700 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
140778 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
191576 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
206348 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
346692 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
351636 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
362174 (aka 351724: int of type N6Python10UnsureTypeE) - int of type N6Python10HintedTypeE
386886 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
408898 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
533652 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
540306 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
573586 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
614644 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
618548 (aka 66042: bool of type N8KDevelop12IntegralTypeE) - bool of type N6Python10HintedTypeE
648374 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
665250 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
709684 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
750432 (aka 67278: int of type N8KDevelop13StructureTypeE) - int of type N6Python10HintedTypeE
89504 (aka 66548: str of type N8KDevelop13StructureTypeE) - str of type N6Python10HintedTypeE
765024 (aka 90024: str of type N6Python10UnsureTypeE) - str of type N6Python10HintedTypeE
774764 (aka 403436: int of type N6Python10UnsureTypeE) - int of type N6Python10HintedTypeE

REVIEW: 127039
CCBUG: 358563

Details

Committed
arichardsonFeb 12 2016, 12:48 PM
Parents
R53:fe7fde50ffcd: lock parse lock for a short moment when destroying language support
Branches
Unknown
Tags
Unknown