summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2004-07-21 15:55:51 +0000
committerburaq <buraq@epfl.ch>2004-07-21 15:55:51 +0000
commit3d71c05ad281015d1a657459915a41d3ef7326f9 (patch)
tree0377b9f0cf53077fe3790e895346d4a89d406cd0
parent8df9fca4623466d37fdc3d9854e3c2394dcf01e5 (diff)
downloadscala-3d71c05ad281015d1a657459915a41d3ef7326f9.tar.gz
scala-3d71c05ad281015d1a657459915a41d3ef7326f9.tar.bz2
scala-3d71c05ad281015d1a657459915a41d3ef7326f9.zip
less dependence still
-rw-r--r--sources/scala/tools/scalac/ast/parser/MarkupParser.scala15
-rw-r--r--sources/scala/tools/scalac/ast/parser/SymbolicXMLBuilder.scala19
2 files changed, 11 insertions, 23 deletions
diff --git a/sources/scala/tools/scalac/ast/parser/MarkupParser.scala b/sources/scala/tools/scalac/ast/parser/MarkupParser.scala
index c3108fb3ac..9dc8b6d8c9 100644
--- a/sources/scala/tools/scalac/ast/parser/MarkupParser.scala
+++ b/sources/scala/tools/scalac/ast/parser/MarkupParser.scala
@@ -18,7 +18,6 @@ import scala.collection.immutable.ListMap ;
import scala.collection.mutable;
import scala.xml.{Text,TextBuffer};
-import scala.xml.parsing.AttribValue ;
package scala.tools.scalac.ast.parser {
class MarkupParser(unit: CompilationUnit, s: Scanner, p: Parser, presWS: boolean ) /*with scala.xml.parsing.MarkupParser[Tree,Tree] */{
@@ -72,24 +71,24 @@ class MarkupParser(unit: CompilationUnit, s: Scanner, p: Parser, presWS: boolean
* | `{` scalablock `}`
*/
/*[Duplicate]*/ def xAttributes = {
- var aMap = new mutable.HashMap[String, AttribValue[Tree]];
+ var aMap = new mutable.HashMap[String, Tree]();
while( xml.Parsing.isNameStart( ch )) {
val key = xName;
xEQ;
val delim = ch;
val pos1 = pos;
- val value:AttribValue[Tree] = ch match {
+ val value: /* AttribValue[*/Tree/*]*/ = ch match {
case '"' | '\'' =>
nextch;
val tmp = xAttributeValue( delim );
nextch;
- handle.attributeCDataValue( pos1, tmp );
+ gen.mkStringLit(pos1, tmp);
case '{' if enableEmbeddedExpressions =>
nextch;
- handle.attributeEmbedded(pos1, xEmbeddedExpr);
+ xEmbeddedExpr;
case _ =>
reportSyntaxError( "' or \" delimited attribute value or '{' scala-expr '}' expected" );
- handle.attributeCDataValue( pos1, "<syntax-error>" )
+ gen.mkStringLit(pos1, "<syntax-error>" )
};
// well-formedness constraint: unique attribute names
if( aMap.contains( key ))
@@ -124,13 +123,13 @@ class MarkupParser(unit: CompilationUnit, s: Scanner, p: Parser, presWS: boolean
* [40] STag ::= '<' Name { S Attribute } [S]
* [44] EmptyElemTag ::= '<' Name { S Attribute } [S]
*/
- /*[Duplicate]*/ def xTag: Pair[String, mutable.Map[String,AttribValue[Tree]]] = {
+ /*[Duplicate]*/ def xTag: Pair[String, mutable.Map[String, Tree]] = {
val elemName = xName;
xSpaceOpt;
val aMap = if(xml.Parsing.isNameStart( ch )) {
xAttributes;
} else {
- new mutable.HashMap[String,AttribValue[Tree]]();
+ new mutable.HashMap[String, Tree]();
}
Tuple2( elemName, aMap );
}
diff --git a/sources/scala/tools/scalac/ast/parser/SymbolicXMLBuilder.scala b/sources/scala/tools/scalac/ast/parser/SymbolicXMLBuilder.scala
index 1f5164f3cf..3afba042ad 100644
--- a/sources/scala/tools/scalac/ast/parser/SymbolicXMLBuilder.scala
+++ b/sources/scala/tools/scalac/ast/parser/SymbolicXMLBuilder.scala
@@ -27,17 +27,6 @@ class SymbolicXMLBuilder(make: TreeFactory, gen: TreeGen, p: Parser, preserveWS:
import scala.tools.scalac.ast.{TreeList => myTreeList}
- def attributeCDataValue(pos: int, str:String): AttribValue[Tree] = {
- val v = gen.mkStringLit(pos, str);
- new AttribValue[Tree] {
- def value = v;
- }
- }
- def attributeEmbedded(pos: int, v:Tree): AttribValue[Tree] = {
- new AttribValue[Tree] {
- def value = v;
- }
- }
var isPattern:Boolean = _;
val _ArrayBuffer = Name.fromString("ArrayBuffer");
@@ -402,7 +391,7 @@ class SymbolicXMLBuilder(make: TreeFactory, gen: TreeGen, p: Parser, preserveWS:
}
/** makes an element */
- def element(pos: int, label: String, attrMap: mutable.Map[String,AttribValue[Tree]], args: mutable.Buffer[Tree]): Tree = {
+ def element(pos: int, label: String, attrMap: mutable.Map[String,Tree], args: mutable.Buffer[Tree]): Tree = {
var setNS = new mutable.HashMap[String, Tree];
/* DEBUG */
val attrIt = attrMap.keys;
@@ -411,10 +400,10 @@ class SymbolicXMLBuilder(make: TreeFactory, gen: TreeGen, p: Parser, preserveWS:
if( z.startsWith("xmlns") ) {
val i = z.indexOf(':');
if( i == -1 )
- setNS.update("default", attrMap( z ).value );
+ setNS.update("default", attrMap( z ) );
else {
val zz = z.substring( i+1, z.length() );
- setNS.update( zz, attrMap( z ).value );
+ setNS.update( zz, attrMap( z ) );
}
attrMap -= z;
}
@@ -434,7 +423,7 @@ class SymbolicXMLBuilder(make: TreeFactory, gen: TreeGen, p: Parser, preserveWS:
while( it.hasNext ) {
val ansk = it.next;
val Pair( ns, aname ) = qualifiedAttr( pos, namespace, ansk._1 );
- attrs( k ) = makeAttribute( pos, ns, aname, ansk._2.value );
+ attrs( k ) = makeAttribute( pos, ns, aname, ansk._2 );
k = k + 1;
}
/* */