public XamlIlPropertyPathNode(IXamlLineInfo lineInfo,
                               List <IXamlIlPropertyPathElementNode> elements,
                               AvaloniaXamlIlWellKnownTypes types) : base(lineInfo)
 {
     _elements = elements;
     _types    = types;
     Type      = new XamlAstClrTypeReference(this, types.PropertyPath, false);
 }
 public static AvaloniaXamlIlWellKnownTypes GetAvaloniaTypes(this XamlEmitContext <IXamlILEmitter, XamlILNodeEmitResult> ctx)
 {
     if (ctx.TryGetItem <AvaloniaXamlIlWellKnownTypes>(out var rv))
     {
         return(rv);
     }
     ctx.SetItem(rv = new AvaloniaXamlIlWellKnownTypes(ctx.Configuration));
     return(rv);
 }
 public static AvaloniaXamlIlWellKnownTypes GetAvaloniaTypes(this AstTransformationContext ctx)
 {
     if (ctx.TryGetItem <AvaloniaXamlIlWellKnownTypes>(out var rv))
     {
         return(rv);
     }
     ctx.SetItem(rv = new AvaloniaXamlIlWellKnownTypes(ctx.Configuration));
     return(rv);
 }
            public SetterValueProperty(IXamlIlLineInfo line, IXamlIlType setterType, IXamlIlType targetType,
                                       AvaloniaXamlIlWellKnownTypes types)
                : base(line, "Value", setterType, null)
            {
                Getter = setterType.Methods.First(m => m.Name == "get_Value");
                var method = setterType.Methods.First(m => m.Name == "set_Value");

                Setters.Add(new XamlIlDirectCallPropertySetter(method, types.IBinding));
                Setters.Add(new XamlIlDirectCallPropertySetter(method, types.UnsetValueType));
                Setters.Add(new XamlIlDirectCallPropertySetter(method, targetType));
            }
 public HandleRootObjectScopeNode(IXamlLineInfo lineInfo,
                                  AvaloniaXamlIlWellKnownTypes types) : base(lineInfo)
 {
     _types = types;
 }
Exemplo n.º 6
0
 public ClassBindingSetter(AvaloniaXamlIlWellKnownTypes types, string className)
 {
     _types     = types;
     _className = className;
     Parameters = new[] { types.IBinding };
 }
Exemplo n.º 7
0
 public ClassValueSetter(AvaloniaXamlIlWellKnownTypes types, string className)
 {
     _types     = types;
     _className = className;
     Parameters = new[] { types.XamlIlTypes.Boolean };
 }
Exemplo n.º 8
0
 public AvaloniaNameScopeRegistrationXamlIlNode(IXamlIlAstValueNode name, AvaloniaXamlIlWellKnownTypes types) : base(name)
 {
     _types = types;
     Name   = name;
 }