All pastes #27222 Raw Edit

Miscellany

public text v1 · immutable
#27222 ·published 2005-11-01 01:38 UTC
rendered paste body
.assembly extern mscorlib
{
  .ver 1:0:5000:0
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
}
.assembly extern Microsoft.VisualBasic
{
  .ver 7:0:5000:0
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
}
.assembly 'end'
{
  .hash algorithm 0x00008004
  .ver  0:0:0:0
}
.module end.exe // GUID = {E0A43CB3-F3E4-434B-9622-F9E89062E3C6}


  .class private auto ansi sealed ExpressionLiteralsNothing
        extends [mscorlib]System.Object
  {
    .custom instance void class [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.StandardModuleAttribute::.ctor() =  (01 00 00 00 ) // ....

    .field  public static   valuetype ExpressionLiteralsNothing/MyStruct A

    // method line 1
    .method public static
           default void Main ()  cil managed
    {
        .custom instance void class [mscorlib]System.STAThreadAttribute::.ctor() =  (01 00 00 00 ) // ....

        // Method begins at RVA 0x2050
        .entrypoint
        // Code size 91 (0x5b)
        .maxstack 3
        IL_0000:  ldnull
        IL_0001:  dup
        IL_0002:  brtrue.s IL_0014

        IL_0004:  pop
        IL_0005:  ldtoken ExpressionLiteralsNothing/MyStruct
        IL_000a:  call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
        IL_000f:  call object class [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
        IL_0014:  unbox ExpressionLiteralsNothing/MyStruct
        IL_0019:  ldobj ExpressionLiteralsNothing/MyStruct
        IL_001e:  stsfld  valuetype ExpressionLiteralsNothing/MyStruct ExpressionLiteralsNothing::A
        IL_0023:  ldsflda  valuetype ExpressionLiteralsNothing/MyStruct ExpressionLiteralsNothing::A
        IL_0028:  ldfld  string ExpressionLiteralsNothing/MyStruct::Name
        IL_002d:  ldnull
        IL_002e:  ldc.i4.0
        IL_002f:  call int32 class [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.StringType::StrCmp(string, string, bool)
        IL_0034:  ldc.i4.0
        IL_0035:  beq.s IL_0042

        IL_0037:  ldstr "Unexpected behavior. A.Name Should be Nothing "
        IL_003c:  newobj instance void class [mscorlib]System.Exception::.ctor(string)
        IL_0041:  throw
        IL_0042:  ldsflda  valuetype ExpressionLiteralsNothing/MyStruct ExpressionLiteralsNothing::A
        IL_0047:  ldfld  int16 ExpressionLiteralsNothing/MyStruct::Number
        IL_004c:  ldc.i4.0
        IL_004d:  beq.s IL_005a

        IL_004f:  ldstr "Unexpected behavior. A.Number Should be 0 "
        IL_0054:  newobj instance void class [mscorlib]System.Exception::.ctor(string)
        IL_0059:  throw
        IL_005a:  ret
    } // end of method ExpressionLiteralsNothing::default void Main ()

  .class nested public sequential ansi sealed MyStruct
        extends [mscorlib]System.ValueType
  {
    .field  public   string Name
    .field  public   int16 Number

  } // end of class MyStruct

  } // end of class ExpressionLiteralsNothing