aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/csharp/runtime/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/csharp/runtime/java')
-rw-r--r--src/main/resources/csharp/runtime/java/lang/Integer.cs13
-rw-r--r--src/main/resources/csharp/runtime/java/lang/Object.cs11
2 files changed, 23 insertions, 1 deletions
diff --git a/src/main/resources/csharp/runtime/java/lang/Integer.cs b/src/main/resources/csharp/runtime/java/lang/Integer.cs
index 9a9f8f5..9e6ee08 100644
--- a/src/main/resources/csharp/runtime/java/lang/Integer.cs
+++ b/src/main/resources/csharp/runtime/java/lang/Integer.cs
@@ -1,7 +1,18 @@
namespace Couscous.java.lang {
- internal class Integer {
+ internal class Integer : Object {
internal static int valueOf__int(int value) {
return value;
}
+
+ private readonly int _value;
+
+ internal Integer(int value) {
+ _value = value;
+ }
+
+ internal override bool equals__java_lang_Object(Object other) {
+ var integer = other as Integer;
+ return integer != null && integer._value == _value;
+ }
}
}
diff --git a/src/main/resources/csharp/runtime/java/lang/Object.cs b/src/main/resources/csharp/runtime/java/lang/Object.cs
new file mode 100644
index 0000000..be76f7a
--- /dev/null
+++ b/src/main/resources/csharp/runtime/java/lang/Object.cs
@@ -0,0 +1,11 @@
+namespace Couscous.java.lang {
+ internal class Object {
+ internal virtual bool equals__java_lang_Object(Object other) {
+ return System.Object.ReferenceEquals(this, other);
+ }
+
+ public static implicit operator Object(int value) {
+ return new Integer(value);
+ }
+ }
+}