/// <summary>
        /// Compiles a <see cref="SetTriggerAction"/> from the specified syntax node.
        /// </summary>
        private static SetTriggerAction CompileSetTriggerAction(UvssSetTriggerActionSyntax node, CultureInfo culture)
        {
            var selector = node.Selector == null ? null :
                           CompileSelector(node.Selector);

            var propName  = new DependencyName(GetPropertyName(node.PropertyName));
            var propValue = new DependencyValue(node.Value.Value, culture);

            return(new SetTriggerAction(selector, propName, propValue));
        }
Exemple #2
0
        /// <inheritdoc/>
        public override SyntaxNode VisitSetTriggerAction(UvssSetTriggerActionSyntax node)
        {
            var unchanged = true;

            var newSetKeyword = (SyntaxToken)Visit(node.SetKeyword);

            if (newSetKeyword != node.SetKeyword)
            {
                unchanged = false;
            }

            var newPropertyName = (UvssPropertyNameSyntax)Visit(node.PropertyName);

            if (newPropertyName != node.PropertyName)
            {
                unchanged = false;
            }

            var newSelector = (UvssSelectorWithParenthesesSyntax)Visit(node.Selector);

            if (newSelector != node.Selector)
            {
                unchanged = false;
            }

            var newValue = (UvssPropertyValueWithBracesSyntax)Visit(node.Value);

            if (newValue != node.Value)
            {
                unchanged = false;
            }

            return(unchanged ? node : new UvssSetTriggerActionSyntax(
                       newSetKeyword,
                       newPropertyName,
                       newSelector,
                       newValue));
        }
 /// <summary>
 /// Visits the specified set trigger action node.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 /// <returns>A node which should replace the visited node, or a reference to the visited node
 /// itself if no changes were made.</returns>
 public virtual SyntaxNode VisitSetTriggerAction(UvssSetTriggerActionSyntax node)
 {
     return(VisitSyntaxNode(node));
 }