sealed abstract class InPhase extends AnyRef
A wrapper to allow actions to be associated to a Phase. This aids profiling, particularly where a actions occur in multiple threads, or out of order
When you are running a compilation task that involved some activity on a background thread (not the one running Global.compileUnits) the profiler is not aware of that thread and so cannot account for the activity.
By wrapping the activity in this class or one of it children the profiler (if enabled) is informed and the statistics can be gathered
No InPhase should run concurrently with another InPhase on the same thread - the statistics dont cope with nesting
- Source
- InPhase.scala
- Alphabetic
- By Inheritance
- InPhase
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (InPhase, B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- val comment: String
-
def
doAction[T](fn: ⇒ T): T
- Attributes
- protected[scala.tools.nsc.profile]
- Annotations
- @inline()
- def ensuring(cond: (InPhase) ⇒ Boolean, msg: ⇒ Any): InPhase
- def ensuring(cond: (InPhase) ⇒ Boolean): InPhase
- def ensuring(cond: Boolean, msg: ⇒ Any): InPhase
- def ensuring(cond: Boolean): InPhase
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
idle(future: Future[_], duration: Duration = Duration.Inf): Unit
If the compilation activity has some idle time waiting on a future, then this can be recorded by using this method to perform the wait for you.
If the compilation activity has some idle time waiting on a future, then this can be recorded by using this method to perform the wait for you. This allow the profiler to distinguish idle time (waiting for some related activity to complete), from for example waiting on I/O
- future
the future that you are waiting on
- duration
the maximum duration to wait
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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()
- val phase: Phase
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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
- @native() @throws( ... )
- def →[B](y: B): (InPhase, B)
The Scala compiler and reflection APIs.