/src/System.Management.Automation/engine/interpreter/DynamicInstructions.Generated.cs

https://gitlab.com/unofficial-mirrors/PowerShell · C# · 502 lines · 365 code · 114 blank · 23 comment · 4 complexity · fa6d8b6bcf8d59a1a520563484dbf1a1 MD5 · raw file

  1. /* ****************************************************************************
  2. *
  3. * Copyright (c) Microsoft Corporation.
  4. *
  5. * This source code is subject to terms and conditions of the Apache License, Version 2.0. A
  6. * copy of the license can be found in the License.html file at the root of this distribution. If
  7. * you cannot locate the Apache License, Version 2.0, please send an email to
  8. * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound
  9. * by the terms of the Apache License, Version 2.0.
  10. *
  11. * You must not remove this notice, or any other, from this software.
  12. *
  13. *
  14. * ***************************************************************************/
  15. using System;
  16. using System.Linq;
  17. using System.Reflection;
  18. using System.Runtime.CompilerServices;
  19. namespace System.Management.Automation.Interpreter {
  20. internal partial class DynamicInstructionN {
  21. internal static Type GetDynamicInstructionType(Type delegateType) {
  22. Type[] argTypes = delegateType.GetGenericArguments();
  23. if (argTypes.Length == 0) return null;
  24. Type genericType;
  25. Type[] newArgTypes = argTypes.Skip(1).ToArray();
  26. switch (newArgTypes.Length) {
  27. #region Generated Dynamic Instruction Types
  28. // *** BEGIN GENERATED CODE ***
  29. // generated by function: gen_types from: generate_dynamic_instructions.py
  30. case 1: genericType = typeof(DynamicInstruction<>); break;
  31. case 2: genericType = typeof(DynamicInstruction<,>); break;
  32. case 3: genericType = typeof(DynamicInstruction<,,>); break;
  33. case 4: genericType = typeof(DynamicInstruction<,,,>); break;
  34. case 5: genericType = typeof(DynamicInstruction<,,,,>); break;
  35. case 6: genericType = typeof(DynamicInstruction<,,,,,>); break;
  36. case 7: genericType = typeof(DynamicInstruction<,,,,,,>); break;
  37. case 8: genericType = typeof(DynamicInstruction<,,,,,,,>); break;
  38. case 9: genericType = typeof(DynamicInstruction<,,,,,,,,>); break;
  39. case 10: genericType = typeof(DynamicInstruction<,,,,,,,,,>); break;
  40. case 11: genericType = typeof(DynamicInstruction<,,,,,,,,,,>); break;
  41. case 12: genericType = typeof(DynamicInstruction<,,,,,,,,,,,>); break;
  42. case 13: genericType = typeof(DynamicInstruction<,,,,,,,,,,,,>); break;
  43. case 14: genericType = typeof(DynamicInstruction<,,,,,,,,,,,,,>); break;
  44. case 15: genericType = typeof(DynamicInstruction<,,,,,,,,,,,,,,>); break;
  45. case 16: genericType = typeof(DynamicInstruction<,,,,,,,,,,,,,,,>); break;
  46. // *** END GENERATED CODE ***
  47. #endregion
  48. default:
  49. throw Assert.Unreachable;
  50. }
  51. return genericType.MakeGenericType(newArgTypes);
  52. }
  53. internal static Instruction CreateUntypedInstruction(CallSiteBinder binder, int argCount) {
  54. switch (argCount) {
  55. #region Generated Untyped Dynamic Instructions
  56. // *** BEGIN GENERATED CODE ***
  57. // generated by function: gen_untyped from: generate_dynamic_instructions.py
  58. case 0: return DynamicInstruction<object>.Factory(binder);
  59. case 1: return DynamicInstruction<object, object>.Factory(binder);
  60. case 2: return DynamicInstruction<object, object, object>.Factory(binder);
  61. case 3: return DynamicInstruction<object, object, object, object>.Factory(binder);
  62. case 4: return DynamicInstruction<object, object, object, object, object>.Factory(binder);
  63. case 5: return DynamicInstruction<object, object, object, object, object, object>.Factory(binder);
  64. case 6: return DynamicInstruction<object, object, object, object, object, object, object>.Factory(binder);
  65. case 7: return DynamicInstruction<object, object, object, object, object, object, object, object>.Factory(binder);
  66. case 8: return DynamicInstruction<object, object, object, object, object, object, object, object, object>.Factory(binder);
  67. case 9: return DynamicInstruction<object, object, object, object, object, object, object, object, object, object>.Factory(binder);
  68. case 10: return DynamicInstruction<object, object, object, object, object, object, object, object, object, object, object>.Factory(binder);
  69. case 11: return DynamicInstruction<object, object, object, object, object, object, object, object, object, object, object, object>.Factory(binder);
  70. case 12: return DynamicInstruction<object, object, object, object, object, object, object, object, object, object, object, object, object>.Factory(binder);
  71. case 13: return DynamicInstruction<object, object, object, object, object, object, object, object, object, object, object, object, object, object>.Factory(binder);
  72. case 14: return DynamicInstruction<object, object, object, object, object, object, object, object, object, object, object, object, object, object, object>.Factory(binder);
  73. case 15: return DynamicInstruction<object, object, object, object, object, object, object, object, object, object, object, object, object, object, object, object>.Factory(binder);
  74. // *** END GENERATED CODE ***
  75. #endregion
  76. default: return null;
  77. }
  78. }
  79. }
  80. #region Generated Dynamic Instructions
  81. // *** BEGIN GENERATED CODE ***
  82. // generated by function: gen_instructions from: generate_dynamic_instructions.py
  83. internal class DynamicInstruction<TRet> : Instruction {
  84. private CallSite<Func<CallSite,TRet>> _site;
  85. public static Instruction Factory(CallSiteBinder binder) {
  86. return new DynamicInstruction<TRet>(CallSite<Func<CallSite,TRet>>.Create(binder));
  87. }
  88. private DynamicInstruction(CallSite<Func<CallSite,TRet>> site) {
  89. _site = site;
  90. }
  91. public override int ProducedStack { get { return 1; } }
  92. public override int ConsumedStack { get { return 0; } }
  93. public override int Run(InterpretedFrame frame) {
  94. frame.Data[frame.StackIndex - 0] = _site.Target(_site);
  95. frame.StackIndex -= -1;
  96. return 1;
  97. }
  98. public override string ToString() {
  99. return "Dynamic(" + _site.Binder.ToString() + ")";
  100. }
  101. }
  102. internal class DynamicInstruction<T0,TRet> : Instruction {
  103. private CallSite<Func<CallSite,T0,TRet>> _site;
  104. public static Instruction Factory(CallSiteBinder binder) {
  105. return new DynamicInstruction<T0,TRet>(CallSite<Func<CallSite,T0,TRet>>.Create(binder));
  106. }
  107. private DynamicInstruction(CallSite<Func<CallSite,T0,TRet>> site) {
  108. _site = site;
  109. }
  110. public override int ProducedStack { get { return 1; } }
  111. public override int ConsumedStack { get { return 1; } }
  112. public override int Run(InterpretedFrame frame) {
  113. frame.Data[frame.StackIndex - 1] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 1]);
  114. return 1;
  115. }
  116. public override string ToString() {
  117. return "Dynamic(" + _site.Binder.ToString() + ")";
  118. }
  119. }
  120. internal class DynamicInstruction<T0,T1,TRet> : Instruction {
  121. private CallSite<Func<CallSite,T0,T1,TRet>> _site;
  122. public static Instruction Factory(CallSiteBinder binder) {
  123. return new DynamicInstruction<T0,T1,TRet>(CallSite<Func<CallSite,T0,T1,TRet>>.Create(binder));
  124. }
  125. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,TRet>> site) {
  126. _site = site;
  127. }
  128. public override int ProducedStack { get { return 1; } }
  129. public override int ConsumedStack { get { return 2; } }
  130. public override int Run(InterpretedFrame frame) {
  131. frame.Data[frame.StackIndex - 2] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 2], (T1)frame.Data[frame.StackIndex - 1]);
  132. frame.StackIndex -= 1;
  133. return 1;
  134. }
  135. public override string ToString() {
  136. return "Dynamic(" + _site.Binder.ToString() + ")";
  137. }
  138. }
  139. internal class DynamicInstruction<T0,T1,T2,TRet> : Instruction {
  140. private CallSite<Func<CallSite,T0,T1,T2,TRet>> _site;
  141. public static Instruction Factory(CallSiteBinder binder) {
  142. return new DynamicInstruction<T0,T1,T2,TRet>(CallSite<Func<CallSite,T0,T1,T2,TRet>>.Create(binder));
  143. }
  144. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,TRet>> site) {
  145. _site = site;
  146. }
  147. public override int ProducedStack { get { return 1; } }
  148. public override int ConsumedStack { get { return 3; } }
  149. public override int Run(InterpretedFrame frame) {
  150. frame.Data[frame.StackIndex - 3] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 3], (T1)frame.Data[frame.StackIndex - 2], (T2)frame.Data[frame.StackIndex - 1]);
  151. frame.StackIndex -= 2;
  152. return 1;
  153. }
  154. public override string ToString() {
  155. return "Dynamic(" + _site.Binder.ToString() + ")";
  156. }
  157. }
  158. internal class DynamicInstruction<T0,T1,T2,T3,TRet> : Instruction {
  159. private CallSite<Func<CallSite,T0,T1,T2,T3,TRet>> _site;
  160. public static Instruction Factory(CallSiteBinder binder) {
  161. return new DynamicInstruction<T0,T1,T2,T3,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,TRet>>.Create(binder));
  162. }
  163. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,TRet>> site) {
  164. _site = site;
  165. }
  166. public override int ProducedStack { get { return 1; } }
  167. public override int ConsumedStack { get { return 4; } }
  168. public override int Run(InterpretedFrame frame) {
  169. frame.Data[frame.StackIndex - 4] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 4], (T1)frame.Data[frame.StackIndex - 3], (T2)frame.Data[frame.StackIndex - 2], (T3)frame.Data[frame.StackIndex - 1]);
  170. frame.StackIndex -= 3;
  171. return 1;
  172. }
  173. public override string ToString() {
  174. return "Dynamic(" + _site.Binder.ToString() + ")";
  175. }
  176. }
  177. internal class DynamicInstruction<T0,T1,T2,T3,T4,TRet> : Instruction {
  178. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,TRet>> _site;
  179. public static Instruction Factory(CallSiteBinder binder) {
  180. return new DynamicInstruction<T0,T1,T2,T3,T4,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,TRet>>.Create(binder));
  181. }
  182. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,TRet>> site) {
  183. _site = site;
  184. }
  185. public override int ProducedStack { get { return 1; } }
  186. public override int ConsumedStack { get { return 5; } }
  187. public override int Run(InterpretedFrame frame) {
  188. frame.Data[frame.StackIndex - 5] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 5], (T1)frame.Data[frame.StackIndex - 4], (T2)frame.Data[frame.StackIndex - 3], (T3)frame.Data[frame.StackIndex - 2], (T4)frame.Data[frame.StackIndex - 1]);
  189. frame.StackIndex -= 4;
  190. return 1;
  191. }
  192. public override string ToString() {
  193. return "Dynamic(" + _site.Binder.ToString() + ")";
  194. }
  195. }
  196. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,TRet> : Instruction {
  197. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,TRet>> _site;
  198. public static Instruction Factory(CallSiteBinder binder) {
  199. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,TRet>>.Create(binder));
  200. }
  201. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,TRet>> site) {
  202. _site = site;
  203. }
  204. public override int ProducedStack { get { return 1; } }
  205. public override int ConsumedStack { get { return 6; } }
  206. public override int Run(InterpretedFrame frame) {
  207. frame.Data[frame.StackIndex - 6] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 6], (T1)frame.Data[frame.StackIndex - 5], (T2)frame.Data[frame.StackIndex - 4], (T3)frame.Data[frame.StackIndex - 3], (T4)frame.Data[frame.StackIndex - 2], (T5)frame.Data[frame.StackIndex - 1]);
  208. frame.StackIndex -= 5;
  209. return 1;
  210. }
  211. public override string ToString() {
  212. return "Dynamic(" + _site.Binder.ToString() + ")";
  213. }
  214. }
  215. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,TRet> : Instruction {
  216. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,TRet>> _site;
  217. public static Instruction Factory(CallSiteBinder binder) {
  218. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,TRet>>.Create(binder));
  219. }
  220. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,TRet>> site) {
  221. _site = site;
  222. }
  223. public override int ProducedStack { get { return 1; } }
  224. public override int ConsumedStack { get { return 7; } }
  225. public override int Run(InterpretedFrame frame) {
  226. frame.Data[frame.StackIndex - 7] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 7], (T1)frame.Data[frame.StackIndex - 6], (T2)frame.Data[frame.StackIndex - 5], (T3)frame.Data[frame.StackIndex - 4], (T4)frame.Data[frame.StackIndex - 3], (T5)frame.Data[frame.StackIndex - 2], (T6)frame.Data[frame.StackIndex - 1]);
  227. frame.StackIndex -= 6;
  228. return 1;
  229. }
  230. public override string ToString() {
  231. return "Dynamic(" + _site.Binder.ToString() + ")";
  232. }
  233. }
  234. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,TRet> : Instruction {
  235. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,TRet>> _site;
  236. public static Instruction Factory(CallSiteBinder binder) {
  237. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,TRet>>.Create(binder));
  238. }
  239. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,TRet>> site) {
  240. _site = site;
  241. }
  242. public override int ProducedStack { get { return 1; } }
  243. public override int ConsumedStack { get { return 8; } }
  244. public override int Run(InterpretedFrame frame) {
  245. frame.Data[frame.StackIndex - 8] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 8], (T1)frame.Data[frame.StackIndex - 7], (T2)frame.Data[frame.StackIndex - 6], (T3)frame.Data[frame.StackIndex - 5], (T4)frame.Data[frame.StackIndex - 4], (T5)frame.Data[frame.StackIndex - 3], (T6)frame.Data[frame.StackIndex - 2], (T7)frame.Data[frame.StackIndex - 1]);
  246. frame.StackIndex -= 7;
  247. return 1;
  248. }
  249. public override string ToString() {
  250. return "Dynamic(" + _site.Binder.ToString() + ")";
  251. }
  252. }
  253. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,TRet> : Instruction {
  254. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,TRet>> _site;
  255. public static Instruction Factory(CallSiteBinder binder) {
  256. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,TRet>>.Create(binder));
  257. }
  258. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,TRet>> site) {
  259. _site = site;
  260. }
  261. public override int ProducedStack { get { return 1; } }
  262. public override int ConsumedStack { get { return 9; } }
  263. public override int Run(InterpretedFrame frame) {
  264. frame.Data[frame.StackIndex - 9] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 9], (T1)frame.Data[frame.StackIndex - 8], (T2)frame.Data[frame.StackIndex - 7], (T3)frame.Data[frame.StackIndex - 6], (T4)frame.Data[frame.StackIndex - 5], (T5)frame.Data[frame.StackIndex - 4], (T6)frame.Data[frame.StackIndex - 3], (T7)frame.Data[frame.StackIndex - 2], (T8)frame.Data[frame.StackIndex - 1]);
  265. frame.StackIndex -= 8;
  266. return 1;
  267. }
  268. public override string ToString() {
  269. return "Dynamic(" + _site.Binder.ToString() + ")";
  270. }
  271. }
  272. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,TRet> : Instruction {
  273. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,TRet>> _site;
  274. public static Instruction Factory(CallSiteBinder binder) {
  275. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,TRet>>.Create(binder));
  276. }
  277. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,TRet>> site) {
  278. _site = site;
  279. }
  280. public override int ProducedStack { get { return 1; } }
  281. public override int ConsumedStack { get { return 10; } }
  282. public override int Run(InterpretedFrame frame) {
  283. frame.Data[frame.StackIndex - 10] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 10], (T1)frame.Data[frame.StackIndex - 9], (T2)frame.Data[frame.StackIndex - 8], (T3)frame.Data[frame.StackIndex - 7], (T4)frame.Data[frame.StackIndex - 6], (T5)frame.Data[frame.StackIndex - 5], (T6)frame.Data[frame.StackIndex - 4], (T7)frame.Data[frame.StackIndex - 3], (T8)frame.Data[frame.StackIndex - 2], (T9)frame.Data[frame.StackIndex - 1]);
  284. frame.StackIndex -= 9;
  285. return 1;
  286. }
  287. public override string ToString() {
  288. return "Dynamic(" + _site.Binder.ToString() + ")";
  289. }
  290. }
  291. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,TRet> : Instruction {
  292. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,TRet>> _site;
  293. public static Instruction Factory(CallSiteBinder binder) {
  294. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,TRet>>.Create(binder));
  295. }
  296. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,TRet>> site) {
  297. _site = site;
  298. }
  299. public override int ProducedStack { get { return 1; } }
  300. public override int ConsumedStack { get { return 11; } }
  301. public override int Run(InterpretedFrame frame) {
  302. frame.Data[frame.StackIndex - 11] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 11], (T1)frame.Data[frame.StackIndex - 10], (T2)frame.Data[frame.StackIndex - 9], (T3)frame.Data[frame.StackIndex - 8], (T4)frame.Data[frame.StackIndex - 7], (T5)frame.Data[frame.StackIndex - 6], (T6)frame.Data[frame.StackIndex - 5], (T7)frame.Data[frame.StackIndex - 4], (T8)frame.Data[frame.StackIndex - 3], (T9)frame.Data[frame.StackIndex - 2], (T10)frame.Data[frame.StackIndex - 1]);
  303. frame.StackIndex -= 10;
  304. return 1;
  305. }
  306. public override string ToString() {
  307. return "Dynamic(" + _site.Binder.ToString() + ")";
  308. }
  309. }
  310. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,TRet> : Instruction {
  311. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,TRet>> _site;
  312. public static Instruction Factory(CallSiteBinder binder) {
  313. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,TRet>>.Create(binder));
  314. }
  315. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,TRet>> site) {
  316. _site = site;
  317. }
  318. public override int ProducedStack { get { return 1; } }
  319. public override int ConsumedStack { get { return 12; } }
  320. public override int Run(InterpretedFrame frame) {
  321. frame.Data[frame.StackIndex - 12] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 12], (T1)frame.Data[frame.StackIndex - 11], (T2)frame.Data[frame.StackIndex - 10], (T3)frame.Data[frame.StackIndex - 9], (T4)frame.Data[frame.StackIndex - 8], (T5)frame.Data[frame.StackIndex - 7], (T6)frame.Data[frame.StackIndex - 6], (T7)frame.Data[frame.StackIndex - 5], (T8)frame.Data[frame.StackIndex - 4], (T9)frame.Data[frame.StackIndex - 3], (T10)frame.Data[frame.StackIndex - 2], (T11)frame.Data[frame.StackIndex - 1]);
  322. frame.StackIndex -= 11;
  323. return 1;
  324. }
  325. public override string ToString() {
  326. return "Dynamic(" + _site.Binder.ToString() + ")";
  327. }
  328. }
  329. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,TRet> : Instruction {
  330. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,TRet>> _site;
  331. public static Instruction Factory(CallSiteBinder binder) {
  332. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,TRet>>.Create(binder));
  333. }
  334. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,TRet>> site) {
  335. _site = site;
  336. }
  337. public override int ProducedStack { get { return 1; } }
  338. public override int ConsumedStack { get { return 13; } }
  339. public override int Run(InterpretedFrame frame) {
  340. frame.Data[frame.StackIndex - 13] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 13], (T1)frame.Data[frame.StackIndex - 12], (T2)frame.Data[frame.StackIndex - 11], (T3)frame.Data[frame.StackIndex - 10], (T4)frame.Data[frame.StackIndex - 9], (T5)frame.Data[frame.StackIndex - 8], (T6)frame.Data[frame.StackIndex - 7], (T7)frame.Data[frame.StackIndex - 6], (T8)frame.Data[frame.StackIndex - 5], (T9)frame.Data[frame.StackIndex - 4], (T10)frame.Data[frame.StackIndex - 3], (T11)frame.Data[frame.StackIndex - 2], (T12)frame.Data[frame.StackIndex - 1]);
  341. frame.StackIndex -= 12;
  342. return 1;
  343. }
  344. public override string ToString() {
  345. return "Dynamic(" + _site.Binder.ToString() + ")";
  346. }
  347. }
  348. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,TRet> : Instruction {
  349. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,TRet>> _site;
  350. public static Instruction Factory(CallSiteBinder binder) {
  351. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,TRet>>.Create(binder));
  352. }
  353. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,TRet>> site) {
  354. _site = site;
  355. }
  356. public override int ProducedStack { get { return 1; } }
  357. public override int ConsumedStack { get { return 14; } }
  358. public override int Run(InterpretedFrame frame) {
  359. frame.Data[frame.StackIndex - 14] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 14], (T1)frame.Data[frame.StackIndex - 13], (T2)frame.Data[frame.StackIndex - 12], (T3)frame.Data[frame.StackIndex - 11], (T4)frame.Data[frame.StackIndex - 10], (T5)frame.Data[frame.StackIndex - 9], (T6)frame.Data[frame.StackIndex - 8], (T7)frame.Data[frame.StackIndex - 7], (T8)frame.Data[frame.StackIndex - 6], (T9)frame.Data[frame.StackIndex - 5], (T10)frame.Data[frame.StackIndex - 4], (T11)frame.Data[frame.StackIndex - 3], (T12)frame.Data[frame.StackIndex - 2], (T13)frame.Data[frame.StackIndex - 1]);
  360. frame.StackIndex -= 13;
  361. return 1;
  362. }
  363. public override string ToString() {
  364. return "Dynamic(" + _site.Binder.ToString() + ")";
  365. }
  366. }
  367. internal class DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,TRet> : Instruction {
  368. private CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,TRet>> _site;
  369. public static Instruction Factory(CallSiteBinder binder) {
  370. return new DynamicInstruction<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,TRet>(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,TRet>>.Create(binder));
  371. }
  372. private DynamicInstruction(CallSite<Func<CallSite,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,TRet>> site) {
  373. _site = site;
  374. }
  375. public override int ProducedStack { get { return 1; } }
  376. public override int ConsumedStack { get { return 15; } }
  377. public override int Run(InterpretedFrame frame) {
  378. frame.Data[frame.StackIndex - 15] = _site.Target(_site, (T0)frame.Data[frame.StackIndex - 15], (T1)frame.Data[frame.StackIndex - 14], (T2)frame.Data[frame.StackIndex - 13], (T3)frame.Data[frame.StackIndex - 12], (T4)frame.Data[frame.StackIndex - 11], (T5)frame.Data[frame.StackIndex - 10], (T6)frame.Data[frame.StackIndex - 9], (T7)frame.Data[frame.StackIndex - 8], (T8)frame.Data[frame.StackIndex - 7], (T9)frame.Data[frame.StackIndex - 6], (T10)frame.Data[frame.StackIndex - 5], (T11)frame.Data[frame.StackIndex - 4], (T12)frame.Data[frame.StackIndex - 3], (T13)frame.Data[frame.StackIndex - 2], (T14)frame.Data[frame.StackIndex - 1]);
  379. frame.StackIndex -= 14;
  380. return 1;
  381. }
  382. public override string ToString() {
  383. return "Dynamic(" + _site.Binder.ToString() + ")";
  384. }
  385. }
  386. // *** END GENERATED CODE ***
  387. #endregion
  388. }