-
Notifications
You must be signed in to change notification settings - Fork 519
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
default interface methods support #1939
Commits on Jul 30, 2018
-
[msbuild] Add support for C# 8 default interface methods (DIMs) step 1.
1) You have to manually provide CscToolPath MSBuild property, unless you install xamarin.android.csc.dim package. 2) You have to explicitly specify AndroidEnableDefaultInterfaceMethods MSBuild property as True. 3) You have to explicitly specify LangVersion MSBuild property as "latest". When C# 8.0 becomes stable, 1) and 3) will become unnecessary. Then we should make changes to 2) as default.
Configuration menu - View commit details
-
Copy full SHA for d20453b - Browse repository at this point
Copy the full SHA d20453bView commit details -
Add tests for default interface method bindings.
They fail so far, because generator is not generating expected code yet.
Configuration menu - View commit details
-
Copy full SHA for c5618e8 - Browse repository at this point
Copy the full SHA c5618e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7918653 - Browse repository at this point
Copy the full SHA 7918653View commit details -
Configuration menu - View commit details
-
Copy full SHA for d688d2b - Browse repository at this point
Copy the full SHA d688d2bView commit details -
bump xamarin-android-build-enhancer to support build inputs/outputs, …
…and fix test names.
Configuration menu - View commit details
-
Copy full SHA for 4109ae5 - Browse repository at this point
Copy the full SHA 4109ae5View commit details -
[linker] Do not emit AbstractMethodError thrower when target method i…
…s DIM. Context: xamarin#1939 (comment)
Configuration menu - View commit details
-
Copy full SHA for 4d29c5a - Browse repository at this point
Copy the full SHA 4d29c5aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 31ec999 - Browse repository at this point
Copy the full SHA 31ec999View commit details -
[Mono.Android] enable default interface method generation.
It results in a bunch of build failures due to lack of metadata fixup for any API glitch so far.
Configuration menu - View commit details
-
Copy full SHA for 5f0ff78 - Browse repository at this point
Copy the full SHA 5f0ff78View commit details -
[Mono.Android] new metadata fixup required for Animator event methods.
There are DIMs that results in managed events and args types, but those names conflict each other (onAnimationStart/onAnimationEnd overloads for each). Therefore the new methods had to be renamed.
Configuration menu - View commit details
-
Copy full SHA for 0e4a32e - Browse repository at this point
Copy the full SHA 0e4a32eView commit details -
[Mono.Android] disable XYZStream.Spliterator() generation.
They result in "nonexistent" `Spliterator.OfXyz` return values, and somehow `managedReturn` fixup doesn't work for them. Disable generating them, removal of them is harmless due to `BaseStream#spliterator()`.
Configuration menu - View commit details
-
Copy full SHA for 091fb51 - Browse repository at this point
Copy the full SHA 091fb51View commit details -
Configuration menu - View commit details
-
Copy full SHA for 938c293 - Browse repository at this point
Copy the full SHA 938c293View commit details -
Configuration menu - View commit details
-
Copy full SHA for f4084d1 - Browse repository at this point
Copy the full SHA f4084d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for f180241 - Browse repository at this point
Copy the full SHA f180241View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6521086 - Browse repository at this point
Copy the full SHA 6521086View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01152f6 - Browse repository at this point
Copy the full SHA 01152f6View commit details -
[Mono.Android] enable java.time package.
Now it is practically doable with DIM support.
Configuration menu - View commit details
-
Copy full SHA for 14ab4a7 - Browse repository at this point
Copy the full SHA 14ab4a7View commit details -
[Mono.Android] bring back java.nio.NetworkChannel and co.
Since we already had some method overrides for NetworkChannel methods (that could have returned common base types by adjusting managedReturn), those return types could not be changed (because of ABI compatibility). Therefore added manual bindings to those interface members instead.
Configuration menu - View commit details
-
Copy full SHA for 6dd52c9 - Browse repository at this point
Copy the full SHA 6dd52c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for e0e42e2 - Browse repository at this point
Copy the full SHA e0e42e2View commit details