final class ProfilingImpl[G <: Global] extends ProfilingStats
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- ProfilingImpl
- ProfilingStats
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new ProfilingImpl(global: G, config: PluginConfig, logger: Logger[G])
Type Members
- case class DelayedMacro(pt: G.Type, tree: G.Tree) extends MacroState with Product with Serializable
- case class FailedMacro(pt: G.Type, tree: G.Tree) extends MacroState with Product with Serializable
- case class FallbackMacro(pt: G.Type, tree: G.Tree) extends MacroState with Product with Serializable
- case class ImplicitInfo(count: Int) extends Product with Serializable
- case class ImplicitProfiler(perCallSite: Map[G.Position, ImplicitInfo], perFile: Map[SourceFile, ImplicitInfo], perType: Map[G.Type, ImplicitInfo], inTotal: ImplicitInfo) extends Product with Serializable
- case class MacroEntry(id: Int, originalPt: G.Type, start: scala.tools.nsc.Global.statistics.TimerSnapshot, state: Option[MacroState]) extends Product with Serializable
- case class MacroInfo(expandedMacros: Int, expandedNodes: Int, expansionNanos: Long) extends Product with Serializable
Represents the profiling information about expanded macros.
Represents the profiling information about expanded macros.
Note that we could derive the value of expanded macros from the number of instances of MacroInfo if it were not by the fact that a macro can expand in the same position more than once. We want to be able to report/analyse such cases on their own, so we keep it as a paramater of this entity.
- case class MacroProfiler(perCallSite: Map[G.Position, MacroInfo], perFile: Map[SourceFile, MacroInfo], inTotal: MacroInfo, repeatedExpansions: Map[G.Tree, Int]) extends Product with Serializable
- sealed trait MacroState extends AnyRef
- case class SkippedMacro(pt: G.Type, tree: G.Tree) extends MacroState with Product with Serializable
- case class SucceededMacro(pt: G.Type, tree: G.Tree) extends MacroState with Product with Serializable
- case class SuppressedMacro(pt: G.Type, tree: G.Tree) extends MacroState with Product with Serializable
Value Members
- 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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def concreteTypeFromSearch(tree: G.Tree, default: G.Type): G.Type
- final val delayedMacros: scala.tools.nsc.Global.statistics.SubCounter
- Definition Classes
- ProfilingStats
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final val failedMacros: scala.tools.nsc.Global.statistics.SubCounter
- Definition Classes
- ProfilingStats
- final val fallbackMacros: scala.tools.nsc.Global.statistics.SubCounter
- Definition Classes
- ProfilingStats
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def generateGraphData(outputDir: AbsolutePath, globalDirMaybe: Option[AbsolutePath]): List[AbsolutePath]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val global: G
- Definition Classes
- ProfilingImpl → ProfilingStats
- def groupPerFile[V](kvs: Map[G.Position, V])(empty: V, aggregate: (V, V) => V): Map[SourceFile, V]
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- lazy val implicitProfiler: ImplicitProfiler
- final val implicitSearchesByMacrosCount: scala.tools.nsc.Global.statistics.SubCounter
- Definition Classes
- ProfilingStats
- final val implicitSearchesByPos: HashMap[Position, Int]
- Definition Classes
- ProfilingStats
- final val implicitSearchesByType: HashMap[G.Type, Int]
- Definition Classes
- ProfilingStats
- final val implicitSearchesSourceFilesByType: HashMap[G.Type, HashSet[SourceFile]]
- Definition Classes
- ProfilingStats
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- lazy val macroProfiler: MacroProfiler
- final val macrosByType: HashMap[G.Type, Int]
- Definition Classes
- ProfilingStats
- 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()
- final val preciseMacroTimer: scala.tools.nsc.Global.statistics.Timer
- Definition Classes
- ProfilingStats
- def registerProfilers(): Unit
- def registerTyperTimerFor(prefix: String): scala.tools.nsc.Global.statistics.Timer
- final val skippedMacros: scala.tools.nsc.Global.statistics.SubCounter
- Definition Classes
- ProfilingStats
- final val suppressedMacros: scala.tools.nsc.Global.statistics.SubCounter
- Definition Classes
- ProfilingStats
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toMillis(nanos: Long): Long
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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 ImplicitInfo extends Serializable
- object MacroInfo extends Serializable
- object ProfilingMacroPlugin extends (G.analyzer)#MacroPlugin