abstract class ClassfileParser extends AnyRef
This abstract class implements a class file parser.
- Source
- ClassfileParser.scala
- Alphabetic
- By Inheritance
- ClassfileParser
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
-  new ClassfileParser(reader: ReusableInstance[ReusableDataReader])
Type Members
-    class ConstantPool extends AnyRefConstructor of this class should not be called directly, use newConstantPoolinstead.Constructor of this class should not be called directly, use newConstantPoolinstead.- Attributes
- protected
 
-    case class InnerClassEntry(external: NameOrString, outer: NameOrString, name: NameOrString, jflags: JavaAccFlags) extends Product with SerializableAn entry in the InnerClasses attribute of this class file. 
-  class LazyAliasType extends (symbolTable)#LazyType with (symbolTable)#FlagAgnosticCompleter
-    class NameOrString extends AnyRef- Attributes
- protected
 
-  class TypeParamsType extends (symbolTable)#LazyType with (symbolTable)#FlagAgnosticCompleter
Abstract Value Members
-   abstract  def classPath: ClassPathThe compiler classpath. 
-  abstract val loaders: SymbolLoaders { val symbolTable: ClassfileParser.this.symbolTable.type }
-   abstract  def lookupMemberAtTyperPhaseIfPossible(sym: (symbolTable)#Symbol, name: (symbolTable)#Name): (symbolTable)#SymbolIf typer phase is defined then perform member lookup of a symbol symat typer phase.If typer phase is defined then perform member lookup of a symbol symat typer phase. This method results from refactoring. The original author of the logic that uses typer phase didn't explain why we need to force infos at that phase specifically. It only mentioned that ClassfileParse can be called late (e.g. at flatten phase) and we make to make sure we handle such situation properly.- Attributes
- protected
 
-  abstract val symbolTable: SymbolTable { def settings: scala.tools.nsc.Settings }
Concrete Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def ##: Int- Definition Classes
- AnyRef → Any
 
-    def +(other: String): String- Implicit
- This member is added by an implicit conversion from ClassfileParser toany2stringadd[ClassfileParser] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
 
-    def ->[B](y: B): (ClassfileParser, B)- Implicit
- This member is added by an implicit conversion from ClassfileParser toArrowAssoc[ClassfileParser] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
 
-   final  def ==(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-    val TASTYUUIDLength: Int- Attributes
- protected
 
-    def addEnclosingTParams(clazz: (symbolTable)#Symbol): UnitAdd type parameters of enclosing classes 
-    def addJavaFlagsAnnotations(sym: (symbolTable)#Symbol, flags: JavaAccFlags): UnitApply @native/@transient/@volatileannotations tosym, if the corresponding flag is set inflags.
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    var busy: (symbolTable)#Symbol- Attributes
- protected
 
-    def classNameToSymbol(name: String): (symbolTable)#SymbolReturn the class symbol of the given name. 
-    var classTParams: Map[(symbolTable)#Name, (symbolTable)#Symbol]- Attributes
- protected
 
-    var clazz: (symbolTable)#ClassSymbol- Attributes
- protected
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
 
-    var currentClass: String- Attributes
- protected
 
-    def ensuring(cond: (ClassfileParser) => Boolean, msg: => Any): ClassfileParser- Implicit
- This member is added by an implicit conversion from ClassfileParser toEnsuring[ClassfileParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
-    def ensuring(cond: (ClassfileParser) => Boolean): ClassfileParser- Implicit
- This member is added by an implicit conversion from ClassfileParser toEnsuring[ClassfileParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
-    def ensuring(cond: Boolean, msg: => Any): ClassfileParser- Implicit
- This member is added by an implicit conversion from ClassfileParser toEnsuring[ClassfileParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
-    def ensuring(cond: Boolean): ClassfileParser- Implicit
- This member is added by an implicit conversion from ClassfileParser toEnsuring[ClassfileParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-    var file: AbstractFile- Attributes
- protected
 
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
 
-    def formatted(fmtstr: String): String- Implicit
- This member is added by an implicit conversion from ClassfileParser toStringFormat[ClassfileParser] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-  def getClassSymbol(name: String): (symbolTable)#Symbol
-    def getScope(flags: JavaAccFlags): (symbolTable)#Scope- Attributes
- protected
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-    var in: DataReader- Attributes
- protected
 
-    var instanceScope: (symbolTable)#Scope- Attributes
- protected
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-    var isScala: Boolean- Attributes
- protected
 
-    var isScalaRaw: Boolean- Attributes
- protected
 
-    var isTASTY: Boolean- Attributes
- protected
 
-    def moduleClass: (symbolTable)#Symbol- Attributes
- protected
 
-   final  def ne(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-   final  def notify(): Unit- Definition Classes
- AnyRef
- Annotations
- @native()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @native()
 
-    def parse(file: AbstractFile, clazz: (symbolTable)#ClassSymbol, module: (symbolTable)#ModuleSymbol): Unitclazzandmoduleare the class and module symbols corresponding to the classfile being parsed.clazzandmoduleare the class and module symbols corresponding to the classfile being parsed. Note that the ClassfileLoader unconditionally creates both of these symbols, they may may get invalidated later on (.exists).Note that using companionModule/companionClassdoes not always work to navigate between those two symbols, namely when they are shadowed by a type / value in the a package object (scala-dev#248).
-  def parseAnnotArg(): Option[(symbolTable)#ClassfileAnnotArg]
-    def parseAnnotation(attrNameIndex: Int): Option[(symbolTable)#AnnotationInfo]Parse and return a single annotation. Parse and return a single annotation. If it is malformed, return None. 
-  def parseClass(): Unit
-  def parseField(): Unit
-  def parseMethod(): Unit
-    var pool: ConstantPool- Attributes
- protected
 
-   final  def s1(): Int- Attributes
- protected
 
-   final  def s2(): Int- Attributes
- protected
 
-  def skipAttributes(): Unit
-  def skipMembers(): Unit
-  def skipSuperclasses(): Unit
-  def srcfile: Option[AbstractFile]
-    var srcfile0: Option[AbstractFile]- Attributes
- protected
 
-    var staticModule: (symbolTable)#ModuleSymbol- Attributes
- protected
 
-    var staticScope: (symbolTable)#Scope- Attributes
- protected
 
-  def stubClassSymbol(name: (symbolTable)#Name): (symbolTable)#Symbol
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   final  def u1(): Int- Attributes
- protected
 
-   final  def u2(): Int- Attributes
- protected
 
-   final  def u4(): Int- Attributes
- protected
 
-    def unpickleOrParseInnerClasses(): UnitEither Either - set isScalaand invoke the unpickler, or
- set isScalaRaw, or
- parse inner classes (for Java classfiles)
 Expects in.bpto point to theaccess_flagsentry, restores the oldbp.
- set 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long, arg1: Int): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
 
-  object TastyUniverse extends TastyUniverse
-    object innerClassesReturn the class symbol for the given name. Return the class symbol for the given name. It looks it up in its outer class. Forces all outer class symbols to be completed. If the given name is not an inner class, it returns the symbol found in definitions.
Deprecated Value Members
-    def →[B](y: B): (ClassfileParser, B)- Implicit
- This member is added by an implicit conversion from ClassfileParser toArrowAssoc[ClassfileParser] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
- (Since version 2.13.0) Use - ->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
 
The Scala compiler and reflection APIs.