object CodeGenImpl extends BCodeSyncAndTry
- Alphabetic
- By Inheritance
- CodeGenImpl
- BCodeSyncAndTry
- BCodeBodyBuilder
- BCodeSkelBuilder
- BCodeHelpers
- BCodeIdiomatic
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
abstract
class
PlainBodyBuilder extends PlainSkelBuilder
- Definition Classes
- BCodeBodyBuilder
-
trait
BCAnnotGen extends BCInnerClassGen
- Definition Classes
- BCodeHelpers
-
trait
BCClassGen extends BCInnerClassGen
- Definition Classes
- BCodeHelpers
-
trait
BCForwardersGen extends BCAnnotGen with BCJGenSigGen
- Definition Classes
- BCodeHelpers
-
trait
BCInnerClassGen extends AnyRef
- Definition Classes
- BCodeHelpers
-
trait
BCJGenSigGen extends AnyRef
- Definition Classes
- BCodeHelpers
-
trait
BCPickles extends AnyRef
- Definition Classes
- BCodeHelpers
-
final
case class
EnclosingMethodEntry(owner: String, name: String, methodDescriptor: String) extends Product with Serializable
- Definition Classes
- BCodeHelpers
-
trait
JAndroidBuilder extends AnyRef
- Definition Classes
- BCodeHelpers
-
class
JBeanInfoBuilder extends BCInnerClassGen
- Definition Classes
- BCodeHelpers
-
abstract
class
JCommonBuilder extends BCInnerClassGen with BCAnnotGen with BCForwardersGen with BCPickles
- Definition Classes
- BCodeHelpers
-
class
JMirrorBuilder extends JCommonBuilder
- Definition Classes
- BCodeHelpers
-
implicit
class
InsnIterInsnList extends AnyRef
- Definition Classes
- BCodeIdiomatic
-
implicit
class
InsnIterMethodNode extends AnyRef
- Definition Classes
- BCodeIdiomatic
-
abstract
class
JCodeMethodN extends AnyRef
- Definition Classes
- BCodeIdiomatic
-
class
LabelDefsFinder extends Global.Traverser
- Definition Classes
- BCodeIdiomatic
-
abstract
class
PlainSkelBuilder extends BCClassGen with BCAnnotGen with BCInnerClassGen with JAndroidBuilder with BCForwardersGen with BCPickles with BCJGenSigGen
- Definition Classes
- BCodeSkelBuilder
-
class
SyncAndTryBuilder extends PlainBodyBuilder
- Definition Classes
- BCodeSyncAndTry
Value Members
-
object
delambdafyInline
Cache the value of delambdafy == "inline" for each run.
Cache the value of delambdafy == "inline" for each run. We need to query this value many times, so caching makes sense.
- Definition Classes
- BCodeHelpers
-
object
isJavaEntryPoint
- Definition Classes
- BCodeHelpers
-
object
JCodeMethodN
- Definition Classes
- BCodeIdiomatic
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
EMPTY_BTYPE_ARRAY: Array[BTypesFromSymbols.BType]
- Definition Classes
- BCodeIdiomatic
-
val
EMPTY_INT_ARRAY: Array[Int]
- Definition Classes
- BCodeIdiomatic
-
val
EMPTY_LABEL_ARRAY: Array[Label]
- Definition Classes
- BCodeIdiomatic
-
val
EMPTY_STRING_ARRAY: Array[String]
- Definition Classes
- BCodeIdiomatic
-
lazy val
JavaStringBuilderClassName: InternalName
- Definition Classes
- BCodeIdiomatic
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
bTypes: CodeGen.bTypes.type
- Definition Classes
- CodeGenImpl → BCodeIdiomatic
-
def
classOriginallyNestedInClass(nestedClass: G.Symbol, enclosingClass: G.Symbol): Boolean
- Definition Classes
- BCodeHelpers
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
coercionFrom(code: Int): BTypesFromSymbols.BType
- Definition Classes
- BCodeIdiomatic
-
final
def
coercionTo(code: Int): BTypesFromSymbols.BType
- Definition Classes
- BCodeIdiomatic
-
def
completeSilentlyAndCheckErroneous(sym: G.Symbol): Boolean
This is a hack to work around scala/bug#9111.
This is a hack to work around scala/bug#9111. The completer of
methodSym
may report type errors. We cannot change the typer context of the completer at this point and make it silent: the context captured when creating the completer in the namer. However, we can temporarily replace global.reporter (it's a var) to store errors.- Definition Classes
- BCodeHelpers
-
def
considerAsTopLevelImplementationArtifact(classSym: G.Symbol): Boolean
True for classes generated by the Scala compiler that are considered top-level in terms of the InnerClass / EnclosingMethod classfile attributes.
True for classes generated by the Scala compiler that are considered top-level in terms of the InnerClass / EnclosingMethod classfile attributes. See comment in BTypes.
- Definition Classes
- BCodeHelpers
-
def
enclosingMethodAttribute(classSym: G.Symbol, classDesc: (G.Symbol) ⇒ String, methodDesc: (G.Symbol) ⇒ String): Option[EnclosingMethodEntry]
Data for emitting an EnclosingMethod attribute.
Data for emitting an EnclosingMethod attribute. None if
classSym
is a member class (not an anonymous or local class). See doc in BTypes.The class is parameterized by two functions to obtain a bytecode class descriptor for a class symbol, and to obtain a method signature descriptor fro a method symbol. These function depend on the implementation of GenASM / GenBCode, so they need to be passed in.
- Definition Classes
- BCodeHelpers
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
fieldSymbols(cls: G.Symbol): List[G.Symbol]
- Definition Classes
- BCodeHelpers
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
global: CodeGen.global.type
- Definition Classes
- CodeGenImpl → BCodeIdiomatic
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
isAnonymousOrLocalClass(classSym: G.Symbol): Boolean
True if
classSym
is an anonymous class or a local class.True if
classSym
is an anonymous class or a local class. I.e., false ifclassSym
is a member class. This method is used to decide if we should emit an EnclosingMethod attribute. It is also used to decide whether the "owner" field in the InnerClass attribute should be null.- Definition Classes
- BCodeHelpers
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isOriginallyStaticOwner(sym: G.Symbol): Boolean
This is basically a re-implementation of sym.isStaticOwner, but using the originalOwner chain.
This is basically a re-implementation of sym.isStaticOwner, but using the originalOwner chain.
The problem is that we are interested in a source-level property. Various phases changed the symbol's properties in the meantime, mostly lambdalift modified (destructively) the owner. Therefore,
sym.isStatic
is not what we want. For example, in object T { def f { object U } } the owner of U is T, so UModuleClass.isStatic is true. Phase travel does not help here.- Definition Classes
- BCodeHelpers
-
def
methodSymbols(cd: G.ClassDef): List[G.Symbol]
- Definition Classes
- BCodeHelpers
-
final
def
mkArray(xs: List[Label]): Array[Label]
- Definition Classes
- BCodeIdiomatic
-
final
def
mkArray(xs: List[String]): Array[String]
- Definition Classes
- BCodeIdiomatic
-
final
def
mkArray(xs: List[BTypesFromSymbols.BType]): Array[BTypesFromSymbols.BType]
- Definition Classes
- BCodeIdiomatic
-
final
def
mkArrayReverse(xs: List[Int]): Array[Int]
- Definition Classes
- BCodeIdiomatic
-
final
def
mkArrayReverse(xs: List[String]): Array[String]
- Definition Classes
- BCodeIdiomatic
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
needsStaticImplMethod(sym: G.Symbol): Boolean
- Definition Classes
- BCodeHelpers
-
def
nextEnclosing(sym: G.Symbol): G.Symbol
The next enclosing definition in the source structure.
The next enclosing definition in the source structure. Includes anonymous function classes under delambdafy:inline, even though they are only generated during UnCurry.
- Definition Classes
- BCodeHelpers
-
def
nextEnclosingClass(sym: G.Symbol): G.Symbol
- Definition Classes
- BCodeHelpers
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
serialVUID(csym: G.Symbol): Option[Long]
- Definition Classes
- BCodeHelpers
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
traitSuperAccessorName(sym: G.Symbol): G.Name
- Definition Classes
- BCodeHelpers
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
The Scala compiler and reflection APIs.