@tsonic/dotnet
Version:
TypeScript type definitions for .NET 10 BCL (Base Class Library)
1,096 lines (888 loc) • 51.6 kB
TypeScript
// Generated by tsbindgen - Architecture
// Namespace: System.Linq.Expressions
// Assembly: System.Linq.Expressions
// Branded primitive types are sourced from @tsonic/types
import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/types';
// Import support types from @tsonic/types
import type { ptr, ref } from "@tsonic/types";
// Import types from other namespaces
import type { IEnumerable_1 } from "../../System.Collections.Generic/internal/index.js";
import type { ReadOnlyCollection_1 } from "../../System.Collections.ObjectModel/internal/index.js";
import type { ConstructorInfo, FieldInfo, MemberInfo, MethodInfo, PropertyInfo } from "../../System.Reflection/internal/index.js";
import type { CallSiteBinder, DebugInfoGenerator } from "../../System.Runtime.CompilerServices/internal/index.js";
import * as System_Internal from "../../System/internal/index.js";
import type { Boolean as ClrBoolean, Delegate, Enum, Func_2, Guid, IComparable, IConvertible, IFormatProvider, IFormattable, Int32, ISpanFormattable, Object as ClrObject, String as ClrString, Type, TypeCode } from "../../System/internal/index.js";
// CLROf<T> - Maps ergonomic primitives to their CLR types for generic constraints
// This utility is used ONLY in generic type arguments to satisfy CLR interface constraints
// Value positions (parameters, return types) use lowercase primitives for ergonomics
export type CLROf<T> =
T extends sbyte ? System_Internal.SByte :
T extends short ? System_Internal.Int16 :
T extends int ? System_Internal.Int32 :
T extends long ? System_Internal.Int64 :
T extends int128 ? System_Internal.Int128 :
T extends nint ? System_Internal.IntPtr :
T extends byte ? System_Internal.Byte :
T extends ushort ? System_Internal.UInt16 :
T extends uint ? System_Internal.UInt32 :
T extends ulong ? System_Internal.UInt64 :
T extends uint128 ? System_Internal.UInt128 :
T extends nuint ? System_Internal.UIntPtr :
T extends half ? System_Internal.Half :
T extends float ? System_Internal.Single :
T extends double ? System_Internal.Double :
T extends decimal ? System_Internal.Decimal :
T extends char ? System_Internal.Char :
T extends boolean ? System_Internal.Boolean :
T extends string ? System_Internal.String :
T; // Identity fallback for non-primitive types
export enum ExpressionType {
add = 0,
addChecked = 1,
and = 2,
andAlso = 3,
arrayLength = 4,
arrayIndex = 5,
call = 6,
coalesce = 7,
conditional = 8,
constant = 9,
convert = 10,
convertChecked = 11,
divide = 12,
equal = 13,
exclusiveOr = 14,
greaterThan = 15,
greaterThanOrEqual = 16,
invoke = 17,
lambda = 18,
leftShift = 19,
lessThan = 20,
lessThanOrEqual = 21,
listInit = 22,
memberAccess = 23,
memberInit = 24,
modulo = 25,
multiply = 26,
multiplyChecked = 27,
negate = 28,
unaryPlus = 29,
negateChecked = 30,
new_ = 31,
newArrayInit = 32,
newArrayBounds = 33,
not = 34,
notEqual = 35,
or = 36,
orElse = 37,
parameter = 38,
power = 39,
quote = 40,
rightShift = 41,
subtract = 42,
subtractChecked = 43,
typeAs = 44,
typeIs = 45,
assign = 46,
block = 47,
debugInfo = 48,
decrement = 49,
dynamic = 50,
default_ = 51,
extension = 52,
goto = 53,
increment = 54,
index = 55,
label = 56,
runtimeVariables = 57,
loop = 58,
switch_ = 59,
throw_ = 60,
try_ = 61,
unbox = 62,
addAssign = 63,
andAssign = 64,
divideAssign = 65,
exclusiveOrAssign = 66,
leftShiftAssign = 67,
moduloAssign = 68,
multiplyAssign = 69,
orAssign = 70,
powerAssign = 71,
rightShiftAssign = 72,
subtractAssign = 73,
addAssignChecked = 74,
multiplyAssignChecked = 75,
subtractAssignChecked = 76,
preIncrementAssign = 77,
preDecrementAssign = 78,
postIncrementAssign = 79,
postDecrementAssign = 80,
typeEqual = 81,
onesComplement = 82,
isTrue = 83,
isFalse = 84
}
export enum GotoExpressionKind {
goto = 0,
return_ = 1,
break_ = 2,
continue_ = 3
}
export enum MemberBindingType {
assignment = 0,
memberBinding = 1,
listBinding = 2
}
export interface IArgumentProvider$instance {
readonly argumentCount: int;
getArgument(index: int): Expression;
}
export type IArgumentProvider = IArgumentProvider$instance;
export interface IDynamicExpression$instance extends IArgumentProvider {
readonly delegateType: Type;
readonly argumentCount: int;
createCallSite(): unknown;
getArgument(index: int): Expression;
rewrite(args: Expression[]): Expression;
}
export interface IDynamicExpression$instance extends IArgumentProvider$instance {}
export type IDynamicExpression = IDynamicExpression$instance;
export interface BinaryExpression$instance extends Expression {
readonly canReduce: boolean;
readonly conversion: LambdaExpression;
readonly isLifted: boolean;
readonly isLiftedToNull: boolean;
readonly left: Expression;
readonly method: MethodInfo;
readonly right: Expression;
reduce(): Expression;
update(left: Expression, conversion: LambdaExpression, right: Expression): BinaryExpression;
}
export const BinaryExpression: {
new(): BinaryExpression$instance;
};
export type BinaryExpression = BinaryExpression$instance;
export interface BlockExpression$instance extends Expression {
readonly expressions: ReadOnlyCollection_1<Expression>;
readonly nodeType: ExpressionType;
readonly result: Expression;
readonly type_: Type;
readonly variables: ReadOnlyCollection_1<ParameterExpression>;
update(variables: IEnumerable_1<ParameterExpression>, expressions: IEnumerable_1<Expression>): BlockExpression;
}
export const BlockExpression: {
new(): BlockExpression$instance;
};
export type BlockExpression = BlockExpression$instance;
export interface CatchBlock$instance {
readonly body: Expression;
readonly filter: Expression;
readonly test: Type;
readonly variable: ParameterExpression;
toString(): string;
update(variable: ParameterExpression, filter: Expression, body: Expression): CatchBlock;
}
export const CatchBlock: {
new(): CatchBlock$instance;
};
export type CatchBlock = CatchBlock$instance;
export interface ConditionalExpression$instance extends Expression {
readonly ifFalse: Expression;
readonly ifTrue: Expression;
readonly nodeType: ExpressionType;
readonly test: Expression;
readonly type_: Type;
update(test: Expression, ifTrue: Expression, ifFalse: Expression): ConditionalExpression;
}
export const ConditionalExpression: {
new(): ConditionalExpression$instance;
};
export type ConditionalExpression = ConditionalExpression$instance;
export interface ConstantExpression$instance extends Expression {
readonly nodeType: ExpressionType;
readonly type_: Type;
readonly value: unknown;
}
export const ConstantExpression: {
new(): ConstantExpression$instance;
};
export type ConstantExpression = ConstantExpression$instance;
export interface DebugInfoExpression$instance extends Expression {
readonly document: SymbolDocumentInfo;
readonly endColumn: int;
readonly endLine: int;
readonly isClear: boolean;
readonly nodeType: ExpressionType;
readonly startColumn: int;
readonly startLine: int;
readonly type_: Type;
}
export const DebugInfoExpression: {
new(): DebugInfoExpression$instance;
};
export type DebugInfoExpression = DebugInfoExpression$instance;
export interface DefaultExpression$instance extends Expression {
readonly nodeType: ExpressionType;
readonly type_: Type;
}
export const DefaultExpression: {
new(): DefaultExpression$instance;
};
export type DefaultExpression = DefaultExpression$instance;
export interface DynamicExpression$instance extends Expression {
readonly arguments: ReadOnlyCollection_1<Expression>;
readonly binder: CallSiteBinder;
readonly canReduce: boolean;
readonly delegateType: Type;
readonly nodeType: ExpressionType;
readonly type_: Type;
reduce(): Expression;
update(arguments: IEnumerable_1<Expression>): DynamicExpression;
}
export const DynamicExpression: {
new(): DynamicExpression$instance;
dynamic(binder: CallSiteBinder, returnType: Type, arguments: IEnumerable_1<Expression>): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression, arg1: Expression, arg2: Expression): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression, arg1: Expression): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arguments: Expression[]): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arguments: IEnumerable_1<Expression>): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arg0: Expression, arg1: Expression, arg2: Expression): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arg0: Expression, arg1: Expression): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arg0: Expression): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arguments: Expression[]): DynamicExpression;
};
export interface __DynamicExpression$views {
As_IArgumentProvider(): IArgumentProvider$instance;
As_IDynamicExpression(): IDynamicExpression$instance;
}
export interface DynamicExpression$instance extends IDynamicExpression$instance {}
export type DynamicExpression = DynamicExpression$instance & __DynamicExpression$views;
export interface DynamicExpressionVisitor$instance extends ExpressionVisitor {
}
export const DynamicExpressionVisitor: {
new(): DynamicExpressionVisitor$instance;
};
export type DynamicExpressionVisitor = DynamicExpressionVisitor$instance;
export interface ElementInit$instance {
readonly addMethod: MethodInfo;
readonly argumentCount: int;
readonly arguments: ReadOnlyCollection_1<Expression>;
getArgument(index: int): Expression;
toString(): string;
update(arguments: IEnumerable_1<Expression>): ElementInit;
}
export const ElementInit: {
new(): ElementInit$instance;
};
export interface __ElementInit$views {
As_IArgumentProvider(): IArgumentProvider$instance;
}
export interface ElementInit$instance extends IArgumentProvider$instance {}
export type ElementInit = ElementInit$instance & __ElementInit$views;
export interface Expression$instance {
readonly canReduce: boolean;
readonly nodeType: ExpressionType;
readonly type_: Type;
reduce(): Expression;
reduceAndCheck(): Expression;
reduceExtensions(): Expression;
toString(): string;
}
export const Expression: {
add(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
add(left: Expression, right: Expression): BinaryExpression;
addAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
addAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
addAssign(left: Expression, right: Expression): BinaryExpression;
addAssignChecked(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
addAssignChecked(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
addAssignChecked(left: Expression, right: Expression): BinaryExpression;
addChecked(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
addChecked(left: Expression, right: Expression): BinaryExpression;
and(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
and(left: Expression, right: Expression): BinaryExpression;
andAlso(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
andAlso(left: Expression, right: Expression): BinaryExpression;
andAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
andAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
andAssign(left: Expression, right: Expression): BinaryExpression;
arrayAccess(array: Expression, indexes: IEnumerable_1<Expression>): IndexExpression;
arrayAccess(array: Expression, indexes: Expression[]): IndexExpression;
arrayIndex(array: Expression, indexes: IEnumerable_1<Expression>): MethodCallExpression;
arrayIndex(array: Expression, index: Expression): BinaryExpression;
arrayIndex(array: Expression, indexes: Expression[]): MethodCallExpression;
arrayLength(array: Expression): UnaryExpression;
assign(left: Expression, right: Expression): BinaryExpression;
bind(member: MemberInfo, expression: Expression): MemberAssignment;
bind(propertyAccessor: MethodInfo, expression: Expression): MemberAssignment;
block(expressions: IEnumerable_1<Expression>): BlockExpression;
block(variables: IEnumerable_1<ParameterExpression>, expressions: IEnumerable_1<Expression>): BlockExpression;
block(variables: IEnumerable_1<ParameterExpression>, expressions: Expression[]): BlockExpression;
block(arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression, arg4: Expression): BlockExpression;
block(arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression): BlockExpression;
block(arg0: Expression, arg1: Expression, arg2: Expression): BlockExpression;
block(arg0: Expression, arg1: Expression): BlockExpression;
block(expressions: Expression[]): BlockExpression;
block(type_: Type, expressions: IEnumerable_1<Expression>): BlockExpression;
block(type_: Type, variables: IEnumerable_1<ParameterExpression>, expressions: IEnumerable_1<Expression>): BlockExpression;
block(type_: Type, variables: IEnumerable_1<ParameterExpression>, expressions: Expression[]): BlockExpression;
block(type_: Type, expressions: Expression[]): BlockExpression;
break_(target: LabelTarget, value: Expression, type_: Type): GotoExpression;
break_(target: LabelTarget, value: Expression): GotoExpression;
break_(target: LabelTarget, type_: Type): GotoExpression;
break_(target: LabelTarget): GotoExpression;
call(instance: Expression, method: MethodInfo, arguments: IEnumerable_1<Expression>): MethodCallExpression;
call(instance: Expression, method: MethodInfo, arg0: Expression, arg1: Expression, arg2: Expression): MethodCallExpression;
call(instance: Expression, method: MethodInfo, arg0: Expression, arg1: Expression): MethodCallExpression;
call(instance: Expression, method: MethodInfo, arguments: Expression[]): MethodCallExpression;
call(instance: Expression, method: MethodInfo): MethodCallExpression;
call(instance: Expression, methodName: string, typeArguments: Type[], arguments: Expression[]): MethodCallExpression;
call(method: MethodInfo, arguments: IEnumerable_1<Expression>): MethodCallExpression;
call(method: MethodInfo, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression, arg4: Expression): MethodCallExpression;
call(method: MethodInfo, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression): MethodCallExpression;
call(method: MethodInfo, arg0: Expression, arg1: Expression, arg2: Expression): MethodCallExpression;
call(method: MethodInfo, arg0: Expression, arg1: Expression): MethodCallExpression;
call(method: MethodInfo, arg0: Expression): MethodCallExpression;
call(method: MethodInfo, arguments: Expression[]): MethodCallExpression;
call(type_: Type, methodName: string, typeArguments: Type[], arguments: Expression[]): MethodCallExpression;
catch_(variable: ParameterExpression, body: Expression, filter: Expression): CatchBlock;
catch_(variable: ParameterExpression, body: Expression): CatchBlock;
catch_(type_: Type, body: Expression, filter: Expression): CatchBlock;
catch_(type_: Type, body: Expression): CatchBlock;
clearDebugInfo(document: SymbolDocumentInfo): DebugInfoExpression;
coalesce(left: Expression, right: Expression, conversion: LambdaExpression): BinaryExpression;
coalesce(left: Expression, right: Expression): BinaryExpression;
condition(test: Expression, ifTrue: Expression, ifFalse: Expression, type_: Type): ConditionalExpression;
condition(test: Expression, ifTrue: Expression, ifFalse: Expression): ConditionalExpression;
constant(value: unknown, type_: Type): ConstantExpression;
constant(value: unknown): ConstantExpression;
continue_(target: LabelTarget, type_: Type): GotoExpression;
continue_(target: LabelTarget): GotoExpression;
convert(expression: Expression, type_: Type, method: MethodInfo): UnaryExpression;
convert(expression: Expression, type_: Type): UnaryExpression;
convertChecked(expression: Expression, type_: Type, method: MethodInfo): UnaryExpression;
convertChecked(expression: Expression, type_: Type): UnaryExpression;
debugInfo(document: SymbolDocumentInfo, startLine: int, startColumn: int, endLine: int, endColumn: int): DebugInfoExpression;
decrement(expression: Expression, method: MethodInfo): UnaryExpression;
decrement(expression: Expression): UnaryExpression;
default_(type_: Type): DefaultExpression;
divide(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
divide(left: Expression, right: Expression): BinaryExpression;
divideAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
divideAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
divideAssign(left: Expression, right: Expression): BinaryExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arguments: IEnumerable_1<Expression>): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression, arg1: Expression, arg2: Expression): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression, arg1: Expression): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression): DynamicExpression;
dynamic(binder: CallSiteBinder, returnType: Type, arguments: Expression[]): DynamicExpression;
elementInit(addMethod: MethodInfo, arguments: IEnumerable_1<Expression>): ElementInit;
elementInit(addMethod: MethodInfo, arguments: Expression[]): ElementInit;
empty(): DefaultExpression;
equal(left: Expression, right: Expression, liftToNull: boolean, method: MethodInfo): BinaryExpression;
equal(left: Expression, right: Expression): BinaryExpression;
exclusiveOr(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
exclusiveOr(left: Expression, right: Expression): BinaryExpression;
exclusiveOrAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
exclusiveOrAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
exclusiveOrAssign(left: Expression, right: Expression): BinaryExpression;
field(expression: Expression, field: FieldInfo): MemberExpression;
field(expression: Expression, fieldName: string): MemberExpression;
field(expression: Expression, type_: Type, fieldName: string): MemberExpression;
getActionType(typeArgs: Type[]): Type;
getDelegateType(typeArgs: Type[]): Type;
getFuncType(typeArgs: Type[]): Type;
goto(target: LabelTarget, value: Expression, type_: Type): GotoExpression;
goto(target: LabelTarget, value: Expression): GotoExpression;
goto(target: LabelTarget, type_: Type): GotoExpression;
goto(target: LabelTarget): GotoExpression;
greaterThan(left: Expression, right: Expression, liftToNull: boolean, method: MethodInfo): BinaryExpression;
greaterThan(left: Expression, right: Expression): BinaryExpression;
greaterThanOrEqual(left: Expression, right: Expression, liftToNull: boolean, method: MethodInfo): BinaryExpression;
greaterThanOrEqual(left: Expression, right: Expression): BinaryExpression;
ifThen(test: Expression, ifTrue: Expression): ConditionalExpression;
ifThenElse(test: Expression, ifTrue: Expression, ifFalse: Expression): ConditionalExpression;
increment(expression: Expression, method: MethodInfo): UnaryExpression;
increment(expression: Expression): UnaryExpression;
invoke(expression: Expression, arguments: IEnumerable_1<Expression>): InvocationExpression;
invoke(expression: Expression, arguments: Expression[]): InvocationExpression;
isFalse(expression: Expression, method: MethodInfo): UnaryExpression;
isFalse(expression: Expression): UnaryExpression;
isTrue(expression: Expression, method: MethodInfo): UnaryExpression;
isTrue(expression: Expression): UnaryExpression;
label(): LabelTarget;
label(target: LabelTarget, defaultValue: Expression): LabelExpression;
label(target: LabelTarget): LabelExpression;
label(name: string): LabelTarget;
label(type_: Type, name: string): LabelTarget;
label(type_: Type): LabelTarget;
lambda<TDelegate>(body: Expression, tailCall: boolean, parameters: IEnumerable_1<ParameterExpression>): Expression_1<TDelegate>;
lambda(body: Expression, tailCall: boolean, parameters: IEnumerable_1<ParameterExpression>): LambdaExpression;
lambda<TDelegate>(body: Expression, tailCall: boolean, parameters: ParameterExpression[]): Expression_1<TDelegate>;
lambda(body: Expression, tailCall: boolean, parameters: ParameterExpression[]): LambdaExpression;
lambda<TDelegate>(body: Expression, parameters: IEnumerable_1<ParameterExpression>): Expression_1<TDelegate>;
lambda(body: Expression, parameters: IEnumerable_1<ParameterExpression>): LambdaExpression;
lambda<TDelegate>(body: Expression, parameters: ParameterExpression[]): Expression_1<TDelegate>;
lambda(body: Expression, parameters: ParameterExpression[]): LambdaExpression;
lambda<TDelegate>(body: Expression, name: string, tailCall: boolean, parameters: IEnumerable_1<ParameterExpression>): Expression_1<TDelegate>;
lambda(body: Expression, name: string, tailCall: boolean, parameters: IEnumerable_1<ParameterExpression>): LambdaExpression;
lambda<TDelegate>(body: Expression, name: string, parameters: IEnumerable_1<ParameterExpression>): Expression_1<TDelegate>;
lambda(body: Expression, name: string, parameters: IEnumerable_1<ParameterExpression>): LambdaExpression;
lambda(delegateType: Type, body: Expression, tailCall: boolean, parameters: IEnumerable_1<ParameterExpression>): LambdaExpression;
lambda(delegateType: Type, body: Expression, tailCall: boolean, parameters: ParameterExpression[]): LambdaExpression;
lambda(delegateType: Type, body: Expression, parameters: IEnumerable_1<ParameterExpression>): LambdaExpression;
lambda(delegateType: Type, body: Expression, parameters: ParameterExpression[]): LambdaExpression;
lambda(delegateType: Type, body: Expression, name: string, tailCall: boolean, parameters: IEnumerable_1<ParameterExpression>): LambdaExpression;
lambda(delegateType: Type, body: Expression, name: string, parameters: IEnumerable_1<ParameterExpression>): LambdaExpression;
leftShift(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
leftShift(left: Expression, right: Expression): BinaryExpression;
leftShiftAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
leftShiftAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
leftShiftAssign(left: Expression, right: Expression): BinaryExpression;
lessThan(left: Expression, right: Expression, liftToNull: boolean, method: MethodInfo): BinaryExpression;
lessThan(left: Expression, right: Expression): BinaryExpression;
lessThanOrEqual(left: Expression, right: Expression, liftToNull: boolean, method: MethodInfo): BinaryExpression;
lessThanOrEqual(left: Expression, right: Expression): BinaryExpression;
listBind(member: MemberInfo, initializers: IEnumerable_1<ElementInit>): MemberListBinding;
listBind(member: MemberInfo, initializers: ElementInit[]): MemberListBinding;
listBind(propertyAccessor: MethodInfo, initializers: IEnumerable_1<ElementInit>): MemberListBinding;
listBind(propertyAccessor: MethodInfo, initializers: ElementInit[]): MemberListBinding;
listInit(newExpression: NewExpression, initializers: IEnumerable_1<ElementInit>): ListInitExpression;
listInit(newExpression: NewExpression, initializers: IEnumerable_1<Expression>): ListInitExpression;
listInit(newExpression: NewExpression, initializers: ElementInit[]): ListInitExpression;
listInit(newExpression: NewExpression, initializers: Expression[]): ListInitExpression;
listInit(newExpression: NewExpression, addMethod: MethodInfo, initializers: IEnumerable_1<Expression>): ListInitExpression;
listInit(newExpression: NewExpression, addMethod: MethodInfo, initializers: Expression[]): ListInitExpression;
loop(body: Expression, break_: LabelTarget, continue_: LabelTarget): LoopExpression;
loop(body: Expression, break_: LabelTarget): LoopExpression;
loop(body: Expression): LoopExpression;
makeBinary(binaryType: ExpressionType, left: Expression, right: Expression, liftToNull: boolean, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
makeBinary(binaryType: ExpressionType, left: Expression, right: Expression, liftToNull: boolean, method: MethodInfo): BinaryExpression;
makeBinary(binaryType: ExpressionType, left: Expression, right: Expression): BinaryExpression;
makeCatchBlock(type_: Type, variable: ParameterExpression, body: Expression, filter: Expression): CatchBlock;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arguments: IEnumerable_1<Expression>): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arg0: Expression, arg1: Expression, arg2: Expression): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arg0: Expression, arg1: Expression): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arg0: Expression): DynamicExpression;
makeDynamic(delegateType: Type, binder: CallSiteBinder, arguments: Expression[]): DynamicExpression;
makeGoto(kind: GotoExpressionKind, target: LabelTarget, value: Expression, type_: Type): GotoExpression;
makeIndex(instance: Expression, indexer: PropertyInfo, arguments: IEnumerable_1<Expression>): IndexExpression;
makeMemberAccess(expression: Expression, member: MemberInfo): MemberExpression;
makeTry(type_: Type, body: Expression, finally_: Expression, fault: Expression, handlers: IEnumerable_1<CatchBlock>): TryExpression;
makeUnary(unaryType: ExpressionType, operand: Expression, type_: Type, method: MethodInfo): UnaryExpression;
makeUnary(unaryType: ExpressionType, operand: Expression, type_: Type): UnaryExpression;
memberBind(member: MemberInfo, bindings: IEnumerable_1<MemberBinding>): MemberMemberBinding;
memberBind(member: MemberInfo, bindings: MemberBinding[]): MemberMemberBinding;
memberBind(propertyAccessor: MethodInfo, bindings: IEnumerable_1<MemberBinding>): MemberMemberBinding;
memberBind(propertyAccessor: MethodInfo, bindings: MemberBinding[]): MemberMemberBinding;
memberInit(newExpression: NewExpression, bindings: IEnumerable_1<MemberBinding>): MemberInitExpression;
memberInit(newExpression: NewExpression, bindings: MemberBinding[]): MemberInitExpression;
modulo(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
modulo(left: Expression, right: Expression): BinaryExpression;
moduloAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
moduloAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
moduloAssign(left: Expression, right: Expression): BinaryExpression;
multiply(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
multiply(left: Expression, right: Expression): BinaryExpression;
multiplyAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
multiplyAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
multiplyAssign(left: Expression, right: Expression): BinaryExpression;
multiplyAssignChecked(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
multiplyAssignChecked(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
multiplyAssignChecked(left: Expression, right: Expression): BinaryExpression;
multiplyChecked(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
multiplyChecked(left: Expression, right: Expression): BinaryExpression;
negate(expression: Expression, method: MethodInfo): UnaryExpression;
negate(expression: Expression): UnaryExpression;
negateChecked(expression: Expression, method: MethodInfo): UnaryExpression;
negateChecked(expression: Expression): UnaryExpression;
new_(constructor_: ConstructorInfo, arguments: IEnumerable_1<Expression>, members: IEnumerable_1<MemberInfo>): NewExpression;
new_(constructor_: ConstructorInfo, arguments: IEnumerable_1<Expression>, members: MemberInfo[]): NewExpression;
new_(constructor_: ConstructorInfo, arguments: IEnumerable_1<Expression>): NewExpression;
new_(constructor_: ConstructorInfo, arguments: Expression[]): NewExpression;
new_(constructor_: ConstructorInfo): NewExpression;
new_(type_: Type): NewExpression;
newArrayBounds(type_: Type, bounds: IEnumerable_1<Expression>): NewArrayExpression;
newArrayBounds(type_: Type, bounds: Expression[]): NewArrayExpression;
newArrayInit(type_: Type, initializers: IEnumerable_1<Expression>): NewArrayExpression;
newArrayInit(type_: Type, initializers: Expression[]): NewArrayExpression;
not(expression: Expression, method: MethodInfo): UnaryExpression;
not(expression: Expression): UnaryExpression;
notEqual(left: Expression, right: Expression, liftToNull: boolean, method: MethodInfo): BinaryExpression;
notEqual(left: Expression, right: Expression): BinaryExpression;
onesComplement(expression: Expression, method: MethodInfo): UnaryExpression;
onesComplement(expression: Expression): UnaryExpression;
or(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
or(left: Expression, right: Expression): BinaryExpression;
orAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
orAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
orAssign(left: Expression, right: Expression): BinaryExpression;
orElse(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
orElse(left: Expression, right: Expression): BinaryExpression;
parameter(type_: Type, name: string): ParameterExpression;
parameter(type_: Type): ParameterExpression;
postDecrementAssign(expression: Expression, method: MethodInfo): UnaryExpression;
postDecrementAssign(expression: Expression): UnaryExpression;
postIncrementAssign(expression: Expression, method: MethodInfo): UnaryExpression;
postIncrementAssign(expression: Expression): UnaryExpression;
power(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
power(left: Expression, right: Expression): BinaryExpression;
powerAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
powerAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
powerAssign(left: Expression, right: Expression): BinaryExpression;
preDecrementAssign(expression: Expression, method: MethodInfo): UnaryExpression;
preDecrementAssign(expression: Expression): UnaryExpression;
preIncrementAssign(expression: Expression, method: MethodInfo): UnaryExpression;
preIncrementAssign(expression: Expression): UnaryExpression;
property(expression: Expression, propertyAccessor: MethodInfo): MemberExpression;
property(instance: Expression, indexer: PropertyInfo, arguments: IEnumerable_1<Expression>): IndexExpression;
property(instance: Expression, indexer: PropertyInfo, arguments: Expression[]): IndexExpression;
property(expression: Expression, property: PropertyInfo): MemberExpression;
property(instance: Expression, propertyName: string, arguments: Expression[]): IndexExpression;
property(expression: Expression, propertyName: string): MemberExpression;
property(expression: Expression, type_: Type, propertyName: string): MemberExpression;
propertyOrField(expression: Expression, propertyOrFieldName: string): MemberExpression;
quote(expression: Expression): UnaryExpression;
referenceEqual(left: Expression, right: Expression): BinaryExpression;
referenceNotEqual(left: Expression, right: Expression): BinaryExpression;
rethrow(): UnaryExpression;
rethrow(type_: Type): UnaryExpression;
return_(target: LabelTarget, value: Expression, type_: Type): GotoExpression;
return_(target: LabelTarget, value: Expression): GotoExpression;
return_(target: LabelTarget, type_: Type): GotoExpression;
return_(target: LabelTarget): GotoExpression;
rightShift(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
rightShift(left: Expression, right: Expression): BinaryExpression;
rightShiftAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
rightShiftAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
rightShiftAssign(left: Expression, right: Expression): BinaryExpression;
runtimeVariables(variables: IEnumerable_1<ParameterExpression>): RuntimeVariablesExpression;
runtimeVariables(variables: ParameterExpression[]): RuntimeVariablesExpression;
subtract(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
subtract(left: Expression, right: Expression): BinaryExpression;
subtractAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
subtractAssign(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
subtractAssign(left: Expression, right: Expression): BinaryExpression;
subtractAssignChecked(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
subtractAssignChecked(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
subtractAssignChecked(left: Expression, right: Expression): BinaryExpression;
subtractChecked(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
subtractChecked(left: Expression, right: Expression): BinaryExpression;
switch_(switchValue: Expression, defaultBody: Expression, cases: SwitchCase[]): SwitchExpression;
switch_(switchValue: Expression, defaultBody: Expression, comparison: MethodInfo, cases: IEnumerable_1<SwitchCase>): SwitchExpression;
switch_(switchValue: Expression, defaultBody: Expression, comparison: MethodInfo, cases: SwitchCase[]): SwitchExpression;
switch_(switchValue: Expression, cases: SwitchCase[]): SwitchExpression;
switch_(type_: Type, switchValue: Expression, defaultBody: Expression, comparison: MethodInfo, cases: IEnumerable_1<SwitchCase>): SwitchExpression;
switch_(type_: Type, switchValue: Expression, defaultBody: Expression, comparison: MethodInfo, cases: SwitchCase[]): SwitchExpression;
switchCase(body: Expression, testValues: IEnumerable_1<Expression>): SwitchCase;
switchCase(body: Expression, testValues: Expression[]): SwitchCase;
symbolDocument(fileName: string, language: Guid, languageVendor: Guid, documentType: Guid): SymbolDocumentInfo;
symbolDocument(fileName: string, language: Guid, languageVendor: Guid): SymbolDocumentInfo;
symbolDocument(fileName: string, language: Guid): SymbolDocumentInfo;
symbolDocument(fileName: string): SymbolDocumentInfo;
throw_(value: Expression, type_: Type): UnaryExpression;
throw_(value: Expression): UnaryExpression;
tryCatch(body: Expression, handlers: CatchBlock[]): TryExpression;
tryCatchFinally(body: Expression, finally_: Expression, handlers: CatchBlock[]): TryExpression;
tryFault(body: Expression, fault: Expression): TryExpression;
tryFinally(body: Expression, finally_: Expression): TryExpression;
tryGetActionType(typeArgs: Type[], actionType: { value: ref<Type> }): boolean;
tryGetFuncType(typeArgs: Type[], funcType: { value: ref<Type> }): boolean;
typeAs(expression: Expression, type_: Type): UnaryExpression;
typeEqual(expression: Expression, type_: Type): TypeBinaryExpression;
typeIs(expression: Expression, type_: Type): TypeBinaryExpression;
unaryPlus(expression: Expression, method: MethodInfo): UnaryExpression;
unaryPlus(expression: Expression): UnaryExpression;
unbox(expression: Expression, type_: Type): UnaryExpression;
variable(type_: Type, name: string): ParameterExpression;
variable(type_: Type): ParameterExpression;
};
export type Expression = Expression$instance;
export interface Expression_1$instance<TDelegate> extends LambdaExpression {
compile(): TDelegate;
compile(preferInterpretation: boolean): TDelegate;
compile(debugInfoGenerator: DebugInfoGenerator): TDelegate;
compile(): Function;
compile(preferInterpretation: boolean): Function;
compile(debugInfoGenerator: DebugInfoGenerator): Function;
update(body: Expression, parameters: IEnumerable_1<ParameterExpression>): Expression_1<TDelegate>;
}
export const Expression_1: {
new<TDelegate>(): Expression_1$instance<TDelegate>;
};
export type Expression_1<TDelegate> = Expression_1$instance<TDelegate>;
export interface ExpressionVisitor$instance {
visit(node: Expression): Expression;
visit(nodes: ReadOnlyCollection_1<Expression>): ReadOnlyCollection_1<Expression>;
visitAndConvert<T extends Expression>(node: T, callerName: string): T;
visitAndConvert<T extends Expression>(nodes: ReadOnlyCollection_1<T>, callerName: string): ReadOnlyCollection_1<T>;
}
export const ExpressionVisitor: {
visit<T>(nodes: ReadOnlyCollection_1<T>, elementVisitor: Func_2<T, T>): ReadOnlyCollection_1<T>;
};
export type ExpressionVisitor = ExpressionVisitor$instance;
export interface GotoExpression$instance extends Expression {
readonly kind: GotoExpressionKind;
readonly nodeType: ExpressionType;
readonly target: LabelTarget;
readonly type_: Type;
readonly value: Expression;
update(target: LabelTarget, value: Expression): GotoExpression;
}
export const GotoExpression: {
new(): GotoExpression$instance;
};
export type GotoExpression = GotoExpression$instance;
export interface IndexExpression$instance extends Expression {
readonly argumentCount: int;
readonly arguments: ReadOnlyCollection_1<Expression>;
readonly indexer: PropertyInfo;
readonly nodeType: ExpressionType;
readonly object_: Expression;
readonly type_: Type;
getArgument(index: int): Expression;
update(object_: Expression, arguments: IEnumerable_1<Expression>): IndexExpression;
}
export const IndexExpression: {
new(): IndexExpression$instance;
};
export interface __IndexExpression$views {
As_IArgumentProvider(): IArgumentProvider$instance;
}
export interface IndexExpression$instance extends IArgumentProvider$instance {}
export type IndexExpression = IndexExpression$instance & __IndexExpression$views;
export interface InvocationExpression$instance extends Expression {
readonly argumentCount: int;
readonly arguments: ReadOnlyCollection_1<Expression>;
readonly expression: Expression;
readonly nodeType: ExpressionType;
readonly type_: Type;
getArgument(index: int): Expression;
update(expression: Expression, arguments: IEnumerable_1<Expression>): InvocationExpression;
}
export const InvocationExpression: {
new(): InvocationExpression$instance;
};
export interface __InvocationExpression$views {
As_IArgumentProvider(): IArgumentProvider$instance;
}
export interface InvocationExpression$instance extends IArgumentProvider$instance {}
export type InvocationExpression = InvocationExpression$instance & __InvocationExpression$views;
export interface LabelExpression$instance extends Expression {
readonly defaultValue: Expression;
readonly nodeType: ExpressionType;
readonly target: LabelTarget;
readonly type_: Type;
update(target: LabelTarget, defaultValue: Expression): LabelExpression;
}
export const LabelExpression: {
new(): LabelExpression$instance;
};
export type LabelExpression = LabelExpression$instance;
export interface LabelTarget$instance {
readonly name: string;
readonly type_: Type;
toString(): string;
}
export const LabelTarget: {
new(): LabelTarget$instance;
};
export type LabelTarget = LabelTarget$instance;
export interface LambdaExpression$instance extends Expression {
readonly body: Expression;
readonly name: string;
readonly nodeType: ExpressionType;
readonly parameters: ReadOnlyCollection_1<ParameterExpression>;
readonly returnType: Type;
readonly tailCall: boolean;
readonly type_: Type;
compile(): Function;
compile(preferInterpretation: boolean): Function;
compile(debugInfoGenerator: DebugInfoGenerator): Function;
}
export const LambdaExpression: {
readonly canCompileToIL: boolean;
readonly canInterpret: boolean;
};
export type LambdaExpression = LambdaExpression$instance;
export interface ListInitExpression$instance extends Expression {
readonly canReduce: boolean;
readonly initializers: ReadOnlyCollection_1<ElementInit>;
readonly newExpression: NewExpression;
readonly nodeType: ExpressionType;
readonly type_: Type;
reduce(): Expression;
update(newExpression: NewExpression, initializers: IEnumerable_1<ElementInit>): ListInitExpression;
}
export const ListInitExpression: {
new(): ListInitExpression$instance;
};
export type ListInitExpression = ListInitExpression$instance;
export interface LoopExpression$instance extends Expression {
readonly body: Expression;
readonly breakLabel: LabelTarget;
readonly continueLabel: LabelTarget;
readonly nodeType: ExpressionType;
readonly type_: Type;
update(breakLabel: LabelTarget, continueLabel: LabelTarget, body: Expression): LoopExpression;
}
export const LoopExpression: {
new(): LoopExpression$instance;
};
export type LoopExpression = LoopExpression$instance;
export interface MemberAssignment$instance extends MemberBinding {
readonly expression: Expression;
update(expression: Expression): MemberAssignment;
}
export const MemberAssignment: {
new(): MemberAssignment$instance;
};
export type MemberAssignment = MemberAssignment$instance;
export interface MemberBinding$instance {
readonly bindingType: MemberBindingType;
readonly member: MemberInfo;
toString(): string;
}
export const MemberBinding: {
};
export type MemberBinding = MemberBinding$instance;
export interface MemberExpression$instance extends Expression {
readonly expression: Expression;
readonly member: MemberInfo;
readonly nodeType: ExpressionType;
update(expression: Expression): MemberExpression;
}
export const MemberExpression: {
new(): MemberExpression$instance;
};
export type MemberExpression = MemberExpression$instance;
export interface MemberInitExpression$instance extends Expression {
readonly bindings: ReadOnlyCollection_1<MemberBinding>;
readonly canReduce: boolean;
readonly newExpression: NewExpression;
readonly nodeType: ExpressionType;
readonly type_: Type;
reduce(): Expression;
update(newExpression: NewExpression, bindings: IEnumerable_1<MemberBinding>): MemberInitExpression;
}
export const MemberInitExpression: {
new(): MemberInitExpression$instance;
};
export type MemberInitExpression = MemberInitExpression$instance;
export interface MemberListBinding$instance extends MemberBinding {
readonly initializers: ReadOnlyCollection_1<ElementInit>;
update(initializers: IEnumerable_1<ElementInit>): MemberListBinding;
}
export const MemberListBinding: {
new(): MemberListBinding$instance;
};
export type MemberListBinding = MemberListBinding$instance;
export interface MemberMemberBinding$instance extends MemberBinding {
readonly bindings: ReadOnlyCollection_1<MemberBinding>;
update(bindings: IEnumerable_1<MemberBinding>): MemberMemberBinding;
}
export const MemberMemberBinding: {
new(): MemberMemberBinding$instance;
};
export type MemberMemberBinding = MemberMemberBinding$instance;
export interface MethodCallExpression$instance extends Expression {
readonly argumentCount: int;
readonly arguments: ReadOnlyCollection_1<Expression>;
readonly method: MethodInfo;
readonly nodeType: ExpressionType;
readonly object_: Expression;
readonly type_: Type;
getArgument(index: int): Expression;
update(object_: Expression, arguments: IEnumerable_1<Expression>): MethodCallExpression;
}
export const MethodCallExpression: {
new(): MethodCallExpression$instance;
};
export interface __MethodCallExpression$views {
As_IArgumentProvider(): IArgumentProvider$instance;
}
export interface MethodCallExpression$instance extends IArgumentProvider$instance {}
export type MethodCallExpression = MethodCallExpression$instance & __MethodCallExpression$views;
export interface NewArrayExpression$instance extends Expression {
readonly expressions: ReadOnlyCollection_1<Expression>;
readonly type_: Type;
update(expressions: IEnumerable_1<Expression>): NewArrayExpression;
}
export const NewArrayExpression: {
new(): NewArrayExpression$instance;
};
export type NewArrayExpression = NewArrayExpression$instance;
export interface NewExpression$instance extends Expression {
readonly argumentCount: int;
readonly arguments: ReadOnlyCollection_1<Expression>;
readonly constructor_: ConstructorInfo;
readonly members: ReadOnlyCollection_1<MemberInfo>;
readonly nodeType: ExpressionType;
readonly type_: Type;
getArgument(index: int): Expression;
update(arguments: IEnumerable_1<Expression>): NewExpression;
}
export const NewExpression: {
new(): NewExpression$instance;
};
export interface __NewExpression$views {
As_IArgumentProvider(): IArgumentProvider$instance;
}
export interface NewExpression$instance extends IArgumentProvider$instance {}
export type NewExpression = NewExpression$instance & __NewExpression$views;
export interface ParameterExpression$instance extends Expression {
readonly isByRef: boolean;
readonly name: string;
readonly nodeType: ExpressionType;
readonly type_: Type;
}
export const ParameterExpression: {
new(): ParameterExpression$instance;
};
export type ParameterExpression = ParameterExpression$instance;
export interface RuntimeVariablesExpression$instance extends Expression {
readonly nodeType: ExpressionType;
readonly type_: Type;
readonly variables: ReadOnlyCollection_1<ParameterExpression>;
update(variables: IEnumerable_1<ParameterExpression>): RuntimeVariablesExpression;
}
export const RuntimeVariablesExpression: {
new(): RuntimeVariablesExpression$instance;
};
export type RuntimeVariablesExpression = RuntimeVariablesExpression$instance;
export interface SwitchCase$instance {
readonly body: Expression;
readonly testValues: ReadOnlyCollection_1<Expression>;
toString(): string;
update(testValues: IEnumerable_1<Expression>, body: Expression): SwitchCase;
}
export const SwitchCase: {
new(): SwitchCase$instance;
};
export type SwitchCase = SwitchCase$instance;
export interface SwitchExpression$instance extends Expression {
readonly cases: ReadOnlyCollection_1<SwitchCase>;
readonly comparison: MethodInfo;
readonly defaultBody: Expression;
readonly nodeType: ExpressionType;
readonly switchValue: Expression;
readonly type_: Type;
update(switchValue: Expression, cases: IEnumerable_1<SwitchCase>, defaultBody: Expression): SwitchExpression;
}
export const SwitchExpression: {
new(): SwitchExpression$instance;
};
export type SwitchExpression = SwitchExpression$instance;
export interface SymbolDocumentInfo$instance {
readonly documentType: Guid;
readonly fileName: string;
readonly language: Guid;
readonly languageVendor: Guid;
}
expor