From 5b7e18544beb8f7bf0c425b38dbc93dcfb537afb Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Fri, 19 Apr 2019 09:43:59 +0300 Subject: [PATCH] PEVerify: All Classes and Methods in Avalonia.Themes.Default.dll Verified. --- .../Transformers/AddNameScopeRegistration.cs | 10 +++++----- src/Markup/Avalonia.Markup.Xaml/XamlIl/xamlil.github | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AddNameScopeRegistration.cs b/src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AddNameScopeRegistration.cs index b3b00d00e2..1513738f05 100644 --- a/src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AddNameScopeRegistration.cs +++ b/src/Markup/Avalonia.Markup.Xaml/XamlIl/CompilerExtensions/Transformers/AddNameScopeRegistration.cs @@ -12,11 +12,8 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers if (node is XamlIlPropertyAssignmentNode pa && pa.Property.Name == "Name" && pa.Property.Setter.DeclaringType.FullName == "Avalonia.StyledElement") - { return new ScopeRegistrationNode(pa); - } - return node; } @@ -40,13 +37,15 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers var findNameScope = exts.FindMethod(m => m.Name == "FindNameScope"); var registerMethod = findNameScope.ReturnType.FindMethod(m => m.Name == "Register"); using (var nameLoc = context.GetLocal(context.Configuration.WellKnownTypes.String)) - using (var targetLoc = context.GetLocal(context.Configuration.WellKnownTypes.Object)) + using (var targetLoc = context.GetLocal(_property.Setter.DeclaringType)) using (var nameScopeLoc = context.GetLocal(findNameScope.ReturnType)) { var exit = codeGen.DefineLabel(); // var target = {target} - codeGen.Stloc(targetLoc.Local); + codeGen + .Castclass(_property.Setter.DeclaringType) + .Stloc(targetLoc.Local); // var name = {EmitName()} context.Emit(Value, codeGen, _property.PropertyType); @@ -57,6 +56,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers .EmitCall(_property.Setter) // var scope = target.FindNameScope() .Ldloc(targetLoc.Local) + .Castclass(findNameScope.Parameters[0]) .EmitCall(findNameScope) .Stloc(nameScopeLoc.Local) // if({scope} != null) goto call; diff --git a/src/Markup/Avalonia.Markup.Xaml/XamlIl/xamlil.github b/src/Markup/Avalonia.Markup.Xaml/XamlIl/xamlil.github index 8fcce31fad..ddc2490b8f 160000 --- a/src/Markup/Avalonia.Markup.Xaml/XamlIl/xamlil.github +++ b/src/Markup/Avalonia.Markup.Xaml/XamlIl/xamlil.github @@ -1 +1 @@ -Subproject commit 8fcce31fad28cb24b647ca3aed90199553ed0ca4 +Subproject commit ddc2490b8f0437c42c9bc4662b25c2f693255278