Sawmill

Class RewriterBuilderCase

Tools for building rewriters for a single subclass of a base type.

Inheritance
Declaration
public static class RewriterBuilderCase : Object

Methods

ConstructWith<U1, U2, U3, U4, U5, U6, U7, U8, TBase, TSub>(RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, U5>, U6>, U7>, U8>, TBase, TSub>, Func<U1, U2, U3, U4, U5, U6, U7, U8, TSub>)

Rebuild the subtype with the supplied function, after flattening the tuple.

Declaration
public static IRewriter<TBase> ConstructWith<U1, U2, U3, U4, U5, U6, U7, U8, TBase, TSub>(this RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<object, U1>, U2>, U3>, U4>, U5>, U6>, U7>, U8>, TBase, TSub> builder, Func<U1, U2, U3, U4, U5, U6, U7, U8, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, U5>, U6>, U7>, U8>, TBase, TSub>

builder

Func<U1, U2, U3, U4, U5, U6, U7, U8, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

U1

U2

U3

U4

U5

U6

U7

U8

TBase

TSub

ConstructWith<TBase, TSub>(RewriterBuilderCase<Object, TBase, TSub>, Func<TSub>)

Rebuild the subtype with the supplied function.

Declaration
public static IRewriter<TBase> ConstructWith<TBase, TSub>(this RewriterBuilderCase<object, TBase, TSub> builder, Func<TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<Object, TBase, TSub>

builder

Func<TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

TBase

TSub

ConstructWith<T, TBase, TSub>(RewriterBuilderCase<T, TBase, TSub>, Func<T, TSub>)

Rebuild the subtype with the supplied function.

Declaration
public static IRewriter<TBase> ConstructWith<T, TBase, TSub>(this RewriterBuilderCase<T, TBase, TSub> builder, Func<T, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<T, TBase, TSub>

builder

Func<T, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

T

TBase

TSub

ConstructWith<U1, TBase, TSub>(RewriterBuilderCase<ValueTuple<Object, U1>, TBase, TSub>, Func<U1, TSub>)

Rebuild the subtype with the supplied function, after flattening the tuple.

Declaration
public static IRewriter<TBase> ConstructWith<U1, TBase, TSub>(this RewriterBuilderCase<ValueTuple<object, U1>, TBase, TSub> builder, Func<U1, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<ValueTuple<Object, U1>, TBase, TSub>

builder

Func<U1, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

U1

TBase

TSub

ConstructWith<U1, U2, TBase, TSub>(RewriterBuilderCase<ValueTuple<ValueTuple<Object, U1>, U2>, TBase, TSub>, Func<U1, U2, TSub>)

Rebuild the subtype with the supplied function, after flattening the tuple.

Declaration
public static IRewriter<TBase> ConstructWith<U1, U2, TBase, TSub>(this RewriterBuilderCase<ValueTuple<ValueTuple<object, U1>, U2>, TBase, TSub> builder, Func<U1, U2, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<ValueTuple<ValueTuple<Object, U1>, U2>, TBase, TSub>

builder

Func<U1, U2, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

U1

U2

TBase

TSub

ConstructWith<U1, U2, U3, TBase, TSub>(RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, TBase, TSub>, Func<U1, U2, U3, TSub>)

Rebuild the subtype with the supplied function, after flattening the tuple.

Declaration
public static IRewriter<TBase> ConstructWith<U1, U2, U3, TBase, TSub>(this RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<object, U1>, U2>, U3>, TBase, TSub> builder, Func<U1, U2, U3, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, TBase, TSub>

builder

Func<U1, U2, U3, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

U1

U2

U3

TBase

TSub

ConstructWith<U1, U2, U3, U4, TBase, TSub>(RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, TBase, TSub>, Func<U1, U2, U3, U4, TSub>)

Rebuild the subtype with the supplied function, after flattening the tuple.

Declaration
public static IRewriter<TBase> ConstructWith<U1, U2, U3, U4, TBase, TSub>(this RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<object, U1>, U2>, U3>, U4>, TBase, TSub> builder, Func<U1, U2, U3, U4, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, TBase, TSub>

builder

Func<U1, U2, U3, U4, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

U1

U2

U3

U4

TBase

TSub

ConstructWith<U1, U2, U3, U4, U5, TBase, TSub>(RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, U5>, TBase, TSub>, Func<U1, U2, U3, U4, U5, TSub>)

Rebuild the subtype with the supplied function, after flattening the tuple.

Declaration
public static IRewriter<TBase> ConstructWith<U1, U2, U3, U4, U5, TBase, TSub>(this RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<object, U1>, U2>, U3>, U4>, U5>, TBase, TSub> builder, Func<U1, U2, U3, U4, U5, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, U5>, TBase, TSub>

builder

Func<U1, U2, U3, U4, U5, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

U1

U2

U3

U4

U5

TBase

TSub

ConstructWith<U1, U2, U3, U4, U5, U6, TBase, TSub>(RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, U5>, U6>, TBase, TSub>, Func<U1, U2, U3, U4, U5, U6, TSub>)

Rebuild the subtype with the supplied function, after flattening the tuple.

Declaration
public static IRewriter<TBase> ConstructWith<U1, U2, U3, U4, U5, U6, TBase, TSub>(this RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<object, U1>, U2>, U3>, U4>, U5>, U6>, TBase, TSub> builder, Func<U1, U2, U3, U4, U5, U6, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, U5>, U6>, TBase, TSub>

builder

Func<U1, U2, U3, U4, U5, U6, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

U1

U2

U3

U4

U5

U6

TBase

TSub

ConstructWith<U1, U2, U3, U4, U5, U6, U7, TBase, TSub>(RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, U5>, U6>, U7>, TBase, TSub>, Func<U1, U2, U3, U4, U5, U6, U7, TSub>)

Rebuild the subtype with the supplied function, after flattening the tuple.

Declaration
public static IRewriter<TBase> ConstructWith<U1, U2, U3, U4, U5, U6, U7, TBase, TSub>(this RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<object, U1>, U2>, U3>, U4>, U5>, U6>, U7>, TBase, TSub> builder, Func<U1, U2, U3, U4, U5, U6, U7, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<ValueTuple<Object, U1>, U2>, U3>, U4>, U5>, U6>, U7>, TBase, TSub>

builder

Func<U1, U2, U3, U4, U5, U6, U7, TSub>

constructor

Returns
Type Description

IRewriter<TBase>

Type Parameters
Name Description

U1

U2

U3

U4

U5

U6

U7

TBase

TSub

In This Article