@tsonic/dotnet 10.0.2 → 10.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/Microsoft.CSharp.RuntimeBinder/internal/index.d.ts +0 -3
  2. package/Microsoft.VisualBasic/internal/index.d.ts +1 -11
  3. package/Microsoft.VisualBasic.CompilerServices/internal/index.d.ts +0 -22
  4. package/Microsoft.VisualBasic.FileIO/internal/index.d.ts +4 -9
  5. package/Microsoft.Win32/internal/index.d.ts +0 -1
  6. package/Microsoft.Win32.SafeHandles/internal/index.d.ts +53 -127
  7. package/System/internal/index.d.ts +87 -200
  8. package/System.Buffers/internal/index.d.ts +10 -23
  9. package/System.CodeDom.Compiler/internal/index.d.ts +6 -10
  10. package/System.Collections/internal/index.d.ts +41 -57
  11. package/System.Collections.Concurrent/internal/index.d.ts +4 -10
  12. package/System.Collections.Generic/internal/index.d.ts +15 -37
  13. package/System.Collections.Immutable/internal/index.d.ts +7 -20
  14. package/System.Collections.ObjectModel/internal/index.d.ts +25 -48
  15. package/System.Collections.Specialized/internal/index.d.ts +15 -30
  16. package/System.ComponentModel/internal/index.d.ts +126 -216
  17. package/System.ComponentModel.DataAnnotations/internal/index.d.ts +80 -161
  18. package/System.ComponentModel.DataAnnotations.Schema/internal/index.d.ts +4 -3
  19. package/System.ComponentModel.Design/internal/index.d.ts +26 -53
  20. package/System.ComponentModel.Design.Serialization/internal/index.d.ts +18 -29
  21. package/System.Data/internal/index.d.ts +110 -188
  22. package/System.Data.Common/internal/index.d.ts +155 -238
  23. package/System.Data.SqlTypes/internal/index.d.ts +6 -7
  24. package/System.Diagnostics/internal/index.d.ts +105 -169
  25. package/System.Diagnostics.CodeAnalysis/internal/index.d.ts +24 -21
  26. package/System.Diagnostics.Contracts/internal/index.d.ts +2 -2
  27. package/System.Diagnostics.Metrics/internal/index.d.ts +31 -66
  28. package/System.Diagnostics.Tracing/internal/index.d.ts +26 -35
  29. package/System.Dynamic/internal/index.d.ts +15 -29
  30. package/System.Formats.Asn1/internal/index.d.ts +0 -1
  31. package/System.Formats.Tar/internal/index.d.ts +1 -1
  32. package/System.Globalization/internal/index.d.ts +17 -51
  33. package/System.IO/internal/index.d.ts +47 -123
  34. package/System.IO.Compression/internal/index.d.ts +11 -33
  35. package/System.IO.Enumeration/internal/index.d.ts +11 -16
  36. package/System.IO.IsolatedStorage/internal/index.d.ts +6 -17
  37. package/System.IO.MemoryMappedFiles/internal/index.d.ts +6 -21
  38. package/System.IO.Pipelines/internal/index.d.ts +7 -18
  39. package/System.IO.Pipes/internal/index.d.ts +24 -50
  40. package/System.Linq/internal/index.d.ts +0 -4
  41. package/System.Linq.Expressions/internal/index.d.ts +108 -257
  42. package/System.Linq.Expressions.Interpreter/internal/index.d.ts +0 -1
  43. package/System.Net/internal/index.d.ts +133 -184
  44. package/System.Net.Http/internal/index.d.ts +128 -201
  45. package/System.Net.Http.Headers/internal/index.d.ts +37 -40
  46. package/System.Net.Http.Json/internal/index.d.ts +8 -13
  47. package/System.Net.Http.Metrics/internal/index.d.ts +2 -3
  48. package/System.Net.Mail/internal/index.d.ts +49 -105
  49. package/System.Net.Mime/internal/index.d.ts +4 -3
  50. package/System.Net.NetworkInformation/internal/index.d.ts +29 -60
  51. package/System.Net.Quic/internal/index.d.ts +5 -11
  52. package/System.Net.Security/internal/index.d.ts +30 -42
  53. package/System.Net.ServerSentEvents/internal/index.d.ts +1 -2
  54. package/System.Net.Sockets/internal/index.d.ts +33 -56
  55. package/System.Net.WebSockets/internal/index.d.ts +16 -23
  56. package/System.Numerics/internal/index.d.ts +5 -5
  57. package/System.Reflection/internal/index.d.ts +66 -102
  58. package/System.Reflection.Emit/internal/index.d.ts +104 -177
  59. package/System.Reflection.Metadata/internal/index.d.ts +11 -21
  60. package/System.Reflection.Metadata.Ecma335/internal/index.d.ts +0 -1
  61. package/System.Reflection.PortableExecutable/internal/index.d.ts +12 -30
  62. package/System.Resources/internal/index.d.ts +8 -20
  63. package/System.Runtime/internal/index.d.ts +5 -8
  64. package/System.Runtime.CompilerServices/internal/index.d.ts +15 -21
  65. package/System.Runtime.ConstrainedExecution/internal/index.d.ts +3 -8
  66. package/System.Runtime.ExceptionServices/internal/index.d.ts +0 -1
  67. package/System.Runtime.InteropServices/internal/index.d.ts +29 -62
  68. package/System.Runtime.InteropServices.JavaScript/internal/index.d.ts +1 -22
  69. package/System.Runtime.InteropServices.Marshalling/internal/index.d.ts +14 -23
  70. package/System.Runtime.Intrinsics/internal/index.d.ts +4 -4
  71. package/System.Runtime.Intrinsics.Wasm/internal/index.d.ts +1 -2
  72. package/System.Runtime.Loader/internal/index.d.ts +5 -11
  73. package/System.Runtime.Serialization/internal/index.d.ts +62 -65
  74. package/System.Runtime.Serialization.DataContracts/internal/index.d.ts +8 -10
  75. package/System.Runtime.Serialization.Formatters/internal/index.d.ts +2 -2
  76. package/System.Runtime.Serialization.Formatters.Binary/internal/index.d.ts +3 -2
  77. package/System.Runtime.Serialization.Json/internal/index.d.ts +6 -4
  78. package/System.Runtime.Versioning/internal/index.d.ts +6 -6
  79. package/System.Security/internal/index.d.ts +22 -25
  80. package/System.Security.AccessControl/internal/index.d.ts +51 -89
  81. package/System.Security.Authentication/internal/index.d.ts +0 -2
  82. package/System.Security.Authentication.ExtendedProtection/internal/index.d.ts +3 -10
  83. package/System.Security.Claims/internal/index.d.ts +19 -38
  84. package/System.Security.Cryptography/internal/index.d.ts +492 -903
  85. package/System.Security.Cryptography.X509Certificates/internal/index.d.ts +19 -48
  86. package/System.Security.Permissions/internal/index.d.ts +2 -4
  87. package/System.Security.Policy/internal/index.d.ts +3 -4
  88. package/System.Security.Principal/internal/index.d.ts +11 -17
  89. package/System.Text/internal/index.d.ts +11 -23
  90. package/System.Text.Encodings.Web/internal/index.d.ts +4 -8
  91. package/System.Text.Json/internal/index.d.ts +10 -12
  92. package/System.Text.Json.Nodes/internal/index.d.ts +4 -3
  93. package/System.Text.Json.Schema/internal/index.d.ts +1 -1
  94. package/System.Text.Json.Serialization/internal/index.d.ts +19 -27
  95. package/System.Text.Json.Serialization.Metadata/internal/index.d.ts +36 -34
  96. package/System.Text.RegularExpressions/internal/index.d.ts +11 -31
  97. package/System.Threading/internal/index.d.ts +36 -106
  98. package/System.Threading.Channels/internal/index.d.ts +7 -12
  99. package/System.Threading.Tasks/internal/index.d.ts +18 -29
  100. package/System.Timers/internal/index.d.ts +4 -8
  101. package/System.Transactions/internal/index.d.ts +3 -14
  102. package/System.Xml/internal/index.d.ts +104 -167
  103. package/System.Xml.Linq/internal/index.d.ts +17 -13
  104. package/System.Xml.Schema/internal/index.d.ts +117 -112
  105. package/System.Xml.Serialization/internal/index.d.ts +92 -100
  106. package/System.Xml.XPath/internal/index.d.ts +5 -9
  107. package/System.Xml.Xsl/internal/index.d.ts +4 -9
  108. package/System.Xml.Xsl.Runtime/internal/index.d.ts +11 -29
  109. package/package.json +1 -1
