Packages

object CodeGenImpl extends BCodeSyncAndTry

Source
CodeGen.scala
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CodeGenImpl
  2. BCodeSyncAndTry
  3. BCodeBodyBuilder
  4. BCodeSkelBuilder
  5. BCodeHelpers
  6. BCodeIdiomatic
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract class PlainBodyBuilder extends PlainSkelBuilder
    Definition Classes
    BCodeBodyBuilder
  2. trait BCAnnotGen extends BCInnerClassGen
    Definition Classes
    BCodeHelpers
  3. trait BCClassGen extends BCInnerClassGen
    Definition Classes
    BCodeHelpers
  4. trait BCForwardersGen extends BCAnnotGen with BCJGenSigGen
    Definition Classes
    BCodeHelpers
  5. trait BCInnerClassGen extends AnyRef
    Definition Classes
    BCodeHelpers
  6. trait BCJGenSigGen extends AnyRef
    Definition Classes
    BCodeHelpers
  7. trait BCPickles extends AnyRef
    Definition Classes
    BCodeHelpers
  8. final case class EnclosingMethodEntry(owner: String, name: String, methodDescriptor: String) extends Product with Serializable
    Definition Classes
    BCodeHelpers
  9. trait JAndroidBuilder extends AnyRef
    Definition Classes
    BCodeHelpers
  10. abstract class JCommonBuilder extends BCInnerClassGen with BCAnnotGen with BCForwardersGen with BCPickles
    Definition Classes
    BCodeHelpers
  11. class JMirrorBuilder extends JCommonBuilder
    Definition Classes
    BCodeHelpers
  12. implicit class InsnIterInsnList extends AnyRef
    Definition Classes
    BCodeIdiomatic
  13. implicit class InsnIterMethodNode extends AnyRef
    Definition Classes
    BCodeIdiomatic
  14. abstract class JCodeMethodN extends AnyRef
    Definition Classes
    BCodeIdiomatic
  15. class LabelDefsFinder extends Global.InternalTraverser
    Definition Classes
    BCodeIdiomatic
  16. sealed abstract class LoadDestination extends Product with Serializable

    The destination of a value generated by genLoadTo.

    The destination of a value generated by genLoadTo.

    Definition Classes
    BCodeSkelBuilder
  17. abstract class PlainSkelBuilder extends BCClassGen with BCAnnotGen with BCInnerClassGen with JAndroidBuilder with BCForwardersGen with BCPickles with BCJGenSigGen
    Definition Classes
    BCodeSkelBuilder
  18. class SyncAndTryBuilder extends PlainBodyBuilder
    Definition Classes
    BCodeSyncAndTry

Value Members

  1. 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
  2. object isJavaEntryPoint
    Definition Classes
    BCodeHelpers
  3. object JCodeMethodN
    Definition Classes
    BCodeIdiomatic
  4. object LoadDestination extends java.io.Serializable
    Definition Classes
    BCodeSkelBuilder
  5. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def ##: Int
    Definition Classes
    AnyRef → Any
  7. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. val EMPTY_BTYPE_ARRAY: Array[BTypesFromSymbols.BType]
    Definition Classes
    BCodeIdiomatic
  9. val EMPTY_INT_ARRAY: Array[Int]
    Definition Classes
    BCodeIdiomatic
  10. val EMPTY_LABEL_ARRAY: Array[Label]
    Definition Classes
    BCodeIdiomatic
  11. val EMPTY_STRING_ARRAY: Array[String]
    Definition Classes
    BCodeIdiomatic
  12. lazy val JavaStringBuilderClassName: InternalName
    Definition Classes
    BCodeIdiomatic
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. val bTypes: CodeGen.bTypes.type
    Definition Classes
    CodeGenImplBCodeIdiomatic
  15. def classOriginallyNestedInClass(nestedClass: G.Symbol, enclosingClass: G.Symbol): Boolean
    Definition Classes
    BCodeHelpers
  16. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  17. final def coercionFrom(code: Int): BTypesFromSymbols.BType
    Definition Classes
    BCodeIdiomatic
  18. final def coercionTo(code: Int): BTypesFromSymbols.BType
    Definition Classes
    BCodeIdiomatic
  19. 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
  20. 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
  21. 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
  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  24. def fieldSymbols(cls: G.Symbol): List[G.Symbol]
    Definition Classes
    BCodeHelpers
  25. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  26. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. val global: CodeGen.global.type
    Definition Classes
    CodeGenImplBCodeIdiomatic
  28. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  29. 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 if classSym 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
  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. final 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
    Annotations
    @tailrec()
  32. def methodSymbols(cd: G.ClassDef): List[G.Symbol]
    Definition Classes
    BCodeHelpers
  33. final def mkArray(xs: List[Label]): Array[Label]
    Definition Classes
    BCodeIdiomatic
  34. final def mkArray(xs: List[String]): Array[String]
    Definition Classes
    BCodeIdiomatic
  35. final def mkArray(xs: List[BTypesFromSymbols.BType]): Array[BTypesFromSymbols.BType]
    Definition Classes
    BCodeIdiomatic
  36. final def mkArrayReverse(xs: List[Int]): Array[Int]
    Definition Classes
    BCodeIdiomatic
  37. final def mkArrayReverse(xs: List[String]): Array[String]
    Definition Classes
    BCodeIdiomatic
  38. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  39. def needsStaticImplMethod(sym: G.Symbol): Boolean
    Definition Classes
    BCodeHelpers
  40. 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
  41. final def nextEnclosingClass(sym: G.Symbol): G.Symbol
    Definition Classes
    BCodeHelpers
    Annotations
    @tailrec()
  42. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  43. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  44. def serialVUID(csym: G.Symbol): Option[Long]
    Definition Classes
    BCodeHelpers
  45. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  46. def toString(): String
    Definition Classes
    AnyRef → Any
  47. final def traitSuperAccessorName(sym: G.Symbol): String
    Definition Classes
    BCodeHelpers
  48. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  49. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  50. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from BCodeSyncAndTry

Inherited from BCodeBodyBuilder

Inherited from BCodeSkelBuilder

Inherited from BCodeHelpers

Inherited from BCodeIdiomatic

Inherited from AnyRef

Inherited from Any

Ungrouped