Ejemplo n.º 1
0
        private static void EmitNameScopeField(XamlIlLanguageTypeMappings mappings,
                                               IXamlIlTypeSystem typeSystem,
                                               IXamlIlTypeBuilder typebuilder, IXamlIlEmitter constructor)
        {
            var nameScopeType = typeSystem.FindType("Avalonia.Controls.INameScope");
            var field         = typebuilder.DefineField(nameScopeType,
                                                        ContextNameScopeFieldName, true, false);

            constructor
            .Ldarg_0()
            .Ldarg(1)
            .Ldtype(nameScopeType)
            .EmitCall(mappings.ServiceProvider.GetMethod(new FindMethodMethodSignature("GetService",
                                                                                       typeSystem.FindType("System.Object"), typeSystem.FindType("System.Type"))))
            .Stfld(field);
        }
Ejemplo n.º 2
0
 public static IXamlIlEmitter LdThisFld(this IXamlIlEmitter emitter, IXamlIlField field)
 => emitter.Ldarg_0().Emit(OpCodes.Ldfld, field);