Please sign in to comment.
Centrally unify module class representations.
There are these two representations of a type we wish to treat as the same: TypeRef(pre, sym1, Nil) // sym1.isModuleClass, sym1.sourceModule == sym2 SingleType(pre, sym2) // sym2.isModule, sym2.moduleClass == sym1 I rolled the recognition of this into normalizePlus where it won't bother anyone. normalizePlus is the last effort undertaken by isSameType before it gives up. This allowed significant simplification of logic elsewhere, since there is a great deal of logic working around the fact that a TypeRef might be equivalent to a SingleType even after dealiasing.
- Loading branch information...
Showing with 7 additions and 2 deletions.