[Java.Base] Bind package java.util.concurrent #1274
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context: 0aec86a
Commit 0aec86a mentioned:
This issue also impacts
java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.Update
Java.Baseto bind thejava.util.concurrentpackage, which will causeAbstractQueuedSynchronizerto be bound, which in turn forces us to updategeneratorto not emitJNIEnv.GetJniName(). Instead of usingJNIEnv.GetJniName(Type), use:Update NestedTypes.cs to enable
TryJavaInterop1 => true.Update
Java.Base.csprojto ignore C# warning CS0109, asCompletableFuture.handle()is emitted with anewwhich is not required:Add a test to
tests/Java.Base-Testswhich tests nested type support.Update
JavaNativeTypeManager.csso thatIsNonStaticInnerClass()supports JavaInterop1-style attributes, not just XAJavaInterop1.Aside: I updated my local JDK to JDK-17 (from JDK-11), which caused many changes to
src/Java.Base-ref.cs, particularly parameter names.TODO? Update
Java.Interop.Tools.JavaCallableWrappersso that non-static inner classes don't have a prefix of their declaring type. This would result inexample/MyQueuedSynchronizer$MyConditionObjectinstead ofexample/MyQueuedSynchronizer$MyQueuedSynchronizer_MyConditionObject.