You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// Classifier will see only unique assemblies, since that's what's processed by the JI type scanner - even though some assemblies may have
596
+
/// abi-specific features (e.g. inlined `IntPtr.Size` or processor-specific intrinsics), the **types** and **methods** will all be the same and, thus,
597
+
/// there's no point in scanning all of the additional copies of the same assembly.
598
+
/// </para>
599
+
/// <para>
600
+
/// This, however, doesn't work for the rewriter which needs to rewrite all of the copies so that they all have the same generated wrappers. In
601
+
/// order to do that, we need to go over the list of assemblies found by the classifier, see if they are abi-specific ones and then add all the
602
+
/// marshal methods from the abi-specific assembly copies, so that the rewriter can easily rewrite them all.
603
+
/// </para>
604
+
/// <para>
605
+
/// This method returns a dictionary matching `AssemblyDefinition` instances to the path on disk to the assembly file they were loaded from. It is necessary
606
+
/// because <see cref="LoadAssembly"/> uses a stream to load the data, in order to avoid later sharing violation issues when writing the assemblies. Path
607
+
/// information is required by <see cref="MarshalMethodsAssemblyRewriter"/> to be available for each <see cref="MarshalMethodEntry"/>
thrownewInvalidOperationException($"Internal error: type '{wantedType.FullName}' not found in assembly '{assemblyItem.ItemSpec}', a linker error?");
680
+
}
681
+
682
+
if(type.MetadataToken!=wantedType.MetadataToken){
683
+
thrownewInvalidOperationException($"Internal error: type '{type.FullName}' in assembly '{assemblyItem.ItemSpec}' has a different token ID than the original type");
TestContext.WriteLine($"Could not extract platform-tools version from repository2-3.xml: {e}");
65
-
}
65
+
Assert.Fail($"A required dependency was not installed, warnings are listed below. Please check the task output in 'install-deps.log'.\n{sb.ToString()}");
66
66
}
67
-
Assert.IsTrue(usedNewDir,$"_AndroidSdkDirectory was not set to new SDK path `{sdkPath}`.");
67
+
68
+
b.Target=defaultTarget;
69
+
b.BuildLogFile="build.log";
70
+
Assert.IsTrue(b.Build(proj,true),"build should have succeeded.");
0 commit comments