2011-08-28 8 views
6

scala.Predef zawiera następujący kod:

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

Czy ktoś dowiedzieć się, dlaczego jest to konieczne, biorąc pod uwagę, że tworzy zależności do pakietów, które mogły być łatwo wydzielony z biblioteki standardowej?

Odpowiedz

4

Spójrz na src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala, a wynik parsowania literału XML.

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

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

Idealnie byłoby przenieść gdzieś pod scala.xml; spróbuj i zobacz, co pęka.