blob: 728006276350b2336b65960d1392fffa577507c6 (
plain) (
tree)
|
|
trait Global {
trait Tree
trait Symbol { def foo: Boolean }
}
trait IMain { self: MemberHandlers =>
val global: Global
def handlers: List[MemberHandler]
}
trait MemberHandlers {
val intp: IMain
import intp.global._
sealed abstract class MemberHandler(val member: Tree) {
def importedSymbols: List[Symbol]
}
}
object Test {
var intp: IMain with MemberHandlers = null
val handlers = intp.handlers
handlers.filterNot(_.importedSymbols.isEmpty).zipWithIndex foreach {
case (handler, idx) =>
val (types, terms) = handler.importedSymbols partition (_.foo)
}
}
object Test2 {
type JClass = java.lang.Class[_]
def tvarString(bounds: List[AnyRef]) = {
bounds collect { case x: JClass => x }
}
}
|