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<((((((((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<((((((((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<(, )<(, )<(, )<(, )<(, )<(, )<(, )<(, )<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<(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<(object, U1), TBase, TSub> builder, Func<U1, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<(, )<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<((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<((object, U1), U2), TBase, TSub> builder, Func<U1, U2, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<(, )<(, )<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<(((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<(((object, U1), U2), U3), TBase, TSub> builder, Func<U1, U2, U3, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<(, )<(, )<(, )<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<((((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<((((object, U1), U2), U3), U4), TBase, TSub> builder, Func<U1, U2, U3, U4, TSub> constructor)
    where TSub : TBase
Parameters
Type Name Description

RewriterBuilderCase<(, )<(, )<(, )<(, )<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<(((((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<(((((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<(, )<(, )<(, )<(, )<(, )<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<((((((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<((((((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<(, )<(, )<(, )<(, )<(, )<(, )<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<(((((((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<(((((((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<(, )<(, )<(, )<(, )<(, )<(, )<(, )<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