Add a bit documentation to Dependency phase.

It gives some high-level overview of what this phase does.
This commit is contained in:
Grzegorz Kossakowski 2013-10-24 12:45:00 +02:00
parent 838416360a
commit e8746dc0c7
1 changed files with 15 additions and 0 deletions

View File

@ -13,6 +13,21 @@ object Dependency
{
def name = "xsbt-dependency"
}
/**
* Extracts dependency information from each compilation unit.
*
* This phase uses CompilationUnit.depends and CallbackGlobal.inheritedDependencies
* to collect all symbols that given compilation unit depends on. Those symbols are
* guaranteed to represent Class-like structures.
*
* The CallbackGlobal.inheritedDependencies is populated by the API phase. See,
* ExtractAPI class.
*
* When dependency symbol is processed, it is mapped back to either source file where
* it's defined in (if it's available in current compilation run) or classpath entry
* where it originates from. The Symbol->Classfile mapping is implemented by
* LocateClassFile that we inherit from.
*/
final class Dependency(val global: CallbackGlobal) extends LocateClassFile
{
import global._