A BType is either a primitve type, a ClassBType, an ArrayBType of one of these, or a MethodType referring to BTypes.
A ClassBType represents a class or interface type.
The type info for a class.
The super class, not defined for class java/lang/Object.
All transitively implemented interfaces, except for those inherited through the superclass.
The java flags, obtained through
javaFlags. Used also to derive
the flags for InnerClass entries.
Classes nested in this class. Those need to be added to the InnerClass table, see the InnerClass spec summary above.
If this describes a nested class, information for the InnerClass table.
This class holds the data for an entry in the InnerClass table.
The internal name of the class.
The internal name of the outer class, may be null.
The simple name of the inner class, may be null.
The flags for this class in the InnerClass entry.
Just a named pair, used in CoreBTypes.asmBoxTo/asmUnboxTo.
Information required to add a class to an InnerClass table.
The enclosing class, if it is also nested. When adding a class to the InnerClass table, enclosing nested classes are also added.
The outerName field in the InnerClass entry, may be None.
The innerName field, may be None.
True if this is a static nested class (not inner class) (*)
(*) Note that the STATIC flag in ClassInfo.flags, obtained through javaFlags(classSym), is not correct for the InnerClass entry, see javaFlags. The static flag in the InnerClass describes a source-level propety: if the class is in a static context (does not have an outer pointer). This is checked when building the NestedInfo.
Obtain a previously constructed ClassBType for a given internal name.
A map from internal names to ClassBTypes.
The ClassBType for a class symbol
The string represented by the
length values of a ClassBType, see comment of that
True if the current compilation unit is of a primitive class (scala.Boolean et al).
True for module classes of modules that are top-level or owned only by objects.
True for module classes of package level objects.
Return the Java modifiers for the given symbol.