package scala.tools.nsc.models; import scala.tools.nsc.io.AbstractFile; abstract class NewModel { abstract class SymbolURL { val top : RootURL; val name : String; val source : AbstractFile; } abstract class NodeURL extends SymbolURL { val parent : SymbolURL; final val top = parent.top; final val source = top.file; } abstract class RootURL extends SymbolURL { final val top : RootURL = this; } }