Пример #1
0
        private static void EmitNameScopeField(XamlLanguageTypeMappings xamlLanguage, CecilTypeSystem typeSystem, IXamlTypeBuilder <IXamlILEmitter> typeBuilder, IXamlILEmitter constructor)
        {
            var nameScopeType = typeSystem.FindType("Robust.Client.UserInterface.XAML.NameScope");
            var field         = typeBuilder.DefineField(nameScopeType,
                                                        ContextNameScopeFieldName, true, false);

            constructor
            .Ldarg_0()
            .Newobj(nameScopeType.GetConstructor())
            .Stfld(field);
        }
Пример #2
0
        private static void EmitNameScopeField(XamlLanguageTypeMappings mappings,
                                               IXamlTypeSystem typeSystem,
                                               IXamlTypeBuilder <IXamlILEmitter> 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);
        }
Пример #3
0
 public static IXamlILEmitter LdThisFld(this IXamlILEmitter emitter, IXamlField field)
 => emitter.Ldarg_0().Emit(OpCodes.Ldfld, field);