Skip to content

Commit f7ecb71

Browse files
committed
Test JI #1174.
1 parent 06b1d7f commit f7ecb71

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

external/Java.Interop

src/Mono.Android/Mono.Android.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,13 @@
6969
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.TypeNameMappings\Java.Interop.Tools.TypeNameMappings\JavaNativeTypeManager.cs">
7070
<Link>JavaNativeTypeManager.cs</Link>
7171
</Compile>
72-
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Java.Interop.Tools.JavaCallableWrappers\Crc64.cs">
72+
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Utilities\Crc64.cs">
7373
<Link>Crc64.cs</Link>
7474
</Compile>
75-
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Java.Interop.Tools.JavaCallableWrappers\Crc64Helper.cs">
75+
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Utilities\Crc64Helper.cs">
7676
<Link>Crc64Helper.cs</Link>
7777
</Compile>
78-
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Java.Interop.Tools.JavaCallableWrappers\Crc64.Table.cs">
78+
<Compile Include="..\..\external\Java.Interop\src\Java.Interop.Tools.JavaCallableWrappers\Utilities\Crc64.Table.cs">
7979
<Link>Crc64.Table.cs</Link>
8080
</Compile>
8181
<Compile Include="Android.Content.PM\PackageManager.cs" />

src/Xamarin.Android.Build.Tasks/Tasks/GenerateJavaStubs.cs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
using Xamarin.Android.Tools;
2222
using Microsoft.Android.Build.Tasks;
23+
using Java.Interop.Tools.JavaCallableWrappers.Adapters;
2324

2425
namespace Xamarin.Android.Tasks
2526
{
@@ -473,23 +474,29 @@ bool CreateJavaSources (IEnumerable<JavaType> newJavaTypes, TypeDefinitionCache
473474

474475
using (var writer = MemoryStreamPool.Shared.CreateStreamWriter ()) {
475476
try {
476-
var jti = new JavaCallableWrapperGenerator (t, Log.LogWarning, cache, classifier) {
477-
GenerateOnCreateOverrides = generateOnCreateOverrides,
478-
ApplicationJavaClass = ApplicationJavaClass,
479-
MonoRuntimeInitialization = monoInit,
477+
var jcw_type = CecilImporter.CreateType (t, cache, methodClassifier: classifier);
478+
479+
jcw_type.GenerateOnCreateOverrides = generateOnCreateOverrides;
480+
jcw_type.ApplicationJavaClass = ApplicationJavaClass;
481+
jcw_type.MonoRuntimeInitialization = monoInit;
482+
483+
var options = new CallableWrapperWriterOptions {
484+
CodeGenerationTarget = JavaPeerStyle.XAJavaInterop1
480485
};
481486

482-
jti.Generate (writer);
487+
jcw_type.Generate (writer, options);
488+
483489
if (useMarshalMethods) {
484490
if (classifier.FoundDynamicallyRegisteredMethods (t)) {
485491
Log.LogWarning ($"Type '{t.GetAssemblyQualifiedName (cache)}' will register some of its Java override methods dynamically. This may adversely affect runtime performance. See preceding warnings for names of dynamically registered methods.");
486492
}
487493
}
494+
488495
writer.Flush ();
489496

490-
var path = jti.GetDestinationPath (outputPath);
497+
var path = jcw_type.GetDestinationPath (outputPath);
491498
Files.CopyIfStreamChanged (writer.BaseStream, path);
492-
if (jti.HasExport && !hasExportReference)
499+
if (jcw_type.HasExport && !hasExportReference)
493500
Diagnostic.Error (4210, Properties.Resources.XA4210);
494501
} catch (XamarinAndroidException xae) {
495502
ok = false;

0 commit comments

Comments
 (0)