package dotty.tools.dottydoc
package model
import comment.Comment
import references._
import dotty.tools.dotc.core.Symbols.Symbol
object internal {
trait Impl {
var parent: Entity = NonEntity
}
final case class PackageImpl(
symbol: Symbol,
annotations: List[String],
name: String,
var members: List[Entity],
path: List[String],
superTypes: List[MaterializableLink] = Nil,
var comment: Option[Comment] = None
) extends Package with Impl
final case class TypeAliasImpl (
symbol: Symbol,
annotations: List[String],
modifiers: List[String],
name: String,
path: List[String],
alias: Option[Reference],
var comment: Option[Comment] = None
) extends TypeAlias with Impl
final case class ClassImpl(
symbol: Symbol,
annotations: List[String],
name: String,
members: List[Entity],
modifiers: List[String],
path: List[String],
typeParams: List[String] = Nil,
constructors: List[List[ParamList]] = Nil,
superTypes: List[MaterializableLink] = Nil,
var comment: Option[Comment] = None,
var companionPath: List[String] = Nil
) extends Class with Impl
final case class CaseClassImpl(
symbol: Symbol,
annotations: List[String],
name: String,
members: List[Entity],
modifiers: List[String],
path: List[String],
typeParams: List[String] = Nil,
constructors: List[List[ParamList]] = Nil,
superTypes: List[MaterializableLink] = Nil,
var comment: Option[Comment] = None,
var companionPath: List[String] = Nil
) extends CaseClass with Impl
final case class TraitImpl(
symbol: Symbol,
annotations: List[String],
name: String,
members: List[Entity],
modifiers: List[String],
path: List[String],
typeParams: List[String] = Nil,
traitParams: List[ParamList] = Nil,
superTypes: List[MaterializableLink] = Nil,
var comment: Option[Comment] = None,
var companionPath: List[String] = Nil
) extends Trait with Impl
final case class ObjectImpl(
symbol: Symbol,
annotations: List[String],
name: String,
members: List[Entity],
modifiers: List[String],
path: List[String],
superTypes: List[MaterializableLink] = Nil,
var comment: Option[Comment] = None,
var companionPath: List[String] = Nil
) extends Object with Impl
final case class DefImpl(
symbol: Symbol,
annotations: List[String],
name: String,
modifiers: List[String],
path: List[String],
returnValue: Reference,
typeParams: List[String] = Nil,
paramLists: List[ParamList] = Nil,
var comment: Option[Comment] = None,
implicitlyAddedFrom: Option[Reference] = None
) extends Def with Impl
final case class ValImpl(
symbol: Symbol,
annotations: List[String],
name: String,
modifiers: List[String],
path: List[String],
returnValue: Reference,
kind: String,
var comment: Option[Comment] = None,
implicitlyAddedFrom: Option[Reference] = None
) extends Val with Impl
final case class ParamListImpl(
list: List[NamedReference],
isImplicit: Boolean
) extends ParamList
}