diff options
author | paltherr <paltherr@epfl.ch> | 2003-03-24 11:50:52 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-03-24 11:50:52 +0000 |
commit | 1a2828c106feef0a9870ac833cd1067f2fd91dcd (patch) | |
tree | a78f4293339c5165cbd8c49c3f3c0b26f44b518f /sources/scalac/transformer | |
parent | 61150fa8aea97b7b98b4976178d44b136e60e53e (diff) | |
download | scala-1a2828c106feef0a9870ac833cd1067f2fd91dcd.tar.gz scala-1a2828c106feef0a9870ac833cd1067f2fd91dcd.tar.bz2 scala-1a2828c106feef0a9870ac833cd1067f2fd91dcd.zip |
- Removed fields True & False in class scala.Bo...
- Removed fields True & False in class scala.Boolean
Diffstat (limited to 'sources/scalac/transformer')
-rw-r--r-- | sources/scalac/transformer/PatternMatcher.java | 55 | ||||
-rw-r--r-- | sources/scalac/transformer/matching/PatternMatcher.java | 55 |
2 files changed, 24 insertions, 86 deletions
diff --git a/sources/scalac/transformer/PatternMatcher.java b/sources/scalac/transformer/PatternMatcher.java index 382b24f86e..e1dc0c0503 100644 --- a/sources/scalac/transformer/PatternMatcher.java +++ b/sources/scalac/transformer/PatternMatcher.java @@ -22,8 +22,6 @@ public class PatternMatcher { public static final Name RESULT_N = Name.fromString("$result"); public static final Name SCALA_N = Name.fromString("scala"); public static final Name BOOLEAN_N = Name.fromString("Boolean"); - public static final Name TRUE_N = Name.fromString("True"); - public static final Name FALSE_N = Name.fromString("False"); public static final Name AND_N = Name.fromString("$amp$amp"); public static final Name OR_N = Name.fromString("$bar$bar"); public static final Name NOT_N = Name.fromString("$bang"); @@ -79,14 +77,6 @@ public class PatternMatcher { */ Symbol statics; - /** true symbol - */ - Symbol trueSym; - - /** false symbol - */ - Symbol falseSym; - /** constructor */ @@ -112,8 +102,6 @@ public class PatternMatcher { Modifiers.MUTABLE); this.resultVar.setType(tpe); this.statics = defs.getModule(Names.scala_Boolean); - this.trueSym = defs.TRUE(); - this.falseSym = defs.FALSE(); this.infer = infer; } @@ -792,25 +780,14 @@ public class PatternMatcher { } protected Tree mkBoolean(int pos, boolean bool) { - Name name = bool ? TRUE_N : FALSE_N; - Symbol val = bool ? trueSym : falseSym; - return make.Select( - pos, - make.Select( - pos, - make.Ident(pos, SCALA_N) - .setType(typeOf(defs.SCALA)).setSymbol(defs.SCALA), - BOOLEAN_N).setType(typeOf(statics)).setSymbol(statics), - name).setType(defs.BOOLEAN_TYPE).setSymbol(val); + Boolean val = bool ? Boolean.TRUE : Boolean.FALSE; + return make.Literal(pos, val).setType(defs.BOOLEAN_TYPE); } protected Tree mkNegate(Tree tree) { switch (tree) { - case Select(_, _): - if (tree.symbol() == trueSym) - return mkBoolean(tree.pos, false); - else if (tree.symbol() == falseSym) - return mkBoolean(tree.pos, true); + case Literal(Object value): + return mkBoolean(tree.pos, !((Boolean)value).booleanValue()); } return make.Apply( tree.pos, @@ -820,16 +797,12 @@ public class PatternMatcher { protected Tree mkAnd(Tree left, Tree right) { switch (left) { - case Select(_, _): - if (left.symbol() == trueSym) - return right; - else if (left.symbol() == falseSym) - return left; + case Literal(Object value): + return ((Boolean)value).booleanValue() ? right : left; } switch (right) { - case Select(_, _): - if (right.symbol() == trueSym) - return left; + case Literal(Object value): + if (((Boolean)value).booleanValue()) return left; } Symbol fun = left.type.lookup(AND_N); return make.Apply( @@ -843,16 +816,12 @@ public class PatternMatcher { protected Tree mkOr(Tree left, Tree right) { switch (left) { - case Select(_, _): - if (left.symbol() == trueSym) - return left; - else if (left.symbol() == falseSym) - return right; + case Literal(Object value): + return ((Boolean)value).booleanValue() ? left : right; } switch (right) { - case Select(_, _): - if (right.symbol() == falseSym) - return left; + case Literal(Object value): + if (!((Boolean)value).booleanValue()) return left; } Symbol fun = left.type.lookup(OR_N); return make.Apply( diff --git a/sources/scalac/transformer/matching/PatternMatcher.java b/sources/scalac/transformer/matching/PatternMatcher.java index 382b24f86e..e1dc0c0503 100644 --- a/sources/scalac/transformer/matching/PatternMatcher.java +++ b/sources/scalac/transformer/matching/PatternMatcher.java @@ -22,8 +22,6 @@ public class PatternMatcher { public static final Name RESULT_N = Name.fromString("$result"); public static final Name SCALA_N = Name.fromString("scala"); public static final Name BOOLEAN_N = Name.fromString("Boolean"); - public static final Name TRUE_N = Name.fromString("True"); - public static final Name FALSE_N = Name.fromString("False"); public static final Name AND_N = Name.fromString("$amp$amp"); public static final Name OR_N = Name.fromString("$bar$bar"); public static final Name NOT_N = Name.fromString("$bang"); @@ -79,14 +77,6 @@ public class PatternMatcher { */ Symbol statics; - /** true symbol - */ - Symbol trueSym; - - /** false symbol - */ - Symbol falseSym; - /** constructor */ @@ -112,8 +102,6 @@ public class PatternMatcher { Modifiers.MUTABLE); this.resultVar.setType(tpe); this.statics = defs.getModule(Names.scala_Boolean); - this.trueSym = defs.TRUE(); - this.falseSym = defs.FALSE(); this.infer = infer; } @@ -792,25 +780,14 @@ public class PatternMatcher { } protected Tree mkBoolean(int pos, boolean bool) { - Name name = bool ? TRUE_N : FALSE_N; - Symbol val = bool ? trueSym : falseSym; - return make.Select( - pos, - make.Select( - pos, - make.Ident(pos, SCALA_N) - .setType(typeOf(defs.SCALA)).setSymbol(defs.SCALA), - BOOLEAN_N).setType(typeOf(statics)).setSymbol(statics), - name).setType(defs.BOOLEAN_TYPE).setSymbol(val); + Boolean val = bool ? Boolean.TRUE : Boolean.FALSE; + return make.Literal(pos, val).setType(defs.BOOLEAN_TYPE); } protected Tree mkNegate(Tree tree) { switch (tree) { - case Select(_, _): - if (tree.symbol() == trueSym) - return mkBoolean(tree.pos, false); - else if (tree.symbol() == falseSym) - return mkBoolean(tree.pos, true); + case Literal(Object value): + return mkBoolean(tree.pos, !((Boolean)value).booleanValue()); } return make.Apply( tree.pos, @@ -820,16 +797,12 @@ public class PatternMatcher { protected Tree mkAnd(Tree left, Tree right) { switch (left) { - case Select(_, _): - if (left.symbol() == trueSym) - return right; - else if (left.symbol() == falseSym) - return left; + case Literal(Object value): + return ((Boolean)value).booleanValue() ? right : left; } switch (right) { - case Select(_, _): - if (right.symbol() == trueSym) - return left; + case Literal(Object value): + if (((Boolean)value).booleanValue()) return left; } Symbol fun = left.type.lookup(AND_N); return make.Apply( @@ -843,16 +816,12 @@ public class PatternMatcher { protected Tree mkOr(Tree left, Tree right) { switch (left) { - case Select(_, _): - if (left.symbol() == trueSym) - return left; - else if (left.symbol() == falseSym) - return right; + case Literal(Object value): + return ((Boolean)value).booleanValue() ? left : right; } switch (right) { - case Select(_, _): - if (right.symbol() == falseSym) - return left; + case Literal(Object value): + if (!((Boolean)value).booleanValue()) return left; } Symbol fun = left.type.lookup(OR_N); return make.Apply( |