Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
StephaneDelcroix committed Jan 17, 2024
1 parent 7701f3f commit 32b2065
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 8 deletions.
6 changes: 0 additions & 6 deletions src/Controls/src/Build.Tasks/NodeILExtensions.cs
Expand Up @@ -640,12 +640,6 @@ public static IEnumerable<Instruction> PushServiceProvider(this INode node, ILCo
yield return Create(Call, module.ImportMethodReference(context.Cache, ("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
yield return Create(Ldloc, refProvider);
yield return Create(Callvirt, addService);

yield return Create(Dup); //Keep the serviceProvider on the stack
yield return Create(Ldtoken, module.ImportReference(context.Cache, ("Microsoft.Maui.Controls", "Microsoft.Maui.Controls.Xaml", "IProvideParentValues")));
yield return Create(Call, module.ImportMethodReference(context.Cache, ("mscorlib", "System", "Type"), methodName: "GetTypeFromHandle", parameterTypes: new[] { ("mscorlib", "System", "RuntimeTypeHandle") }, isStatic: true));
yield return Create(Ldloc, refProvider);
yield return Create(Callvirt, addService);
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/Controls/src/Core/ReferenceTypeConverter.cs
Expand Up @@ -29,7 +29,7 @@ object IExtendedTypeConverter.ConvertFromInvariantString(string value, IServiceP
if (referenceProvider != null)
return referenceProvider.FindByName(value) ?? throw new XamlParseException($"Can't resolve name '{value}' on Element", serviceProvider);

if (!(serviceProvider.GetService(typeof(IProvideParentValues)) is IProvideParentValues valueProvider))
if (!(serviceProvider.GetService(typeof(IProvideValueTarget)) is IProvideParentValues valueProvider))
throw new ArgumentException("serviceProvider does not provide an IProvideValueTarget");

foreach (var target in valueProvider.ParentObjects)
Expand Down
Expand Up @@ -74,7 +74,7 @@ public void TestServiceProviders(bool useCompiledXaml)
//IValueConverterProvider is builtin for free
Assert.AreEqual(null, page.label0.Text);
Assert.AreEqual("IProvideValueTarget,IValueConverterProvider", page.label1.Text);
Assert.AreEqual("IProvideValueTarget,IValueConverterProvider,IProvideParentValues,IReferenceProvider", page.label2.Text);
Assert.AreEqual("IProvideValueTarget,IValueConverterProvider,IReferenceProvider", page.label2.Text);
Assert.AreEqual("IXmlLineInfoProvider,IValueConverterProvider", page.label3.Text);
}
}
Expand Down

0 comments on commit 32b2065

Please sign in to comment.