All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scalafix.v1.Signature.scala Maven / Gradle / Ivy

package scalafix.v1

import scalafix.internal.util.Pretty

sealed abstract class Signature extends Product with Serializable {
  final override def toString: String = Pretty.pretty(this).render(80)
  final def toString(width: Int): String = Pretty.pretty(this).render(width)
  final def isEmpty: Boolean = this == NoSignature
  final def nonEmpty: Boolean = !isEmpty
}

final case class ValueSignature(tpe: SemanticType) extends Signature
final case class ClassSignature(
    typeParameters: List[SymbolInformation],
    parents: List[SemanticType],
    self: SemanticType,
    declarations: List[SymbolInformation]
) extends Signature
final case class MethodSignature(
    typeParameters: List[SymbolInformation],
    parameterLists: List[List[SymbolInformation]],
    returnType: SemanticType
) extends Signature
final case class TypeSignature(
    typeParameters: List[SymbolInformation],
    lowerBound: SemanticType,
    upperBound: SemanticType
) extends Signature
case object NoSignature extends Signature




© 2015 - 2025 Weber Informatics LLC | Privacy Policy