Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SI-8177 co-evolve more than just RefinedTypes #3516

Merged
merged 2 commits into from
Feb 13, 2014
Merged

Commits on Feb 12, 2014

  1. SI-8177 co-evolve more than just RefinedTypes

    `asSeenFrom` produced a typeref of the shape `T'#A` where `A` referred to a symbol
    defined in a `T` of times past.
    
    More precisely, the `TypeRef` case of `TypeMap`'s `mapOver` correctly modified a prefix
    from having an underlying type of `{ type A = AIn }` to `{ type A = Int }`,
    with a new symbol for `A` (now with info `Int`), but the symbol in the outer
    `TypeRef` wasn't co-evolved (so it still referred to the `A` in `{ type A = AIn }`
    underlying the old prefix).
    
    `coEvolveSym` used to only look at prefixes that were directly `RefinedType`s,
    but this bug shows they could also be `SingleType`s with an underlying `RefinedType`.
    adriaanm committed Feb 12, 2014
    Configuration menu
    Copy the full SHA
    7ea7a3b View commit details
    Browse the repository at this point in the history
  2. SI-8177 refine embeddedSymbols

    We look for any prefix that has a refinement class for a type symbol.
    This includes ThisTypes, which were not considered before.
    
    pos/t8177g.scala, neg/t0764*scala now compile, as they should
    
    Additional test cases contributed by Jason & Paul.
    adriaanm committed Feb 12, 2014
    Configuration menu
    Copy the full SHA
    427b826 View commit details
    Browse the repository at this point in the history