/// <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)); }
/// <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)); }