class ClassfileParser

Constructors

ClassfileParser ( classfile: AbstractFile , classRoot: ClassDenotation , moduleRoot: ClassDenotation )
ClassfileParser ( ictx: Context )

Members

[+] class ConstantPool
[+] case class InnerClassEntry

An entry in the InnerClasses attribute of this class file.

An entry in the InnerClasses attribute of this class file.

[+] final object InnerClassEntry

An entry in the InnerClasses attribute of this class file.

An entry in the InnerClasses attribute of this class file.

[+] final object innerClasses
[+] private val classRoot : ClassDenotation
[+] protected var classTParams : Map [ Name, Symbol ]
[+] private val classfile : AbstractFile
[+] protected var currentClassName : Name
[+] private val ictx : Context
[+] protected val in : AbstractFileReader
[+] protected val instanceScope : MutableScope
[+] val memberCompleter : LazyType
[+] private val moduleRoot : ClassDenotation
[+] protected var pool : ConstantPool
[+] var sawPrivateConstructor : Boolean
[+] protected val staticModule : Symbol
[+] protected val staticScope : MutableScope
[+] def addAnnotationConstructor ( classInfo: Type , tparams: List [ TypeSymbol ] ) ( implicit ctx: Context ) : Unit

Add synthetic constructor(s) and potentially also default getters which reflects the fields of the annotation with given classInfo. Annotations in Scala...

Add synthetic constructor(s) and potentially also default getters which reflects the fields of the annotation with given classInfo. Annotations in Scala are assumed to get all their arguments as constructor parameters. For Java annotations we need to fake it by making up the constructor. Note that default getters have type Nothing. That's OK because we need them only to signal that the corresponding parameter is optional.

[+] def addAnnotationConstructor$default$2 : Nil$

Add synthetic constructor(s) and potentially also default getters which reflects the fields of the annotation with given classInfo. Annotations in Scala...

Add synthetic constructor(s) and potentially also default getters which reflects the fields of the annotation with given classInfo. Annotations in Scala are assumed to get all their arguments as constructor parameters. For Java annotations we need to fake it by making up the constructor. Note that default getters have type Nothing. That's OK because we need them only to signal that the corresponding parameter is optional.

[+] def addEnclosingTParams ( ) ( implicit ctx: Context ) : Unit

Add type parameters of enclosing classes

Add type parameters of enclosing classes

[+] def classNameToSymbol ( name: Name ) ( implicit ctx: Context ) : Symbol

Return the class symbol of the given name.

Return the class symbol of the given name.

[+] protected def classTParams_= ( x$1: Map [ Name, Symbol ] ) : Unit
[+] protected def currentClassName_= ( x$1: Name ) : Unit
[+] private def currentIsTopLevel ( implicit ctx: Context ) : Boolean
[+] private def enterOwnInnerClasses ( ) ( implicit ctx: Context ) : Unit

Enter own inner classes in the right scope. It needs the scopes to be set up, and implicitly current class' superclasses.

Enter own inner classes in the right scope. It needs the scopes to be set up, and implicitly current class' superclasses.

[+] protected def getOwner ( flags: Int ) : Symbol
[+] protected def getScope ( flags: Int ) : MutableScope
[+] private def hasAnnotation ( flags: Int ) : Boolean
[+] private def isPrivate ( flags: Int ) : Boolean
[+] private def isStatic ( flags: Int ) : Boolean
[+] private def mismatchError ( c: Symbol ) : Nothing
[+] final def objToAny ( tp: Type ) ( implicit ctx: Context ) : Type

Map direct references to Object to references to Any

Map direct references to Object to references to Any

[+] def parseAnnotArg ( skip: Boolean ) ( implicit ctx: Context ) : Option [ Tree ]
[+] def parseAnnotArg$default$1 : Boolean
[+] def parseAnnotation ( attrNameIndex: Char , skip: Boolean ) ( implicit ctx: Context ) : Option [ Annotation ]

Parse and return a single annotation. If it is malformed, return None.

Parse and return a single annotation. If it is malformed, return None.

[+] def parseAnnotation$default$2 : Boolean

Parse and return a single annotation. If it is malformed, return None.

Parse and return a single annotation. If it is malformed, return None.

[+] def parseAttributes ( sym: Symbol , symtype: Type ) ( implicit ctx: Context ) : Type
[+] def parseClass ( ) ( implicit ctx: Context ) : Option [ Embedded ]
[+] private def parseHeader ( ) : Unit
[+] def parseMember ( method: Boolean ) ( implicit ctx: Context ) : Unit
[+] protected def pool_= ( x$1: ConstantPool ) : Unit
[+] def run ( ) ( implicit ctx: Context ) : Option [ Embedded ]
[+] def sawPrivateConstructor_= ( x$1: Boolean ) : Unit
[+] private def setPrivateWithin ( denot: SymDenotation , jflags: Int ) ( implicit ctx: Context ) : Unit
[+] private def sigToType ( sig: TermName , owner: Symbol ) ( implicit ctx: Context ) : Type
[+] def sigToType$default$2 : Null
[+] def skipAttributes ( ) : Unit
[+] def skipMembers ( ) : Unit
[+] def skipSuperclasses ( ) : Unit
[+] def unpickleOrParseInnerClasses ( ) ( implicit ctx: Context ) : Option [ Embedded ]

Parse inner classes. Expects in.bp to point to the superclass entry. Restores the old bp.

Parse inner classes. Expects in.bp to point to the superclass entry. Restores the old bp.