xml - docs - scala array



Qual è lo scopo di $ scope in scala.Predef? (1)

scala.Predef contiene il seguente codice:

// Apparently needed for the xml library
val $scope = scala.xml.TopScope

Qualcuno ha capito perché è necessario, considerando che crea dipendenze per pacchetti che potrebbero essere facilmente divisi dalla libreria standard?


Answer #1

Dai un'occhiata a src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala e il risultato dell'analisi di un letterale XML.

scala -Xprint:parser -e '<node/>'

new _root_.scala.xml.Elem(null, "node", _root_.scala.xml.Null, $scope)

Idealmente questo sarebbe spostato da qualche parte sotto scala.xml ; provalo e guarda cosa rompe.





library-design