@@ -141,48 +141,38 @@ export interface IDynamicExpression$instance extends IArgumentProvider$instance
141
141
 
142
142
  export type IDynamicExpression = IDynamicExpression$instance;
143
143
 
144
- export abstract class BinaryExpression$protected {
145
- protected Accept(visitor: ExpressionVisitor): Expression;
146
- }
147
-
148
-
149
- export interface BinaryExpression$instance extends BinaryExpression$protected, Expression {
144
+ export interface BinaryExpression$instance extends Expression {
150
145
  readonly CanReduce: boolean;
151
146
  readonly Conversion: LambdaExpression | undefined;
152
147
  readonly IsLifted: boolean;
153
148
  readonly IsLiftedToNull: boolean;
154
149
  readonly Left: Expression;
155
- readonly Method: MethodInfo;
150
+ readonly Method: MethodInfo | undefined;
156
151
  readonly Right: Expression;
152
+ Accept(visitor: ExpressionVisitor): Expression;
157
153
  Reduce(): Expression;
158
154
  Update(left: Expression, conversion: LambdaExpression, right: Expression): BinaryExpression;
159
155
  }
160
156
 
161
157
 
162
158
  export const BinaryExpression: {
163
- new(): BinaryExpression;
164
159
  };
165
160
 
166
161
 
167
162
  export type BinaryExpression = BinaryExpression$instance;
168
163
 
169
- export abstract class BlockExpression$protected {
170
- protected Accept(visitor: ExpressionVisitor): Expression;
171
- }
172
-
173
-
174
- export interface BlockExpression$instance extends BlockExpression$protected, Expression {
164
+ export interface BlockExpression$instance extends Expression {
175
165
  readonly Expressions: ReadOnlyCollection_1<Expression>;
176
166
  readonly NodeType: ExpressionType;
177
167
  readonly Result: Expression;
178
168
  readonly Type: Type;
179
169
  readonly Variables: ReadOnlyCollection_1<ParameterExpression>;
170
+ Accept(visitor: ExpressionVisitor): Expression;
180
171
  Update(variables: IEnumerable_1<ParameterExpression>, expressions: IEnumerable_1<Expression>): BlockExpression;
181
172
  }
182
173
 
183
174
 
184
175
  export const BlockExpression: {
185
- new(): BlockExpression;
186
176
  };
187
177
 
188
178
 
@@ -190,7 +180,7 @@ export type BlockExpression = BlockExpression$instance;
190
180
 
191
181
  export interface CatchBlock$instance {
192
182
  readonly Body: Expression;
193
- readonly Filter: Expression;
183
+ readonly Filter: Expression | undefined;
194
184
  readonly Test: Type;
195
185
  readonly Variable: ParameterExpression | undefined;
196
186
  ToString(): string;
@@ -199,59 +189,43 @@ export interface CatchBlock$instance {
199
189
 
200
190
 
201
191
  export const CatchBlock: {
202
- new(): CatchBlock;
203
192
  };
204
193
 
205
194
 
206
195
  export type CatchBlock = CatchBlock$instance;
207
196
 
208
- export abstract class ConditionalExpression$protected {
209
- protected Accept(visitor: ExpressionVisitor): Expression;
210
- }
211
-
212
-
213
- export interface ConditionalExpression$instance extends ConditionalExpression$protected, Expression {
197
+ export interface ConditionalExpression$instance extends Expression {
214
198
  readonly IfFalse: Expression;
215
199
  readonly IfTrue: Expression;
216
200
  readonly NodeType: ExpressionType;
217
201
  readonly Test: Expression;
218
202
  readonly Type: Type;
203
+ Accept(visitor: ExpressionVisitor): Expression;
219
204
  Update(test: Expression, ifTrue: Expression, ifFalse: Expression): ConditionalExpression;
220
205
  }
221
206
 
222
207
 
223
208
  export const ConditionalExpression: {
224
- new(): ConditionalExpression;
225
209
  };
226
210
 
227
211
 
228
212
  export type ConditionalExpression = ConditionalExpression$instance;
229
213
 
230
- export abstract class ConstantExpression$protected {
231
- protected Accept(visitor: ExpressionVisitor): Expression;
232
- }
233
-
234
-
235
- export interface ConstantExpression$instance extends ConstantExpression$protected, Expression {
214
+ export interface ConstantExpression$instance extends Expression {
236
215
  readonly NodeType: ExpressionType;
237
216
  readonly Type: Type;
238
- readonly Value: unknown;
217
+ readonly Value: unknown | undefined;
218
+ Accept(visitor: ExpressionVisitor): Expression;
239
219
  }
240
220
 
241
221
 
242
222
  export const ConstantExpression: {
243
- new(): ConstantExpression;
244
223
  };
245
224
 
246
225
 
247
226
  export type ConstantExpression = ConstantExpression$instance;
248
227
 
249
- export abstract class DebugInfoExpression$protected {
250
- protected Accept(visitor: ExpressionVisitor): Expression;
251
- }
252
-
253
-
254
- export interface DebugInfoExpression$instance extends DebugInfoExpression$protected, Expression {
228
+ export interface DebugInfoExpression$instance extends Expression {
255
229
  readonly Document: SymbolDocumentInfo;
256
230
  readonly EndColumn: int;
257
231
  readonly EndLine: int;
@@ -260,53 +234,43 @@ export interface DebugInfoExpression$instance extends DebugInfoExpression$protec
260
234
  readonly StartColumn: int;
261
235
  readonly StartLine: int;
262
236
  readonly Type: Type;
237
+ Accept(visitor: ExpressionVisitor): Expression;
263
238
  }
264
239
 
265
240
 
266
241
  export const DebugInfoExpression: {
267
- new(): DebugInfoExpression;
268
242
  };
269
243
 
270
244
 
271
245
  export type DebugInfoExpression = DebugInfoExpression$instance;
272
246
 
273
- export abstract class DefaultExpression$protected {
274
- protected Accept(visitor: ExpressionVisitor): Expression;
275
- }
276
-
277
-
278
- export interface DefaultExpression$instance extends DefaultExpression$protected, Expression {
247
+ export interface DefaultExpression$instance extends Expression {
279
248
  readonly NodeType: ExpressionType;
280
249
  readonly Type: Type;
250
+ Accept(visitor: ExpressionVisitor): Expression;
281
251
  }
282
252
 
283
253
 
284
254
  export const DefaultExpression: {
285
- new(): DefaultExpression;
286
255
  };
287
256
 
288
257
 
289
258
  export type DefaultExpression = DefaultExpression$instance;
290
259
 
291
- export abstract class DynamicExpression$protected {
292
- protected Accept(visitor: ExpressionVisitor): Expression;
293
- }
294
-
295
-
296
- export interface DynamicExpression$instance extends DynamicExpression$protected, Expression {
260
+ export interface DynamicExpression$instance extends Expression {
297
261
  readonly Arguments: ReadOnlyCollection_1<Expression>;
298
262
  readonly Binder: CallSiteBinder;
299
263
  readonly CanReduce: boolean;
300
264
  readonly DelegateType: Type;
301
265
  readonly NodeType: ExpressionType;
302
266
  readonly Type: Type;
267
+ Accept(visitor: ExpressionVisitor): Expression;
303
268
  Reduce(): Expression;
304
269
  Update(arguments: IEnumerable_1<Expression>): DynamicExpression;
305
270
  }
306
271
 
307
272
 
308
273
  export const DynamicExpression: {
309
- new(): DynamicExpression;
310
274
  Dynamic(binder: CallSiteBinder, returnType: Type, arguments: IEnumerable_1<Expression>): DynamicExpression;
311
275
  Dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression): DynamicExpression;
312
276
  Dynamic(binder: CallSiteBinder, returnType: Type, arg0: Expression, arg1: Expression, arg2: Expression): DynamicExpression;
@@ -332,12 +296,8 @@ export interface DynamicExpression$instance extends IDynamicExpression$instance
332
296
  export type DynamicExpression = DynamicExpression$instance & __DynamicExpression$views;
333
297
 
334
298
 
335
- export abstract class DynamicExpressionVisitor$protected {
336
- protected VisitDynamic(node: DynamicExpression): Expression;
337
- }
338
-
339
-
340
- export interface DynamicExpressionVisitor$instance extends DynamicExpressionVisitor$protected, ExpressionVisitor {
299
+ export interface DynamicExpressionVisitor$instance extends ExpressionVisitor {
300
+ VisitDynamic(node: DynamicExpression): Expression;
341
301
  }
342
302
 
343
303
 
@@ -359,7 +319,6 @@ export interface ElementInit$instance {
359
319
 
360
320
 
361
321
  export const ElementInit: {
362
- new(): ElementInit;
363
322
  };
364
323
 
365
324
 
@@ -372,26 +331,20 @@ export interface ElementInit$instance extends IArgumentProvider$instance {}
372
331
  export type ElementInit = ElementInit$instance & __ElementInit$views;
373
332
 
374
333
 
375
- export abstract class Expression$protected {
376
- protected Accept(visitor: ExpressionVisitor): Expression;
377
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
378
- }
379
-
380
-
381
- export interface Expression$instance extends Expression$protected {
334
+ export interface Expression$instance {
382
335
  readonly CanReduce: boolean;
383
336
  readonly NodeType: ExpressionType;
384
337
  readonly Type: Type;
338
+ Accept(visitor: ExpressionVisitor): Expression;
385
339
  Reduce(): Expression;
386
340
  ReduceAndCheck(): Expression;
387
341
  ReduceExtensions(): Expression;
388
342
  ToString(): string;
343
+ VisitChildren(visitor: ExpressionVisitor): Expression;
389
344
  }
390
345
 
391
346
 
392
- export const Expression: {
393
- new(nodeType: ExpressionType, type: Type): Expression;
394
- new(): Expression;
347
+ export const Expression: (abstract new(nodeType: ExpressionType, type: Type) => Expression) & (abstract new() => Expression) & {
395
348
  Add(left: Expression, right: Expression, method: MethodInfo): BinaryExpression;
396
349
  Add(left: Expression, right: Expression): BinaryExpression;
397
350
  AddAssign(left: Expression, right: Expression, method: MethodInfo, conversion: LambdaExpression): BinaryExpression;
@@ -706,12 +659,8 @@ export const Expression: {
706
659
 
707
660
  export type Expression = Expression$instance;
708
661
 
709
- export abstract class Expression_1$protected<TDelegate> {
710
- protected Accept(visitor: ExpressionVisitor): Expression;
711
- }
712
-
713
-
714
- export interface Expression_1$instance<TDelegate> extends Expression_1$protected<TDelegate>, LambdaExpression {
662
+ export interface Expression_1$instance<TDelegate> extends LambdaExpression {
663
+ Accept(visitor: ExpressionVisitor): Expression;
715
664
  Compile(): TDelegate;
716
665
  Compile(preferInterpretation: boolean): TDelegate;
717
666
  Compile(debugInfoGenerator: DebugInfoGenerator): TDelegate;
@@ -723,107 +672,91 @@ export interface Expression_1$instance<TDelegate> extends Expression_1$protected
723
672
 
724
673
 
725
674
  export const Expression_1: {
726
- new<TDelegate>(): Expression_1<TDelegate>;
727
675
  };
728
676
 
729
677
 
730
678
  export type Expression_1<TDelegate> = TDelegate | Expression_1$instance<TDelegate>;
731
679
 
732
- export abstract class ExpressionVisitor$protected {
733
- protected VisitBinary(node: BinaryExpression): Expression;
734
- protected VisitBlock(node: BlockExpression): Expression;
735
- protected VisitCatchBlock(node: CatchBlock): CatchBlock;
736
- protected VisitConditional(node: ConditionalExpression): Expression;
737
- protected VisitConstant(node: ConstantExpression): Expression;
738
- protected VisitDebugInfo(node: DebugInfoExpression): Expression;
739
- protected VisitDefault(node: DefaultExpression): Expression;
740
- protected VisitDynamic(node: DynamicExpression): Expression;
741
- protected VisitElementInit(node: ElementInit): ElementInit;
742
- protected VisitExtension(node: Expression): Expression;
743
- protected VisitGoto(node: GotoExpression): Expression;
744
- protected VisitIndex(node: IndexExpression): Expression;
745
- protected VisitInvocation(node: InvocationExpression): Expression;
746
- protected VisitLabel(node: LabelExpression): Expression;
747
- protected VisitLabelTarget(node: LabelTarget): LabelTarget | undefined;
748
- protected VisitLambda<T>(node: Expression_1<T>): Expression;
749
- protected VisitListInit(node: ListInitExpression): Expression;
750
- protected VisitLoop(node: LoopExpression): Expression;
751
- protected VisitMember(node: MemberExpression): Expression;
752
- protected VisitMemberAssignment(node: MemberAssignment): MemberAssignment;
753
- protected VisitMemberBinding(node: MemberBinding): MemberBinding;
754
- protected VisitMemberInit(node: MemberInitExpression): Expression;
755
- protected VisitMemberListBinding(node: MemberListBinding): MemberListBinding;
756
- protected VisitMemberMemberBinding(node: MemberMemberBinding): MemberMemberBinding;
757
- protected VisitMethodCall(node: MethodCallExpression): Expression;
758
- protected VisitNew(node: NewExpression): Expression;
759
- protected VisitNewArray(node: NewArrayExpression): Expression;
760
- protected VisitParameter(node: ParameterExpression): Expression;
761
- protected VisitRuntimeVariables(node: RuntimeVariablesExpression): Expression;
762
- protected VisitSwitch(node: SwitchExpression): Expression;
763
- protected VisitSwitchCase(node: SwitchCase): SwitchCase;
764
- protected VisitTry(node: TryExpression): Expression;
765
- protected VisitTypeBinary(node: TypeBinaryExpression): Expression;
766
- protected VisitUnary(node: UnaryExpression): Expression;
767
- }
768
-
769
-
770
- export interface ExpressionVisitor$instance extends ExpressionVisitor$protected {
680
+ export interface ExpressionVisitor$instance {
771
681
  Visit(node: Expression): Expression | undefined;
772
682
  Visit(nodes: ReadOnlyCollection_1<Expression>): ReadOnlyCollection_1<Expression>;
773
683
  VisitAndConvert<T extends Expression>(node: T, callerName: string): T | undefined;
774
684
  VisitAndConvert<T extends Expression>(nodes: ReadOnlyCollection_1<T>, callerName: string): ReadOnlyCollection_1<T>;
775
- }
776
-
777
-
778
- export const ExpressionVisitor: {
779
- new(): ExpressionVisitor;
685
+ VisitBinary(node: BinaryExpression): Expression;
686
+ VisitBlock(node: BlockExpression): Expression;
687
+ VisitCatchBlock(node: CatchBlock): CatchBlock;
688
+ VisitConditional(node: ConditionalExpression): Expression;
689
+ VisitConstant(node: ConstantExpression): Expression;
690
+ VisitDebugInfo(node: DebugInfoExpression): Expression;
691
+ VisitDefault(node: DefaultExpression): Expression;
692
+ VisitDynamic(node: DynamicExpression): Expression;
693
+ VisitElementInit(node: ElementInit): ElementInit;
694
+ VisitExtension(node: Expression): Expression;
695
+ VisitGoto(node: GotoExpression): Expression;
696
+ VisitIndex(node: IndexExpression): Expression;
697
+ VisitInvocation(node: InvocationExpression): Expression;
698
+ VisitLabel(node: LabelExpression): Expression;
699
+ VisitLabelTarget(node: LabelTarget): LabelTarget | undefined;
700
+ VisitLambda<T>(node: Expression_1<T>): Expression;
701
+ VisitListInit(node: ListInitExpression): Expression;
702
+ VisitLoop(node: LoopExpression): Expression;
703
+ VisitMember(node: MemberExpression): Expression;
704
+ VisitMemberAssignment(node: MemberAssignment): MemberAssignment;
705
+ VisitMemberBinding(node: MemberBinding): MemberBinding;
706
+ VisitMemberInit(node: MemberInitExpression): Expression;
707
+ VisitMemberListBinding(node: MemberListBinding): MemberListBinding;
708
+ VisitMemberMemberBinding(node: MemberMemberBinding): MemberMemberBinding;
709
+ VisitMethodCall(node: MethodCallExpression): Expression;
710
+ VisitNew(node: NewExpression): Expression;
711
+ VisitNewArray(node: NewArrayExpression): Expression;
712
+ VisitParameter(node: ParameterExpression): Expression;
713
+ VisitRuntimeVariables(node: RuntimeVariablesExpression): Expression;
714
+ VisitSwitch(node: SwitchExpression): Expression;
715
+ VisitSwitchCase(node: SwitchCase): SwitchCase;
716
+ VisitTry(node: TryExpression): Expression;
717
+ VisitTypeBinary(node: TypeBinaryExpression): Expression;
718
+ VisitUnary(node: UnaryExpression): Expression;
719
+ }
720
+
721
+
722
+ export const ExpressionVisitor: (abstract new() => ExpressionVisitor) & {
780
723
  Visit<T>(nodes: ReadOnlyCollection_1<T>, elementVisitor: Func_2<T, T>): ReadOnlyCollection_1<T>;
781
724
  };
782
725
 
783
726
 
784
727
  export type ExpressionVisitor = ExpressionVisitor$instance;
785
728
 
786
- export abstract class GotoExpression$protected {
787
- protected Accept(visitor: ExpressionVisitor): Expression;
788
- }
789
-
790
-
791
- export interface GotoExpression$instance extends GotoExpression$protected, Expression {
729
+ export interface GotoExpression$instance extends Expression {
792
730
  readonly Kind: GotoExpressionKind;
793
731
  readonly NodeType: ExpressionType;
794
732
  readonly Target: LabelTarget;
795
733
  readonly Type: Type;
796
- readonly Value: Expression;
734
+ readonly Value: Expression | undefined;
735
+ Accept(visitor: ExpressionVisitor): Expression;
797
736
  Update(target: LabelTarget, value: Expression): GotoExpression;
798
737
  }
799
738
 
800
739
 
801
740
  export const GotoExpression: {
802
- new(): GotoExpression;
803
741
  };
804
742
 
805
743
 
806
744
  export type GotoExpression = GotoExpression$instance;
807
745
 
808
- export abstract class IndexExpression$protected {
809
- protected Accept(visitor: ExpressionVisitor): Expression;
810
- }
811
-
812
-
813
- export interface IndexExpression$instance extends IndexExpression$protected, Expression {
746
+ export interface IndexExpression$instance extends Expression {
814
747
  readonly ArgumentCount: int;
815
748
  readonly Arguments: ReadOnlyCollection_1<Expression>;
816
749
  readonly Indexer: PropertyInfo | undefined;
817
750
  readonly NodeType: ExpressionType;
818
751
  readonly Object: Expression | undefined;
819
752
  readonly Type: Type;
753
+ Accept(visitor: ExpressionVisitor): Expression;
820
754
  GetArgument(index: int): Expression;
821
755
  Update(object: Expression, arguments: IEnumerable_1<Expression>): IndexExpression;
822
756
  }
823
757
 
824
758
 
825
759
  export const IndexExpression: {
826
- new(): IndexExpression;
827
760
  };
828
761
 
829
762
 
@@ -836,24 +769,19 @@ export interface IndexExpression$instance extends IArgumentProvider$instance {}
836
769
  export type IndexExpression = IndexExpression$instance & __IndexExpression$views;
837
770
 
838
771
 
839
- export abstract class InvocationExpression$protected {
840
- protected Accept(visitor: ExpressionVisitor): Expression;
841
- }
842
-
843
-
844
- export interface InvocationExpression$instance extends InvocationExpression$protected, Expression {
772
+ export interface InvocationExpression$instance extends Expression {
845
773
  readonly ArgumentCount: int;
846
774
  readonly Arguments: ReadOnlyCollection_1<Expression>;
847
775
  readonly Expression: Expression;
848
776
  readonly NodeType: ExpressionType;
849
777
  readonly Type: Type;
778
+ Accept(visitor: ExpressionVisitor): Expression;
850
779
  GetArgument(index: int): Expression;
851
780
  Update(expression: Expression, arguments: IEnumerable_1<Expression>): InvocationExpression;
852
781
  }
853
782
 
854
783
 
855
784
  export const InvocationExpression: {
856
- new(): InvocationExpression;
857
785
  };
858
786
 
859
787
 
@@ -866,36 +794,30 @@ export interface InvocationExpression$instance extends IArgumentProvider$instanc
866
794
  export type InvocationExpression = InvocationExpression$instance & __InvocationExpression$views;
867
795
 
868
796
 
869
- export abstract class LabelExpression$protected {
870
- protected Accept(visitor: ExpressionVisitor): Expression;
871
- }
872
-
873
-
874
- export interface LabelExpression$instance extends LabelExpression$protected, Expression {
875
- readonly DefaultValue: Expression;
797
+ export interface LabelExpression$instance extends Expression {
798
+ readonly DefaultValue: Expression | undefined;
876
799
  readonly NodeType: ExpressionType;
877
800
  readonly Target: LabelTarget;
878
801
  readonly Type: Type;
802
+ Accept(visitor: ExpressionVisitor): Expression;
879
803
  Update(target: LabelTarget, defaultValue: Expression): LabelExpression;
880
804
  }
881
805
 
882
806
 
883
807
  export const LabelExpression: {
884
- new(): LabelExpression;
885
808
  };
886
809
 
887
810
 
888
811
  export type LabelExpression = LabelExpression$instance;
889
812
 
890
813
  export interface LabelTarget$instance {
891
- readonly Name: string;
814
+ readonly Name: string | undefined;
892
815
  readonly Type: Type;
893
816
  ToString(): string;
894
817
  }
895
818
 
896
819
 
897
820
  export const LabelTarget: {
898
- new(): LabelTarget;
899
821
  };
900
822
 
901
823
 
@@ -903,7 +825,7 @@ export type LabelTarget = LabelTarget$instance;
903
825
 
904
826
  export interface LambdaExpression$instance extends Expression {
905
827
  readonly Body: Expression;
906
- readonly Name: string;
828
+ readonly Name: string | undefined;
907
829
  readonly NodeType: ExpressionType;
908
830
  readonly Parameters: ReadOnlyCollection_1<ParameterExpression>;
909
831
  readonly ReturnType: Type;
@@ -923,46 +845,36 @@ export const LambdaExpression: {
923
845
 
924
846
  export type LambdaExpression = LambdaExpression$instance;
925
847
 
926
- export abstract class ListInitExpression$protected {
927
- protected Accept(visitor: ExpressionVisitor): Expression;
928
- }
929
-
930
-
931
- export interface ListInitExpression$instance extends ListInitExpression$protected, Expression {
848
+ export interface ListInitExpression$instance extends Expression {
932
849
  readonly CanReduce: boolean;
933
850
  readonly Initializers: ReadOnlyCollection_1<ElementInit>;
934
851
  readonly NewExpression: NewExpression;
935
852
  readonly NodeType: ExpressionType;
936
853
  readonly Type: Type;
854
+ Accept(visitor: ExpressionVisitor): Expression;
937
855
  Reduce(): Expression;
938
856
  Update(newExpression: NewExpression, initializers: IEnumerable_1<ElementInit>): ListInitExpression;
939
857
  }
940
858
 
941
859
 
942
860
  export const ListInitExpression: {
943
- new(): ListInitExpression;
944
861
  };
945
862
 
946
863
 
947
864
  export type ListInitExpression = ListInitExpression$instance;
948
865
 
949
- export abstract class LoopExpression$protected {
950
- protected Accept(visitor: ExpressionVisitor): Expression;
951
- }
952
-
953
-
954
- export interface LoopExpression$instance extends LoopExpression$protected, Expression {
866
+ export interface LoopExpression$instance extends Expression {
955
867
  readonly Body: Expression;
956
868
  readonly BreakLabel: LabelTarget | undefined;
957
869
  readonly ContinueLabel: LabelTarget | undefined;
958
870
  readonly NodeType: ExpressionType;
959
871
  readonly Type: Type;
872
+ Accept(visitor: ExpressionVisitor): Expression;
960
873
  Update(breakLabel: LabelTarget, continueLabel: LabelTarget, body: Expression): LoopExpression;
961
874
  }
962
875
 
963
876
 
964
877
  export const LoopExpression: {
965
- new(): LoopExpression;
966
878
  };
967
879
 
968
880
 
@@ -975,7 +887,6 @@ export interface MemberAssignment$instance extends MemberBinding {
975
887
 
976
888
 
977
889
  export const MemberAssignment: {
978
- new(): MemberAssignment;
979
890
  };
980
891
 
981
892
 
@@ -988,51 +899,40 @@ export interface MemberBinding$instance {
988
899
  }
989
900
 
990
901
 
991
- export const MemberBinding: {
992
- new(type: MemberBindingType, member: MemberInfo): MemberBinding;
902
+ export const MemberBinding: (abstract new(type: MemberBindingType, member: MemberInfo) => MemberBinding) & {
993
903
  };
994
904
 
995
905
 
996
906
  export type MemberBinding = MemberBinding$instance;
997
907
 
998
- export abstract class MemberExpression$protected {
999
- protected Accept(visitor: ExpressionVisitor): Expression;
1000
- }
1001
-
1002
-
1003
- export interface MemberExpression$instance extends MemberExpression$protected, Expression {
1004
- readonly Expression: Expression;
908
+ export interface MemberExpression$instance extends Expression {
909
+ readonly Expression: Expression | undefined;
1005
910
  readonly Member: MemberInfo;
1006
911
  readonly NodeType: ExpressionType;
912
+ Accept(visitor: ExpressionVisitor): Expression;
1007
913
  Update(expression: Expression): MemberExpression;
1008
914
  }
1009
915
 
1010
916
 
1011
917
  export const MemberExpression: {
1012
- new(): MemberExpression;
1013
918
  };
1014
919
 
1015
920
 
1016
921
  export type MemberExpression = MemberExpression$instance;
1017
922
 
1018
- export abstract class MemberInitExpression$protected {
1019
- protected Accept(visitor: ExpressionVisitor): Expression;
1020
- }
1021
-
1022
-
1023
- export interface MemberInitExpression$instance extends MemberInitExpression$protected, Expression {
923
+ export interface MemberInitExpression$instance extends Expression {
1024
924
  readonly Bindings: ReadOnlyCollection_1<MemberBinding>;
1025
925
  readonly CanReduce: boolean;
1026
926
  readonly NewExpression: NewExpression;
1027
927
  readonly NodeType: ExpressionType;
1028
928
  readonly Type: Type;
929
+ Accept(visitor: ExpressionVisitor): Expression;
1029
930
  Reduce(): Expression;
1030
931
  Update(newExpression: NewExpression, bindings: IEnumerable_1<MemberBinding>): MemberInitExpression;
1031
932
  }
1032
933
 
1033
934
 
1034
935
  export const MemberInitExpression: {
1035
- new(): MemberInitExpression;
1036
936
  };
1037
937
 
1038
938
 
@@ -1045,7 +945,6 @@ export interface MemberListBinding$instance extends MemberBinding {
1045
945
 
1046
946
 
1047
947
  export const MemberListBinding: {
1048
- new(): MemberListBinding;
1049
948
  };
1050
949
 
1051
950
 
@@ -1058,31 +957,25 @@ export interface MemberMemberBinding$instance extends MemberBinding {
1058
957
 
1059
958
 
1060
959
  export const MemberMemberBinding: {
1061
- new(): MemberMemberBinding;
1062
960
  };
1063
961
 
1064
962
 
1065
963
  export type MemberMemberBinding = MemberMemberBinding$instance;
1066
964
 
1067
- export abstract class MethodCallExpression$protected {
1068
- protected Accept(visitor: ExpressionVisitor): Expression;
1069
- }
1070
-
1071
-
1072
- export interface MethodCallExpression$instance extends MethodCallExpression$protected, Expression {
965
+ export interface MethodCallExpression$instance extends Expression {
1073
966
  readonly ArgumentCount: int;
1074
967
  readonly Arguments: ReadOnlyCollection_1<Expression>;
1075
968
  readonly Method: MethodInfo;
1076
969
  readonly NodeType: ExpressionType;
1077
970
  readonly Object: Expression | undefined;
1078
971
  readonly Type: Type;
972
+ Accept(visitor: ExpressionVisitor): Expression;
1079
973
  GetArgument(index: int): Expression;
1080
974
  Update(object: Expression, arguments: IEnumerable_1<Expression>): MethodCallExpression;
1081
975
  }
1082
976
 
1083
977
 
1084
978
  export const MethodCallExpression: {
1085
- new(): MethodCallExpression;
1086
979
  };
1087
980
 
1088
981
 
@@ -1095,44 +988,34 @@ export interface MethodCallExpression$instance extends IArgumentProvider$instanc
1095
988
  export type MethodCallExpression = MethodCallExpression$instance & __MethodCallExpression$views;
1096
989
 
1097
990
 
1098
- export abstract class NewArrayExpression$protected {
1099
- protected Accept(visitor: ExpressionVisitor): Expression;
1100
- }
1101
-
1102
-
1103
- export interface NewArrayExpression$instance extends NewArrayExpression$protected, Expression {
991
+ export interface NewArrayExpression$instance extends Expression {
1104
992
  readonly Expressions: ReadOnlyCollection_1<Expression>;
1105
993
  readonly Type: Type;
994
+ Accept(visitor: ExpressionVisitor): Expression;
1106
995
  Update(expressions: IEnumerable_1<Expression>): NewArrayExpression;
1107
996
  }
1108
997
 
1109
998
 
1110
999
  export const NewArrayExpression: {
1111
- new(): NewArrayExpression;
1112
1000
  };
1113
1001
 
1114
1002
 
1115
1003
  export type NewArrayExpression = NewArrayExpression$instance;
1116
1004
 
1117
- export abstract class NewExpression$protected {
1118
- protected Accept(visitor: ExpressionVisitor): Expression;
1119
- }
1120
-
1121
-
1122
- export interface NewExpression$instance extends NewExpression$protected, Expression {
1005
+ export interface NewExpression$instance extends Expression {
1123
1006
  readonly ArgumentCount: int;
1124
1007
  readonly Arguments: ReadOnlyCollection_1<Expression>;
1125
- readonly Constructor: ConstructorInfo;
1126
- readonly Members: ReadOnlyCollection_1<MemberInfo>;
1008
+ readonly Constructor: ConstructorInfo | undefined;
1009
+ readonly Members: ReadOnlyCollection_1<MemberInfo> | undefined;
1127
1010
  readonly NodeType: ExpressionType;
1128
1011
  readonly Type: Type;
1012
+ Accept(visitor: ExpressionVisitor): Expression;
1129
1013
  GetArgument(index: int): Expression;
1130
1014
  Update(arguments: IEnumerable_1<Expression>): NewExpression;
1131
1015
  }
1132
1016
 
1133
1017
 
1134
1018
  export const NewExpression: {
1135
- new(): NewExpression;
1136
1019
  };
1137
1020
 
1138
1021
 
@@ -1145,41 +1028,31 @@ export interface NewExpression$instance extends IArgumentProvider$instance {}
1145
1028
  export type NewExpression = NewExpression$instance & __NewExpression$views;
1146
1029
 
1147
1030
 
1148
- export abstract class ParameterExpression$protected {
1149
- protected Accept(visitor: ExpressionVisitor): Expression;
1150
- }
1151
-
1152
-
1153
- export interface ParameterExpression$instance extends ParameterExpression$protected, Expression {
1031
+ export interface ParameterExpression$instance extends Expression {
1154
1032
  readonly IsByRef: boolean;
1155
- readonly Name: string;
1033
+ readonly Name: string | undefined;
1156
1034
  readonly NodeType: ExpressionType;
1157
1035
  readonly Type: Type;
1036
+ Accept(visitor: ExpressionVisitor): Expression;
1158
1037
  }
1159
1038
 
1160
1039
 
1161
1040
  export const ParameterExpression: {
1162
- new(): ParameterExpression;
1163
1041
  };
1164
1042
 
1165
1043
 
1166
1044
  export type ParameterExpression = ParameterExpression$instance;
1167
1045
 
1168
- export abstract class RuntimeVariablesExpression$protected {
1169
- protected Accept(visitor: ExpressionVisitor): Expression;
1170
- }
1171
-
1172
-
1173
- export interface RuntimeVariablesExpression$instance extends RuntimeVariablesExpression$protected, Expression {
1046
+ export interface RuntimeVariablesExpression$instance extends Expression {
1174
1047
  readonly NodeType: ExpressionType;
1175
1048
  readonly Type: Type;
1176
1049
  readonly Variables: ReadOnlyCollection_1<ParameterExpression>;
1050
+ Accept(visitor: ExpressionVisitor): Expression;
1177
1051
  Update(variables: IEnumerable_1<ParameterExpression>): RuntimeVariablesExpression;
1178
1052
  }
1179
1053
 
1180
1054
 
1181
1055
  export const RuntimeVariablesExpression: {
1182
- new(): RuntimeVariablesExpression;
1183
1056
  };
1184
1057
 
1185
1058
 
@@ -1194,30 +1067,24 @@ export interface SwitchCase$instance {
1194
1067
 
1195
1068
 
1196
1069
  export const SwitchCase: {
1197
- new(): SwitchCase;
1198
1070
  };
1199
1071
 
1200
1072
 
1201
1073
  export type SwitchCase = SwitchCase$instance;
1202
1074
 
1203
- export abstract class SwitchExpression$protected {
1204
- protected Accept(visitor: ExpressionVisitor): Expression;
1205
- }
1206
-
1207
-
1208
- export interface SwitchExpression$instance extends SwitchExpression$protected, Expression {
1075
+ export interface SwitchExpression$instance extends Expression {
1209
1076
  readonly Cases: ReadOnlyCollection_1<SwitchCase>;
1210
1077
  readonly Comparison: MethodInfo | undefined;
1211
1078
  readonly DefaultBody: Expression | undefined;
1212
1079
  readonly NodeType: ExpressionType;
1213
1080
  readonly SwitchValue: Expression;
1214
1081
  readonly Type: Type;
1082
+ Accept(visitor: ExpressionVisitor): Expression;
1215
1083
  Update(switchValue: Expression, cases: IEnumerable_1<SwitchCase>, defaultBody: Expression): SwitchExpression;
1216
1084
  }
1217
1085
 
1218
1086
 
1219
1087
  export const SwitchExpression: {
1220
- new(): SwitchExpression;
1221
1088
  };
1222
1089
 
1223
1090
 
@@ -1232,76 +1099,60 @@ export interface SymbolDocumentInfo$instance {
1232
1099
 
1233
1100
 
1234
1101
  export const SymbolDocumentInfo: {
1235
- new(): SymbolDocumentInfo;
1236
1102
  };
1237
1103
 
1238
1104
 
1239
1105
  export type SymbolDocumentInfo = SymbolDocumentInfo$instance;
1240
1106
 
1241
- export abstract class TryExpression$protected {
1242
- protected Accept(visitor: ExpressionVisitor): Expression;
1243
- }
1244
-
1245
-
1246
- export interface TryExpression$instance extends TryExpression$protected, Expression {
1107
+ export interface TryExpression$instance extends Expression {
1247
1108
  readonly Body: Expression;
1248
1109
  readonly Fault: Expression | undefined;
1249
1110
  readonly Finally: Expression | undefined;
1250
1111
  readonly Handlers: ReadOnlyCollection_1<CatchBlock>;
1251
1112
  readonly NodeType: ExpressionType;
1252
1113
  readonly Type: Type;
1114
+ Accept(visitor: ExpressionVisitor): Expression;
1253
1115
  Update(body: Expression, handlers: IEnumerable_1<CatchBlock>, finally_: Expression, fault: Expression): TryExpression;
1254
1116
  }
1255
1117
 
1256
1118
 
1257
1119
  export const TryExpression: {
1258
- new(): TryExpression;
1259
1120
  };
1260
1121
 
1261
1122
 
1262
1123
  export type TryExpression = TryExpression$instance;
1263
1124
 
1264
- export abstract class TypeBinaryExpression$protected {
1265
- protected Accept(visitor: ExpressionVisitor): Expression;
1266
- }
1267
-
1268
-
1269
- export interface TypeBinaryExpression$instance extends TypeBinaryExpression$protected, Expression {
1125
+ export interface TypeBinaryExpression$instance extends Expression {
1270
1126
  readonly Expression: Expression;
1271
1127
  readonly NodeType: ExpressionType;
1272
1128
  readonly Type: Type;
1273
1129
  readonly TypeOperand: Type;
1130
+ Accept(visitor: ExpressionVisitor): Expression;
1274
1131
  Update(expression: Expression): TypeBinaryExpression;
1275
1132
  }
1276
1133
 
1277
1134
 
1278
1135
  export const TypeBinaryExpression: {
1279
- new(): TypeBinaryExpression;
1280
1136
  };
1281
1137
 
1282
1138
 
1283
1139
  export type TypeBinaryExpression = TypeBinaryExpression$instance;
1284
1140
 
1285
- export abstract class UnaryExpression$protected {
1286
- protected Accept(visitor: ExpressionVisitor): Expression;
1287
- }
1288
-
1289
-
1290
- export interface UnaryExpression$instance extends UnaryExpression$protected, Expression {
1141
+ export interface UnaryExpression$instance extends Expression {
1291
1142
  readonly CanReduce: boolean;
1292
1143
  readonly IsLifted: boolean;
1293
1144
  readonly IsLiftedToNull: boolean;
1294
- readonly Method: MethodInfo;
1145
+ readonly Method: MethodInfo | undefined;
1295
1146
  readonly NodeType: ExpressionType;
1296
1147
  readonly Operand: Expression;
1297
1148
  readonly Type: Type;
1149
+ Accept(visitor: ExpressionVisitor): Expression;
1298
1150
  Reduce(): Expression;
1299
1151
  Update(operand: Expression): UnaryExpression;
1300
1152
  }
1301
1153
 
1302
1154
 
1303
1155
  export const UnaryExpression: {
1304
- new(): UnaryExpression;
1305
1156
  };
1306
1157
 
1307
1158