public void Program07()

in Iris/FrontEndTest/SamplePrograms.cs [604:681]


        public void Program07()
        {
            // Test variable initialization and case-insensitivity.
            string input =
@"
Program VarInitTest;

Procedure Proc();
Var
    a : array[0..9] of string;
    s : string;
    i : integer;
Begin
    for i := 0 to 9 do
    begin
        A[i] := Str(i);
        S := S + A[i];
    end
End

Begin
    proc();
End.
";
            string output = TestHelpers.TestCompileProgram(input);
            string expected = FixupBaseline(
@"
.assembly SYSTEM-ASSEMBLIES-HERE { }
.assembly extern IrisRuntime { }
.assembly VarInitTest { }
.class public VarInitTest
{
   .method public hidebysig static void Proc() cil managed
   {
      .locals init ([0] string[] a, [1] string s, [2] int32 i)
      ldc.i4.s 10
      newarr string
      stloc.s 0
      ldloc.0
      call void [IrisRuntime]IrisRuntime.CompilerServices::InitStrArray(string[])
      ldsfld string [CoreLib]System.String::Empty
      stloc.s 1
      ldc.i4.0
      stloc.s 2
L0:
      ldloc.2
      ldc.i4.s 9
      bgt L1
      ldloc.0
      ldloc.2
      ldloca.s 2
      call instance string [CoreLib]System.Int32::ToString()
      stelem.ref
      ldloc.1
      ldloc.0
      ldloc.2
      ldelem string
      call string [CoreLib]System.String::Concat(string,string)
      stloc.s 1
      ldloc.2
      ldc.i4.1
      add
      stloc.s 2
      br L0
L1:
      ret
   }
   .method public hidebysig static void $.main() cil managed
   {
      .entrypoint
      call void VarInitTest::Proc()
      ret
   }
}
");

            Assert.AreEqual(expected, output);
        }