@tsonic/dotnet-pure
Version:
TypeScript type definitions for .NET 10 BCL (Base Class Library) - CLR naming
1,097 lines (889 loc) • 51.5 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;
}
export const SymbolDocumentInfo: {
new(): SymbolDocumentInfo$in