diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-06-12 15:16:45 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-06-12 15:16:45 +0100 |
| commit | 2934f5546ababe312aec007ce0ef1f3764a680a4 (patch) | |
| tree | 701d0a8f2cef4ec927042a16d46559e13fe5efa4 /src/main/java/org/zwobble/couscous/backends/csharp/primitives | |
| parent | 10155eb9e00d58d8a13c37930024ec4c8e1eaaeb (diff) | |
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/csharp/primitives')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/backends/csharp/primitives/CsharpPrimitiveMethods.java | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/primitives/CsharpPrimitiveMethods.java b/src/main/java/org/zwobble/couscous/backends/csharp/primitives/CsharpPrimitiveMethods.java index 43ca370..3029a60 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/primitives/CsharpPrimitiveMethods.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/primitives/CsharpPrimitiveMethods.java @@ -1,7 +1,10 @@ package org.zwobble.couscous.backends.csharp.primitives; import com.google.common.collect.ImmutableMap; -import org.zwobble.couscous.ast.*; +import org.zwobble.couscous.ast.ExpressionNode; +import org.zwobble.couscous.ast.MethodCallNode; +import org.zwobble.couscous.ast.Operator; +import org.zwobble.couscous.ast.Receiver; import org.zwobble.couscous.ast.visitors.NodeTransformer; import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.Types; @@ -144,12 +147,18 @@ public class CsharpPrimitiveMethods { )) .put("parseInt", new PrimitiveStaticMethod( - arguments -> staticMethodCall( - ScalarType.topLevel("int"), - "Parse", - list(arguments.get(0)), - ScalarType.topLevel("int") - ), + arguments -> { + if (arguments.size() == 1 || arguments.size() == 2) { + return staticMethodCall( + ScalarType.topLevel("System.Convert"), + "ToInt32", + arguments, + ScalarType.topLevel("int") + ); + } else { + throw new IllegalArgumentException(); + } + }, Types.INT )) |
