diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-06 15:14:19 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-06 15:14:19 +0000 |
| commit | 651c531a85d23fb88cc810ac5cdd92f80f1c8a3a (patch) | |
| tree | cc9b627bc663a9dc3c72d8adc3015eda8f183e3e /src/main/resources | |
| parent | f97a917753b91b6f738593dc76cda98207f888d1 (diff) | |
Allow integers to boxed in C# backend
Diffstat (limited to 'src/main/resources')
| -rw-r--r-- | src/main/resources/csharp/runtime/java/lang/Integer.cs | 13 | ||||
| -rw-r--r-- | src/main/resources/csharp/runtime/java/lang/Object.cs | 11 |
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); + } + } +} |
