summaryrefslogtreecommitdiff
path: root/test/files/run/bug2512.scala
Commit message (Collapse)AuthorAgeFilesLines
* Great moments in code reuse:Paul Phillips2011-01-071-3/+2
| | | | | | | | | | | | | | | | | | | | | | def isRootOrEmptyPackageClass(s: Symbol) = s.isRoot || s.isEmptyPackageClass def isRootOrEmpty = (this == EmptyPackageClass) || (this == RootClass) def isEffectiveRoot = isRoot || isEmptyPackageClass // last one actually not quite identical def isUnqualified(n: Name) = n match { case nme.ROOT | nme.EMPTY_PACKAGE_NAME => true ; case _ => false } I was responsible for at least half of these. Now it's only isEffectiveRoot. Also, I have always found it warty that we have to specify Nothing and Any as upper bounds. I gave the TypeBounds companion object a few obvious methods: def empty: TypeBounds = apply(NothingClass.tpe, AnyClass.tpe) def upper(hi: Type): TypeBounds = apply(NothingClass.tpe, hi) def lower(lo: Type): TypeBounds = apply(lo, AnyClass.tpe) It's a lovable patch. No review.
* Fix and test case for #2512, plus lots of time ...Paul Phillips2009-10-251-0/+14
Fix and test case for #2512, plus lots of time expended tuning HashSet starting sizes and growth rate, with almost nothing to show for it (but I did determine that "shadowed" is constructed identically something like 10,000 times, so there is probably a cache to be had there.)