diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2015-07-20 17:21:16 +0200 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2015-07-20 17:32:16 +0200 |
commit | b6feac28697934e3c8ea7d90025cf6032062a886 (patch) | |
tree | decfb69c1a404f0a40304da39005a197fa763535 /test/files/pos | |
parent | f2e055f251d8c7169e8a84246d62d923fbcc8524 (diff) | |
download | scala-b6feac28697934e3c8ea7d90025cf6032062a886.tar.gz scala-b6feac28697934e3c8ea7d90025cf6032062a886.tar.bz2 scala-b6feac28697934e3c8ea7d90025cf6032062a886.zip |
SI-8502 create PackageClass instead of Class symbol stubs for pkgs
https://github.com/scala/scala/pull/4111 creates a stub type symbol
for missing packages, deferring (or avoiding) a crash if a package
is missing.
The symbol created was a ClassSymbol, which could lead to an assertion
failure in flattten:
case TypeRef(pre, sym, args) if isFlattenablePrefix(pre) =>
assert(args.isEmpty && sym.enclosingTopLevelClass != NoSymbol, sym.ownerChain)
`pre` is the stub ClassSymbol, so `isFlattenablePrefix` is true (but
it should be false). The assertion then fails because the enclosing
class of a top-level class defined in a missing package is NoSymbol.
This failed only with GenBCode, which traverses more of the symbol
graph while building ClassBTypes: it looks collects the nested classes
of `Outer` into a `NestedInfo`.
Diffstat (limited to 'test/files/pos')
0 files changed, 0 insertions, 0 deletions