-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kotlin support #402
Comments
See also http://battlecodeforum.org/t/anyone-interested-in-kotlin/134 Regarding the nonNull checks and similar things, it would be great if the instrumenter specifically made such assertions have a 0 cost to avoid penalizing bots just based on the language used even if the algorithms are exactly the same. |
Because of Kotlin's pretty extensive interop features, the only thing needed to get it working should be allowing kotlin's stdlib packages. I agree with @HalfVoxel though, I'll make a pull request for this if one of the project members weighs in on whether to count |
@Pear0 That would be great. I'm sorry this feature has taken so long, we've been busy putting out other fires. |
Some things I've found: As it turns out, because Kotlin targets 1.6, it doesn't use Disallowing |
Kotlin support would be great and nearly works but Kotlin relies on
kotlin/Intrinsics
and other stdlib classes for many operations that it performs.Even the most basic RobotPlayer will be rejected by the instrumenter because Kotlin inserts non-null checks using
Intrinsics.requireNonNull
.These particular checks can be disabled with
-Xno-param-assertions
and-Xno-call-assertions
, but Kotlin relies on its stdlib for all kinds of things which can't be disabled.I'm using Kotlin 1.0.6 if that matters.
The text was updated successfully, but these errors were encountered: