diff options
author | paltherr <paltherr@epfl.ch> | 2003-06-17 12:46:07 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-06-17 12:46:07 +0000 |
commit | 2fd2dfeeb36a3da7b1b24134f122f9d20871e86c (patch) | |
tree | 28dcd47fc36dbf94ac68bba6270ebbb6969800d8 | |
parent | 099c17cf13075c78d7b13c7c8d93d8e82b38903a (diff) | |
download | scala-2fd2dfeeb36a3da7b1b24134f122f9d20871e86c.tar.gz scala-2fd2dfeeb36a3da7b1b24134f122f9d20871e86c.tar.bz2 scala-2fd2dfeeb36a3da7b1b24134f122f9d20871e86c.zip |
- Added method "equals" to class Any
-rw-r--r-- | sources/scala/tools/scalai/Compiler.java | 7 | ||||
-rw-r--r-- | sources/scalac/symtab/Definitions.java | 7 |
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)); |