Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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.