/doc/Dissertation/Evolution/03_Dataflow_Comments.cs
http://github.com/icsharpcode/ILSpy · C# · 378 lines · 186 code · 0 blank · 192 comment · 7 complexity · fa6772048c8d3b51e2809b324863b523 MD5 · raw file
- using System;
- abstract class QuickSortProgram
- {
- public static void Main(System.String[] args)
- {
- System.Int32[] V_0;
- int V_1;
- bool V_2;
- // No-op
- // Stack: {}
- System.String[] expr01 = args;
- // Stack: {expr01}
- int expr02 = expr01.Length;
- // Stack: {expr02}
- int expr03 = (Int32)expr02;
- // Stack: {expr03}
- System.Int32[] expr04 = new int[expr03];
- // Stack: {expr04}
- V_0 = expr04;
- // Stack: {}
- int expr0A = 0;
- // Stack: {expr0A}
- V_1 = expr0A;
- // Stack: {}
- goto IL_1F;
- // Stack: {}
- IL_0E: // No-op
- // Stack: {}
- System.Int32[] expr0F = V_0;
- // Stack: {expr0F}
- int expr10 = V_1;
- // Stack: {expr0F, expr10}
- System.String[] expr11 = args;
- // Stack: {expr0F, expr10, expr11}
- int expr12 = V_1;
- // Stack: {expr0F, expr10, expr11, expr12}
- string expr13 = expr11[expr12];
- // Stack: {expr0F, expr10, expr13}
- int expr14 = System.Int32.Parse(expr13);
- // Stack: {expr0F, expr10, expr14}
- expr0F[expr10] = expr14;
- // Stack: {}
- // No-op
- // Stack: {}
- int expr1B = V_1;
- // Stack: {expr1B}
- int expr1C = 1;
- // Stack: {expr1B, expr1C}
- int expr1D = expr1B + expr1C;
- // Stack: {expr1D}
- V_1 = expr1D;
- // Stack: {}
- IL_1F: int expr1F = V_1;
- // Stack: {expr1F}
- System.Int32[] expr20 = V_0;
- // Stack: {expr1F, expr20}
- int expr21 = expr20.Length;
- // Stack: {expr1F, expr21}
- int expr22 = (Int32)expr21;
- // Stack: {expr1F, expr22}
- bool expr23 = expr1F < expr22;
- // Stack: {expr23}
- V_2 = expr23;
- // Stack: {}
- bool expr26 = V_2;
- // Stack: {expr26}
- if (expr26) goto IL_0E;
- // Stack: {}
- System.Int32[] expr29 = V_0;
- // Stack: {expr29}
- int expr2A = 0;
- // Stack: {expr29, expr2A}
- System.Int32[] expr2B = V_0;
- // Stack: {expr29, expr2A, expr2B}
- int expr2C = expr2B.Length;
- // Stack: {expr29, expr2A, expr2C}
- int expr2D = (Int32)expr2C;
- // Stack: {expr29, expr2A, expr2D}
- int expr2E = 1;
- // Stack: {expr29, expr2A, expr2D, expr2E}
- int expr2F = expr2D - expr2E;
- // Stack: {expr29, expr2A, expr2F}
- QuickSortProgram.QuickSort(expr29, expr2A, expr2F);
- // Stack: {}
- // No-op
- // Stack: {}
- int expr36 = 0;
- // Stack: {expr36}
- V_1 = expr36;
- // Stack: {}
- goto IL_5C;
- // Stack: {}
- IL_3A: // No-op
- // Stack: {}
- System.Int32[] expr3B = V_0;
- // Stack: {expr3B}
- int expr3C = V_1;
- // Stack: {expr3B, expr3C}
- object expr3D = expr3B[expr3C];
- // Stack: {expr3D}
- string expr42 = expr3D.ToString();
- // Stack: {expr42}
- string expr47 = " ";
- // Stack: {expr42, expr47}
- string expr4C = System.String.Concat(expr42, expr47);
- // Stack: {expr4C}
- System.Console.Write(expr4C);
- // Stack: {}
- // No-op
- // Stack: {}
- // No-op
- // Stack: {}
- int expr58 = V_1;
- // Stack: {expr58}
- int expr59 = 1;
- // Stack: {expr58, expr59}
- int expr5A = expr58 + expr59;
- // Stack: {expr5A}
- V_1 = expr5A;
- // Stack: {}
- IL_5C: int expr5C = V_1;
- // Stack: {expr5C}
- System.Int32[] expr5D = V_0;
- // Stack: {expr5C, expr5D}
- int expr5E = expr5D.Length;
- // Stack: {expr5C, expr5E}
- int expr5F = (Int32)expr5E;
- // Stack: {expr5C, expr5F}
- bool expr60 = expr5C < expr5F;
- // Stack: {expr60}
- V_2 = expr60;
- // Stack: {}
- bool expr63 = V_2;
- // Stack: {expr63}
- if (expr63) goto IL_3A;
- // Stack: {}
- return;
- // Stack: {}
- }
- public static void QuickSort(System.Int32[] array, int left, int right)
- {
- int V_0;
- int V_1;
- bool V_2;
- // No-op
- // Stack: {}
- int expr01 = right;
- // Stack: {expr01}
- int expr02 = left;
- // Stack: {expr01, expr02}
- bool expr03 = expr01 > expr02;
- // Stack: {expr03}
- int expr05 = 0;
- // Stack: {expr03, expr05}
- bool expr06 = expr03 == (expr05 != 0);
- // Stack: {expr06}
- V_2 = expr06;
- // Stack: {}
- bool expr09 = V_2;
- // Stack: {expr09}
- if (expr09) goto IL_34;
- // Stack: {}
- // No-op
- // Stack: {}
- int expr0D = left;
- // Stack: {expr0D}
- int expr0E = right;
- // Stack: {expr0D, expr0E}
- int expr0F = expr0D + expr0E;
- // Stack: {expr0F}
- int expr10 = 2;
- // Stack: {expr0F, expr10}
- int expr11 = expr0F / expr10;
- // Stack: {expr11}
- V_0 = expr11;
- // Stack: {}
- System.Int32[] expr13 = array;
- // Stack: {expr13}
- int expr14 = left;
- // Stack: {expr13, expr14}
- int expr15 = right;
- // Stack: {expr13, expr14, expr15}
- int expr16 = V_0;
- // Stack: {expr13, expr14, expr15, expr16}
- int expr17 = QuickSortProgram.Partition(expr13, expr14, expr15, expr16);
- // Stack: {expr17}
- V_1 = expr17;
- // Stack: {}
- System.Int32[] expr1D = array;
- // Stack: {expr1D}
- int expr1E = left;
- // Stack: {expr1D, expr1E}
- int expr1F = V_1;
- // Stack: {expr1D, expr1E, expr1F}
- int expr20 = 1;
- // Stack: {expr1D, expr1E, expr1F, expr20}
- int expr21 = expr1F - expr20;
- // Stack: {expr1D, expr1E, expr21}
- QuickSortProgram.QuickSort(expr1D, expr1E, expr21);
- // Stack: {}
- // No-op
- // Stack: {}
- System.Int32[] expr28 = array;
- // Stack: {expr28}
- int expr29 = V_1;
- // Stack: {expr28, expr29}
- int expr2A = 1;
- // Stack: {expr28, expr29, expr2A}
- int expr2B = expr29 + expr2A;
- // Stack: {expr28, expr2B}
- int expr2C = right;
- // Stack: {expr28, expr2B, expr2C}
- QuickSortProgram.QuickSort(expr28, expr2B, expr2C);
- // Stack: {}
- // No-op
- // Stack: {}
- // No-op
- // Stack: {}
- IL_34: return;
- // Stack: {}
- }
- private static int Partition(System.Int32[] array, int left, int right, int pivotIndex)
- {
- int V_0;
- int V_1;
- int V_2;
- int V_3;
- bool V_4;
- // No-op
- // Stack: {}
- System.Int32[] expr01 = array;
- // Stack: {expr01}
- int expr02 = pivotIndex;
- // Stack: {expr01, expr02}
- int expr03 = expr01[expr02];
- // Stack: {expr03}
- V_0 = expr03;
- // Stack: {}
- System.Int32[] expr05 = array;
- // Stack: {expr05}
- int expr06 = pivotIndex;
- // Stack: {expr05, expr06}
- int expr07 = right;
- // Stack: {expr05, expr06, expr07}
- QuickSortProgram.Swap(expr05, expr06, expr07);
- // Stack: {}
- // No-op
- // Stack: {}
- int expr0E = left;
- // Stack: {expr0E}
- V_1 = expr0E;
- // Stack: {}
- int expr10 = left;
- // Stack: {expr10}
- V_2 = expr10;
- // Stack: {}
- goto IL_35;
- // Stack: {}
- IL_14: // No-op
- // Stack: {}
- System.Int32[] expr15 = array;
- // Stack: {expr15}
- int expr16 = V_2;
- // Stack: {expr15, expr16}
- int expr17 = expr15[expr16];
- // Stack: {expr17}
- int expr18 = V_0;
- // Stack: {expr17, expr18}
- bool expr19 = expr17 > expr18;
- // Stack: {expr19}
- V_4 = expr19;
- // Stack: {}
- bool expr1D = V_4;
- // Stack: {expr1D}
- if (expr1D) goto IL_30;
- // Stack: {}
- // No-op
- // Stack: {}
- System.Int32[] expr22 = array;
- // Stack: {expr22}
- int expr23 = V_1;
- // Stack: {expr22, expr23}
- int expr24 = V_2;
- // Stack: {expr22, expr23, expr24}
- QuickSortProgram.Swap(expr22, expr23, expr24);
- // Stack: {}
- // No-op
- // Stack: {}
- int expr2B = V_1;
- // Stack: {expr2B}
- int expr2C = 1;
- // Stack: {expr2B, expr2C}
- int expr2D = expr2B + expr2C;
- // Stack: {expr2D}
- V_1 = expr2D;
- // Stack: {}
- // No-op
- // Stack: {}
- IL_30: // No-op
- // Stack: {}
- int expr31 = V_2;
- // Stack: {expr31}
- int expr32 = 1;
- // Stack: {expr31, expr32}
- int expr33 = expr31 + expr32;
- // Stack: {expr33}
- V_2 = expr33;
- // Stack: {}
- IL_35: int expr35 = V_2;
- // Stack: {expr35}
- int expr36 = right;
- // Stack: {expr35, expr36}
- bool expr37 = expr35 < expr36;
- // Stack: {expr37}
- V_4 = expr37;
- // Stack: {}
- bool expr3B = V_4;
- // Stack: {expr3B}
- if (expr3B) goto IL_14;
- // Stack: {}
- System.Int32[] expr3F = array;
- // Stack: {expr3F}
- int expr40 = right;
- // Stack: {expr3F, expr40}
- int expr41 = V_1;
- // Stack: {expr3F, expr40, expr41}
- QuickSortProgram.Swap(expr3F, expr40, expr41);
- // Stack: {}
- // No-op
- // Stack: {}
- int expr48 = V_1;
- // Stack: {expr48}
- V_3 = expr48;
- // Stack: {}
- goto IL_4C;
- // Stack: {}
- IL_4C: int expr4C = V_3;
- // Stack: {expr4C}
- return expr4C;
- // Stack: {}
- }
- private static void Swap(System.Int32[] array, int index1, int index2)
- {
- int V_0;
- // No-op
- // Stack: {}
- System.Int32[] expr01 = array;
- // Stack: {expr01}
- int expr02 = index1;
- // Stack: {expr01, expr02}
- int expr03 = expr01[expr02];
- // Stack: {expr03}
- V_0 = expr03;
- // Stack: {}
- System.Int32[] expr05 = array;
- // Stack: {expr05}
- int expr06 = index1;
- // Stack: {expr05, expr06}
- System.Int32[] expr07 = array;
- // Stack: {expr05, expr06, expr07}
- int expr08 = index2;
- // Stack: {expr05, expr06, expr07, expr08}
- int expr09 = expr07[expr08];
- // Stack: {expr05, expr06, expr09}
- expr05[expr06] = expr09;
- // Stack: {}
- System.Int32[] expr0B = array;
- // Stack: {expr0B}
- int expr0C = index2;
- // Stack: {expr0B, expr0C}
- int expr0D = V_0;
- // Stack: {expr0B, expr0C, expr0D}
- expr0B[expr0C] = expr0D;
- // Stack: {}
- return;
- // Stack: {}
- }
- }