summaryrefslogtreecommitdiff
path: root/examples/scala-js/ir/src/main/scala/scala/scalajs/ir/Infos.scala
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scala-js/ir/src/main/scala/scala/scalajs/ir/Infos.scala')
-rw-r--r--examples/scala-js/ir/src/main/scala/scala/scalajs/ir/Infos.scala118
1 files changed, 0 insertions, 118 deletions
diff --git a/examples/scala-js/ir/src/main/scala/scala/scalajs/ir/Infos.scala b/examples/scala-js/ir/src/main/scala/scala/scalajs/ir/Infos.scala
deleted file mode 100644
index 66feec2..0000000
--- a/examples/scala-js/ir/src/main/scala/scala/scalajs/ir/Infos.scala
+++ /dev/null
@@ -1,118 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ __ ____ Scala.js IR **
-** / __/ __// _ | / / / _ | __ / // __/ (c) 2014, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ **
-** /____/\___/_/ |_/____/_/ | |__/ /____/ **
-** |/____/ **
-\* */
-
-
-package scala.scalajs.ir
-
-object Infos {
-
- sealed class RoughClassInfo protected (
- val name: String,
- val encodedName: String,
- val isExported: Boolean,
- val ancestorCount: Int
- )
-
- object RoughClassInfo {
- def apply(name: String, encodedName: String, isExported: Boolean,
- ancestorCount: Int): RoughClassInfo = {
- new RoughClassInfo(name, encodedName, isExported, ancestorCount)
- }
- }
-
- final class ClassInfo protected (
- name: String,
- encodedName: String,
- isExported: Boolean,
- ancestorCount: Int,
- val kind: ClassKind,
- val superClass: String,
- val ancestors: List[String], // includes this class
- val optimizerHints: OptimizerHints,
- val methods: List[MethodInfo]
- ) extends RoughClassInfo(name, encodedName, isExported, ancestorCount)
-
- object ClassInfo {
- def apply(
- name: String,
- encodedName: String,
- isExported: Boolean = false,
- ancestorCount: Int = 0,
- kind: ClassKind = ClassKind.Class,
- superClass: String = "",
- ancestors: List[String] = Nil,
- optimizerHints: OptimizerHints = OptimizerHints.empty,
- methods: List[MethodInfo] = Nil): ClassInfo = {
- new ClassInfo(name, encodedName, isExported, ancestorCount,
- kind, superClass, ancestors, optimizerHints, methods)
- }
- }
-
- final class MethodInfo private (
- val encodedName: String,
- val isAbstract: Boolean,
- val isExported: Boolean,
- val calledMethods: Map[String, List[String]],
- val calledMethodsStatic: Map[String, List[String]],
- val instantiatedClasses: List[String],
- val accessedModules: List[String],
- val accessedClassData: List[String],
- val optimizerHints: OptimizerHints
- )
-
- object MethodInfo {
- def apply(
- encodedName: String,
- isAbstract: Boolean = false,
- isExported: Boolean = false,
- calledMethods: Map[String, List[String]] = Map.empty,
- calledMethodsStatic: Map[String, List[String]] = Map.empty,
- instantiatedClasses: List[String] = Nil,
- accessedModules: List[String] = Nil,
- accessedClassData: List[String] = Nil,
- optimizerHints: OptimizerHints = OptimizerHints.empty): MethodInfo = {
- new MethodInfo(encodedName, isAbstract, isExported, calledMethods,
- calledMethodsStatic, instantiatedClasses, accessedModules,
- accessedClassData, optimizerHints)
- }
- }
-
- final class OptimizerHints(val bits: Int) extends AnyVal {
- import OptimizerHints._
-
- private[scalajs] def isAccessor: Boolean = (bits & AccessorMask) != 0
- private[scalajs] def hasInlineAnnot: Boolean = (bits & InlineAnnotMask) != 0
-
- private[scalajs] def copy(
- isAccessor: Boolean = this.isAccessor,
- hasInlineAnnot: Boolean = this.hasInlineAnnot
- ): OptimizerHints = {
- var bits: Int = 0
- if (isAccessor)
- bits |= AccessorMask
- if (hasInlineAnnot)
- bits |= InlineAnnotMask
- new OptimizerHints(bits)
- }
-
- override def toString(): String =
- s"OptimizerHints($bits)"
- }
-
- object OptimizerHints {
- private final val AccessorShift = 0
- private final val AccessorMask = 1 << AccessorShift
-
- private final val InlineAnnotShift = 1
- private final val InlineAnnotMask = 1 << InlineAnnotShift
-
- final val empty: OptimizerHints =
- new OptimizerHints(0)
- }
-
-}