public static TransformationResult <T> Transform <T>(this TransformationResult <T> result, TransformerFactory <T> _transformerFactory) where T : SyntaxNode { if (_transformerFactory == null) { return(result); } var transformer = _transformerFactory(result.Node); if (transformer?.CanTransform(result.Root) ?? false) { result = transformer.Transform(result.Root); } return(result); }
public static Or <TransformationResult <TSource>, TransformationResult <TRes> > Transform <TSource, TRes>( this TransformationResult <TSource> result, TransformerFactory <TSource, TRes> _transformerFactory) where TSource : SyntaxNode where TRes : SyntaxNode { if (_transformerFactory == null) { return(result); } var transformer = _transformerFactory(result.Node); if (transformer?.CanTransform(result.Root) ?? false) { return(transformer.Transform(result.Root)); } return(result); }
public static TransformationResult <TResult> SelectNode <TArg, TResult>(this TransformationResult <TArg> originalResult, Func <TArg, TResult> selector) where TArg : SyntaxNode where TResult : SyntaxNode { return(Transformed(originalResult.Root, selector(originalResult.Node))); }