ClassToAPI

object ClassToAPI
class Object
trait Matchable
class Any

Type members

Classlikes

final class ClassMap
case class Defs(declared: Seq[ClassDefinition], inherited: Seq[ClassDefinition], staticDeclared: Seq[ClassDefinition], staticInherited: Seq[ClassDefinition])

Value members

Concrete methods

def access(i: Int, pkg: Option[String]): Access
def annotated(t: Type, annots: Array[Annotation]): Type
def annotation(a: Annotation): Annotation
def annotations(a: Array[Annotation]): Array[Annotation]
def apply(c: Seq[Class[_]]): Seq[ClassLike]
def array(tpe: Type): Type
def classCanonicalName(c: Class[_]): String

Returns the canonical name given a class based on https://docs.oracle.com/javase/specs/jls/se11/html/jls-6.html#jls-6.7

Returns the canonical name given a class based on https://docs.oracle.com/javase/specs/jls/se11/html/jls-6.html#jls-6.7

  1. A named package returns its package name. 2A. A top-level class returns package name + "." + simple name. 2B. A top-level Scala object returns object's name + "$". 3A. Nested class M of a class C returns C's canonical name + "." + M's simple name. 3B. Nested class M of a top-level Scala object O returns O's name + "." + M's simple name. 3C. Nested class M of a non-top-level Scala object O returns's O's canonical name + "." + M's simple name.

For example OOO (object in object in object) returns p1.O1.O2$.O3$.

Returns:

The canonical name if not null, the blank string otherwise.

def constructorToDef(enclPkg: Option[String])(c: Constructor[_]): Def
def defLike[T <: GenericDeclaration](name: String, mods: Int, annots: Array[Annotation], tps: Array[TypeVariable[T]], paramAnnots: Array[Array[Annotation]], paramTypes: Array[Type], retType: Option[Type], exceptions: Array[Type], varArgs: Boolean, enclPkg: Option[String]): Def
def exceptionAnnotations(exceptions: Array[Type]): Array[Annotation]
def fieldToDef(c: Class[_], cf: => ClassFile, enclPkg: Option[String])(f: Field): FieldLike
def isStatic(c: Class[_]): Boolean
def isStatic(a: Member): Boolean
def isTopLevel(c: Class[_]): Boolean
def javaAnnotation(s: String): AnnotationArgument
@inline
final def lzy[T <: AnyRef](t: => T): Lazy[T]
def merge[T](of: Class[_], self: Seq[T], public: Seq[T], f: T => Seq[ClassDefinition], splitStatic: Seq[T] => (Seq[T], Seq[T]), isInherited: T => Boolean): Defs
def mergeMap[T <: Member](of: Class[_], self: Seq[T], public: Seq[T], f: T => ClassDefinition): Defs
def methodToDef(enclPkg: Option[String])(m: Method): Def
def modifiers(i: Int): Modifiers
def name(gd: GenericDeclaration): String
def packageAndName(c: Class[_]): (Option[String], String)
def packageAndName(name: String): (Option[String], String)
def packageName(c: Class[_]): Option[String]
def packagePrivate(pkg: Option[String]): Access
def packages(c: Seq[Class[_]]): Set[String]
def parameter(annots: Array[Annotation], parameter: Type, varArgs: Boolean): MethodParameter
def pathFromString(s: String): Path
def pathFromStrings(ss: Seq[String]): Path
def primitive(name: String): Type
def process(classes: Seq[Class[_]]): (Seq[ClassLike], Seq[String], Set[(Class[_], Class[_])])
def reduceHash(in: Array[Byte]): Int
def reference(c: Class[_]): Type
def reference(s: String): Type
def reference(t: Type): Type
def referenceP(t: ParameterizedType): Parameterized
def splitStatic[T <: Member](defs: Seq[T]): (Seq[T], Seq[T])
def structure(c: Class[_], enclPkg: Option[String], cmap: ClassMap): (Structure, Structure)

Returns the (static structure, instance structure, inherited classes) for c.

Returns the (static structure, instance structure, inherited classes) for c.

def toDefinitions(cmap: ClassMap)(c: Class[_]): Seq[ClassLikeDef]
def toDefinitions0(c: Class[_], cmap: ClassMap): Seq[ClassLikeDef]
def typeParameter[T <: GenericDeclaration](tp: TypeVariable[T]): TypeParameter
def typeParameters[T <: GenericDeclaration](tps: Array[TypeVariable[T]]): Array[TypeParameter]
def typeVariable[T <: GenericDeclaration](tv: TypeVariable[T]): String
def types(ts: Seq[Type]): Array[Type]
def upperBounds(ts: Array[Type]): Type

Deprecated methods

@deprecated("Use fieldToDef[4] instead", "0.13.9")
def fieldToDef(enclPkg: Option[String])(f: Field): FieldLike
Deprecated
@deprecated("No longer used", "0.13.0")
def parents(c: Class[_]): Seq[Type]
Deprecated

Concrete fields

val ArrayRef: Type
val Empty: EmptyType
val NothingRef: Type
val Private: Private
val Protected: Protected
val Public: Public
val ThisRef: This
val Throws: Type
val Unqualified: Unqualified