diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs index 022a45469b..ece76cd30b 100644 --- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs +++ b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs @@ -336,20 +336,4 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers { public IXamlType Type { get; set; } } - - class RawSourceBindingExpressionNode : XamlAstNode, BindingExpressionGrammar.INode - { - public RawSourceBindingExpressionNode(IXamlAstValueNode rawSource) - : base(rawSource) - { - RawSource = rawSource; - } - - public IXamlAstValueNode RawSource { get; private set; } - - public override void VisitChildren(IXamlAstVisitor visitor) - { - RawSource = (IXamlAstValueNode)RawSource.Visit(visitor); - } - } } diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs index 0adb26973d..4ca23500b4 100644 --- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs +++ b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs @@ -325,9 +325,6 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions } nodes.Add(new ElementNamePathElementNode(elementName.Name, elementType)); break; - case RawSourceBindingExpressionNode rawSource: - nodes.Add(new RawSourcePathElementNode(rawSource.RawSource)); - break; case BindingExpressionGrammar.TypeCastNode typeCastNode: var castType = GetType(typeCastNode.Namespace, typeCastNode.TypeName); @@ -862,28 +859,6 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions public IXamlType Type => _arrayType.ArrayElementType; } - class RawSourcePathElementNode : XamlAstNode, IXamlIlBindingPathElementNode - { - private readonly IXamlAstValueNode _rawSource; - - public RawSourcePathElementNode(IXamlAstValueNode rawSource) - : base(rawSource) - { - _rawSource = rawSource; - - } - - public IXamlType Type => _rawSource.Type.GetClrType(); - - public void Emit(XamlIlEmitContext context, IXamlILEmitter codeGen) - { - context.Emit(_rawSource, codeGen, Type); - codeGen - .EmitCall(context.GetAvaloniaTypes() - .CompiledBindingPathBuilder.FindMethod(m => m.Name == "SetRawSource")); - } - } - class TypeCastPathElementNode : IXamlIlBindingPathElementNode { public TypeCastPathElementNode(IXamlType ancestorType) diff --git a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/CompiledBindingPath.cs b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/CompiledBindingPath.cs index 6b6e680af6..38bc04b32b 100644 --- a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/CompiledBindingPath.cs +++ b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/CompiledBindingPath.cs @@ -16,11 +16,8 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings public CompiledBindingPath() => _elements = Array.Empty(); - internal CompiledBindingPath(ICompiledBindingPathElement[] elements, object? rawSource) - { - _elements = elements; - RawSource = rawSource; - } + internal CompiledBindingPath(ICompiledBindingPathElement[] elements) + => _elements = elements; internal void BuildExpression(List result, out bool isRooted) { @@ -97,8 +94,6 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings internal SourceMode SourceMode => Array.Exists(_elements, e => e is IControlSourceBindingPathElement) ? SourceMode.Control : SourceMode.Data; - internal object? RawSource { get; } - /// public override string ToString() => string.Concat((IEnumerable) _elements); @@ -107,7 +102,6 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings public class CompiledBindingPathBuilder { private readonly int _apiVersion; - private object? _rawSource; private readonly List _elements = new(); public CompiledBindingPathBuilder() @@ -210,13 +204,13 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings return this; } + [Obsolete("This method doesn't do anything anymore. Use Binding.Source instead.")] public CompiledBindingPathBuilder SetRawSource(object? rawSource) { - _rawSource = rawSource; return this; } - public CompiledBindingPath Build() => new CompiledBindingPath(_elements.ToArray(), _rawSource); + public CompiledBindingPath Build() => new CompiledBindingPath(_elements.ToArray()); } internal interface ICompiledBindingPathElement