summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2004-03-18 16:23:36 +0000
committerburaq <buraq@epfl.ch>2004-03-18 16:23:36 +0000
commitdacc0190d587be8614618ea66e2421ae777b6dd8 (patch)
treee57cb5a35a295b4b072308b321a4113aa3461d9a
parent2bea6271b4f011879acdd8eefc592104169240f0 (diff)
downloadscala-dacc0190d587be8614618ea66e2421ae777b6dd8.tar.gz
scala-dacc0190d587be8614618ea66e2421ae777b6dd8.tar.bz2
scala-dacc0190d587be8614618ea66e2421ae777b6dd8.zip
xml parsing changes + slight bugfix in xml repr...
xml parsing changes + slight bugfix in xml representation
-rw-r--r--sources/scala/tools/scalac/ast/parser/Scanner.scala3
-rw-r--r--sources/scala/xml/Elem.scala8
2 files changed, 6 insertions, 5 deletions
diff --git a/sources/scala/tools/scalac/ast/parser/Scanner.scala b/sources/scala/tools/scalac/ast/parser/Scanner.scala
index 6b01b484f5..665aa4088e 100644
--- a/sources/scala/tools/scalac/ast/parser/Scanner.scala
+++ b/sources/scala/tools/scalac/ast/parser/Scanner.scala
@@ -685,6 +685,7 @@ class Scanner(_unit: Unit) extends TokenData {
* @todo: may XML contain SU, in CDATA sections ?
*/
def xNext = {
+ lastpos = pos;
nextch();
ch match {
case SU =>
@@ -816,7 +817,7 @@ class Scanner(_unit: Unit) extends TokenData {
xToken('!');
xToken('-');
xToken('-');
- xSkipToNext('-', false);
+ while ( ch != '-' ) { xNext; };
xToken('-');
xToken('-');
xToken('>');
diff --git a/sources/scala/xml/Elem.scala b/sources/scala/xml/Elem.scala
index bd4aabb054..fc224f0d84 100644
--- a/sources/scala/xml/Elem.scala
+++ b/sources/scala/xml/Elem.scala
@@ -19,24 +19,24 @@ case class Elem( label:String, child:Node* ) extends Node with Similarity {
/** returns a new element with updated attributes
*/
- final def %(attrs: Seq[Pair[String, String]]) = {
+ final def %(attrs: Seq[Pair[String, String]]):Elem = {
val newmap = new HashMap[String,String]();
for( val p <- hmap.elements ) { newmap += p._1 -> p._2 };
for( val p <- attrs ) { newmap += p._1 -> p._2 };
new Elem( label, child:_* ) {
private val hmap = newmap;
- //override def attribute = newmap.elements.toSeq( newmap.size );
+ override def attribute = newmap.elements.toSeq( newmap.size );
};
}
/** returns a new symbol with updated attribute
*/
- final def %(attr: Pair[String, String]) = {
+ final def %(attr: Pair[String, String]):Elem = {
val newmap = new HashMap[String,String]();
for( val p <- hmap.elements ) { newmap += p._1 -> p._2 };
newmap += attr._1 -> attr._2;
new Elem( label, child:_* ) {
private val hmap = newmap;
- //override def attribute = newmap.elements.toSeq( newmap.size );
+ override def attribute = newmap.elements.toSeq( newmap.size );
};
}
}