summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-06-17 12:46:07 +0000
committerpaltherr <paltherr@epfl.ch>2003-06-17 12:46:07 +0000
commit2fd2dfeeb36a3da7b1b24134f122f9d20871e86c (patch)
tree28dcd47fc36dbf94ac68bba6270ebbb6969800d8
parent099c17cf13075c78d7b13c7c8d93d8e82b38903a (diff)
downloadscala-2fd2dfeeb36a3da7b1b24134f122f9d20871e86c.tar.gz
scala-2fd2dfeeb36a3da7b1b24134f122f9d20871e86c.tar.bz2
scala-2fd2dfeeb36a3da7b1b24134f122f9d20871e86c.zip
- Added method "equals" to class Any
-rw-r--r--sources/scala/tools/scalai/Compiler.java7
-rw-r--r--sources/scalac/symtab/Definitions.java7
2 files changed, 13 insertions, 1 deletions
diff --git a/sources/scala/tools/scalai/Compiler.java b/sources/scala/tools/scalai/Compiler.java
index afe54097fd..4398903fc6 100644
--- a/sources/scala/tools/scalai/Compiler.java
+++ b/sources/scala/tools/scalai/Compiler.java
@@ -103,8 +103,13 @@ public class Compiler {
Code.Null, Variable.Argument(0))},
0),
0));
- // !!! any_methods.put(_, equals_code);
+ any_methods.put(definitions.EQUALS, equals_code);
any_methods.put(equals_method, equals_code);
+ environment.insertFunction(definitions.EQUALS,
+ Function.JavaMethod(equals_method));
+ Override equals_override = Override.empty();
+ equals_override.insert(equals_method).insert(definitions.EQUALS);
+ environment.insertOverride(definitions.EQUALS, equals_override);
// !!! method java.lang.Object.equals(Object)
// !!! method java.lang.Object.finalize()
diff --git a/sources/scalac/symtab/Definitions.java b/sources/scalac/symtab/Definitions.java
index b729dc4b2a..10c0198e00 100644
--- a/sources/scalac/symtab/Definitions.java
+++ b/sources/scalac/symtab/Definitions.java
@@ -66,6 +66,7 @@ public class Definitions {
public final Symbol AS;
public final Symbol EQEQ;
public final Symbol BANGEQ;
+ public final Symbol EQUALS;
public final Symbol TOSTRING;
public final Symbol HASHCODE;
@@ -340,6 +341,12 @@ public class Definitions {
BOOLEAN_TYPE));
ANY_CLASS.members().enter(BANGEQ);
+ EQUALS = new TermSymbol(
+ Position.NOPOS, Names.equals, ANY_CLASS, 0);
+ EQUALS.setInfo(Type.MethodType(new Symbol[]{newParameter(EQUALS, JAVA_OBJECT_TYPE)},
+ BOOLEAN_TYPE));
+ ANY_CLASS.members().enter(EQUALS);
+
TOSTRING = new TermSymbol(
Position.NOPOS, Names.toString, ANY_CLASS, 0);
TOSTRING.setInfo(Type.MethodType(Symbol.EMPTY_ARRAY, STRING_TYPE));