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 : SimpleTermName
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.type

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: SimpleTermName ) : 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 ( className: SimpleTermName ) : 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: SimpleTermName , 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.