final class ProfilingImpl[G <: Global] extends ProfilingStats
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- ProfilingImpl
- ProfilingStats
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
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( ... ) @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: Any): 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[_]
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- object ImplicitInfo extends Serializable
- object MacroInfo extends Serializable
- object ProfilingMacroPlugin extends (G.analyzer)#MacroPlugin