|
|
@ -57,7 +57,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions |
|
|
|
|
|
|
|
|
var name = lst.Count == 0 ? key : key + "_" + context.Configuration.IdentifierGenerator.GenerateIdentifierPart(); |
|
|
var name = lst.Count == 0 ? key : key + "_" + context.Configuration.IdentifierGenerator.GenerateIdentifierPart(); |
|
|
|
|
|
|
|
|
var field = _builder.DefineField(types.IPropertyInfo, name + "!Field", false, true); |
|
|
var field = _builder.DefineField(types.IPropertyInfo, name + "!Field", XamlVisibility.Private, true); |
|
|
|
|
|
|
|
|
void Load(IXamlMethod m, IXamlILEmitter cg, bool passThis) |
|
|
void Load(IXamlMethod m, IXamlILEmitter cg, bool passThis) |
|
|
{ |
|
|
{ |
|
|
@ -80,7 +80,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions |
|
|
var getter = property.Getter == null ? |
|
|
var getter = property.Getter == null ? |
|
|
null : |
|
|
null : |
|
|
_builder.DefineMethod(types.XamlIlTypes.Object, |
|
|
_builder.DefineMethod(types.XamlIlTypes.Object, |
|
|
new[] {types.XamlIlTypes.Object}, name + "!Getter", false, true, false); |
|
|
new[] {types.XamlIlTypes.Object}, name + "!Getter", XamlVisibility.Private, true, false); |
|
|
if (getter != null) |
|
|
if (getter != null) |
|
|
{ |
|
|
{ |
|
|
Load(property.Getter, getter.Generator, !property.Getter.IsStatic); |
|
|
Load(property.Getter, getter.Generator, !property.Getter.IsStatic); |
|
|
@ -95,7 +95,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions |
|
|
null : |
|
|
null : |
|
|
_builder.DefineMethod(types.XamlIlTypes.Void, |
|
|
_builder.DefineMethod(types.XamlIlTypes.Void, |
|
|
new[] {types.XamlIlTypes.Object, types.XamlIlTypes.Object}, |
|
|
new[] {types.XamlIlTypes.Object, types.XamlIlTypes.Object}, |
|
|
name + "!Setter", false, true, false); |
|
|
name + "!Setter", XamlVisibility.Private, true, false); |
|
|
if (setter != null) |
|
|
if (setter != null) |
|
|
{ |
|
|
{ |
|
|
Load(property.Setter, setter.Generator, !property.Getter.IsStatic); |
|
|
Load(property.Setter, setter.Generator, !property.Getter.IsStatic); |
|
|
@ -111,7 +111,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var get = _builder.DefineMethod(types.IPropertyInfo, Array.Empty<IXamlType>(), |
|
|
var get = _builder.DefineMethod(types.IPropertyInfo, Array.Empty<IXamlType>(), |
|
|
name + "!Property", true, true, false); |
|
|
name + "!Property", XamlVisibility.Public, true, false); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ctor = types.ClrPropertyInfo.Constructors.First(c => |
|
|
var ctor = types.ClrPropertyInfo.Constructors.First(c => |
|
|
|