summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2003-07-09 11:51:40 +0000
committerburaq <buraq@epfl.ch>2003-07-09 11:51:40 +0000
commit04e4c7ee186590b54a88ef33290d319d4cd4b60d (patch)
tree8402648647893ca98cffaa1fdc4fdcad14491a1d /sources
parent933de9aa0335840340f0838e245faf5a9383a3d9 (diff)
downloadscala-04e4c7ee186590b54a88ef33290d319d4cd4b60d.tar.gz
scala-04e4c7ee186590b54a88ef33290d319d4cd4b60d.tar.bz2
scala-04e4c7ee186590b54a88ef33290d319d4cd4b60d.zip
removed at, fixed code for Literals
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/transformer/matching/CodeFactory.java17
-rw-r--r--sources/scalac/transformer/matching/PatternMatcher.java4
-rw-r--r--sources/scalac/transformer/matching/PatternTool.java2
3 files changed, 12 insertions, 11 deletions
diff --git a/sources/scalac/transformer/matching/CodeFactory.java b/sources/scalac/transformer/matching/CodeFactory.java
index dc311408d0..0633b01c12 100644
--- a/sources/scalac/transformer/matching/CodeFactory.java
+++ b/sources/scalac/transformer/matching/CodeFactory.java
@@ -172,13 +172,13 @@ class CodeFactory extends PatternTool {
Tree ignoreValue( Type asType ) {
if( asType.isSameAs(defs.BYTE_TYPE ))
- return make.Literal(Position.NOPOS, new Long( 0 ))
+ return make.Literal(Position.NOPOS, new Integer( 0 ))
.setType( defs.INT_TYPE );
else if( asType.isSameAs( defs.CHAR_TYPE ))
- return make.Literal(Position.NOPOS, new Long( 0 ))
+ return make.Literal(Position.NOPOS, new Character( 'a' ))
.setType( defs.CHAR_TYPE );
else if( asType.isSameAs(defs.SHORT_TYPE ))
- return make.Literal(Position.NOPOS, new Long( 0 ))
+ return make.Literal(Position.NOPOS, new Integer/*Short?*/( 0 ))
.setType( defs.SHORT_TYPE );
else if( asType.isSameAs(defs.INT_TYPE ))
return Int( 0 );
@@ -186,10 +186,10 @@ class CodeFactory extends PatternTool {
return make.Literal(Position.NOPOS, new Long( 0 ))
.setType( defs.LONG_TYPE );
else if( asType.isSameAs(defs.FLOAT_TYPE ))
- return make.Literal(Position.NOPOS, new Long( 0 ))
+ return make.Literal(Position.NOPOS, new Float( 0 ))
.setType( defs.FLOAT_TYPE );
else if( asType.isSameAs(defs.DOUBLE_TYPE ))
- return make.Literal(Position.NOPOS, new Long( 0 ))
+ return make.Literal(Position.NOPOS, new Double( 0 ))
.setType( defs.DOUBLE_TYPE );
else if( asType.isSameAs(defs.BOOLEAN_TYPE ))
return gen.mkBooleanLit(Position.NOPOS, false);
@@ -230,12 +230,13 @@ class CodeFactory extends PatternTool {
/** creates an scala.Int constant
*/
Tree Int( int val ) {
- return make.Literal(Position.NOPOS, new Long((long)val))
- .setType( defs.INT_TYPE );
+ return Int( new Integer( val ));
}
Tree Int( Integer valI ) {
- return Int( valI.intValue() );
+ return make.Literal( Position.NOPOS, valI )
+ .setType( defs.INT_TYPE );
+
}
/** code `new SeqTraceCons[ elemType ]( state, head, tail )'
diff --git a/sources/scalac/transformer/matching/PatternMatcher.java b/sources/scalac/transformer/matching/PatternMatcher.java
index 429221f6d7..0d16eac6bd 100644
--- a/sources/scalac/transformer/matching/PatternMatcher.java
+++ b/sources/scalac/transformer/matching/PatternMatcher.java
@@ -484,7 +484,7 @@ public class PatternMatcher extends PatternTool {
if (curHeader == null) {
assert index >= 0 : casted;
if (casted.pos == Position.NOPOS) {
- Symbol atSym = casted.type().lookup(AT_N);
+ Symbol atSym = casted.type().lookup(APPLY_N);
//System.out.println("casted type = " + typeOf(casted));
Type seqType = casted.type().baseType(defs.SEQ_CLASS).typeArgs()[0];
Tree t = make.Select(
@@ -492,7 +492,7 @@ public class PatternMatcher extends PatternTool {
make.Ident(pat.pos, casted.name)
.setType(typeOf(casted))
.setSymbol(casted),
- AT_N);
+ APPLY_N);
switch (typeOf(atSym)) {
case OverloadedType(Symbol[] alts, Type[] alttypes):
infer.methodAlternative(t, alts, alttypes,
diff --git a/sources/scalac/transformer/matching/PatternTool.java b/sources/scalac/transformer/matching/PatternTool.java
index b16d2f461d..3478721d00 100644
--- a/sources/scalac/transformer/matching/PatternTool.java
+++ b/sources/scalac/transformer/matching/PatternTool.java
@@ -34,7 +34,7 @@ abstract class PatternTool {
public static final Name FAIL_N = Name.fromString("fail");
public static final Name WILDCARD_N = Name.fromString("_");
public static final Name LENGTH_N = Name.fromString("length");
- public static final Name AT_N = Name.fromString("at");
+ public static final Name APPLY_N = Name.fromString("apply");
/** the current compilation unit
*/