Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

59 lines (43 sloc) 1.832 kB
/* NSC -- new Scala compiler
* Copyright 2009-2013 Typesafe/Scala Solutions and LAMP/EPFL
* @author Martin Odersky
*/
package scala.tools.nsc
package interactive
import scala.reflect.internal.util.{SourceFile, Position, NoPosition}
import scala.collection.mutable.ArrayBuffer
trait RichCompilationUnits { self: Global =>
/** The status value of a unit that has not yet been loaded */
final val NotLoaded = -2
/** The status value of a unit that has not yet been typechecked */
final val JustParsed = -1
/** The status value of a unit that has been partially typechecked */
final val PartiallyChecked = 0
class RichCompilationUnit(source: SourceFile) extends CompilationUnit(source) {
/** The runid of the latest compiler run that typechecked this unit,
* or else @see NotLoaded, JustParsed
*/
var status: Int = NotLoaded
/** Unit has been parsed */
def isParsed: Boolean = status >= JustParsed
/** Unit has been typechecked, but maybe not in latest runs */
def isTypeChecked: Boolean = status > JustParsed
/** Unit has been typechecked and is up to date */
def isUpToDate: Boolean = status >= minRunId
/** the current edit point offset */
var editPoint: Int = -1
/** The problems reported for this unit */
val problems = new ArrayBuffer[Problem]
/** The position of a targeted type check
* If this is different from NoPosition, the type checking
* will stop once a tree that contains this position range
* is fully attributed.
*/
var _targetPos: Position = NoPosition
override def targetPos: Position = _targetPos
def targetPos_=(p: Position) { _targetPos = p }
var contexts: Contexts = new Contexts
/** The last fully type-checked body of this unit */
var lastBody: Tree = EmptyTree
}
}
Jump to Line
Something went wrong with that request. Please try again.