Advertisement
Guest User

Untitled

a guest
Jun 20th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Windows
  2.  
  3.  
  4. //  Microsoft (R) .NET Framework IL Disassembler.  Version 4.0.30319.1
  5. //  Copyright (c) Microsoft Corporation.  All rights reserved.
  6.  
  7.  
  8.  
  9. // Metadata version: v2.0.50727
  10. .assembly extern mscorlib
  11. {
  12.   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  13.   .ver 2:0:0:0
  14. }
  15. .assembly extern Nemerle
  16. {
  17.   .publickeytoken = (E0 80 A9 C7 24 E2 BF CD )                         // ....$...
  18.   .ver 1:0:0:9266
  19. }
  20. .assembly extern Nemerle.Compiler
  21. {
  22.   .publickeytoken = (52 91 D1 86 33 4F 61 01 )                         // R...3Oa.
  23.   .ver 1:0:0:9266
  24. }
  25. .assembly MacroLibrary1
  26. {
  27.   .custom instance void [Nemerle]Nemerle.Internal.ContainsMacroAttribute::.ctor(string) = ( 01 00 2A 4D 61 63 72 6F 4C 69 62 72 61 72 79 31   // ..*MacroLibrary1
  28.                                                                                             2E 41 6E 6F 6E 79 6D 6F 75 73 43 6C 61 73 73 54   // .AnonymousClassT
  29.                                                                                             75 70 6C 65 43 74 6F 72 4D 61 63 72 6F 00 00 )    // upleCtorMacro..
  30.   .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
  31.   .custom instance void [Nemerle]Nemerle.Internal.ContainsMacroAttribute::.ctor(string) = ( 01 00 2B 4D 61 63 72 6F 4C 69 62 72 61 72 79 31   // ..+MacroLibrary1
  32.                                                                                             2E 41 6E 6F 6E 79 6D 6F 75 73 43 6C 61 73 73 4E   // .AnonymousClassN
  33.                                                                                             6F 72 6D 61 6C 43 74 6F 72 4D 61 63 72 6F 00 00 ) // ormalCtorMacro..
  34.   .hash algorithm 0x00008004
  35.   .ver 0:0:0:0
  36. }
  37. .module MacroLibrary1
  38. // MVID: {34862A99-E3F6-43AE-8FEF-93399100C713}
  39. .imagebase 0x00400000
  40. .file alignment 0x00000200
  41. .stackreserve 0x00100000
  42. .subsystem 0x0003       // WINDOWS_CUI
  43. .corflags 0x00000001    //  ILONLY
  44. // Image base: 0x00470000
  45.  
  46.  
  47. // =============== CLASS MEMBERS DECLARATION ===================
  48.  
  49. .class public auto ansi sealed specialname MacroLibrary1.AnonymousClassNormalCtorMacro
  50.        extends [mscorlib]System.Object
  51.        implements [Nemerle.Compiler]Nemerle.Compiler.IMacro
  52. {
  53.   .field private static specialname class [Nemerle]Nemerle.MacroUsageAttribute my_usage
  54.   .field private static initonly specialname class [Nemerle]Nemerle.Core.list`1<string> keywords
  55.   .method public hidebysig specialname rtspecialname
  56.           instance void  .ctor() cil managed
  57.   {
  58.     // Code size       7 (0x7)
  59.     .maxstack  8
  60.     IL_0000:  ldarg.0
  61.     IL_0001:  call       instance void [mscorlib]System.Object::.ctor()
  62.     IL_0006:  ret
  63.   } // end of method AnonymousClassNormalCtorMacro::.ctor
  64.  
  65.   .method private hidebysig specialname rtspecialname static
  66.           void  .cctor() cil managed
  67.   {
  68.     // Code size       101 (0x65)
  69.     .maxstack  8
  70.     .locals init (object[] V_0,
  71.              object[] V_1,
  72.              int32 V_2,
  73.              class [Nemerle]Nemerle.MacroUsageAttribute V_3,
  74.              object V_4)
  75.     IL_0000:  ldtoken    MacroLibrary1.AnonymousClassNormalCtorMacro
  76.     IL_0005:  call       class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
  77.     IL_000a:  ldc.i4.0
  78.     IL_000b:  callvirt   instance object[] [mscorlib]System.Reflection.MemberInfo::GetCustomAttributes(bool)
  79.     IL_0010:  stloc.0
  80.     IL_0011:  ldloc.0
  81.     IL_0012:  stloc.1
  82.     IL_0013:  ldc.i4.0
  83.     IL_0014:  stloc.2
  84.     IL_0015:  ldloc.2
  85.     IL_0016:  ldloc.1
  86.     IL_0017:  callvirt   instance int32 [mscorlib]System.Array::get_Length()
  87.     IL_001c:  clt
  88.     IL_001e:  brfalse    IL_0050
  89.  
  90.     IL_0023:  ldloc.1
  91.     IL_0024:  ldloc.2
  92.     IL_0025:  ldelem.ref
  93.     IL_0026:  stloc.s    V_4
  94.     IL_0028:  ldloc.s    V_4
  95.     IL_002a:  isinst     [Nemerle]Nemerle.MacroUsageAttribute
  96.     IL_002f:  brfalse    IL_0047
  97.  
  98.     IL_0034:  ldloc.s    V_4
  99.     IL_0036:  castclass  [Nemerle]Nemerle.MacroUsageAttribute
  100.     IL_003b:  stloc.3
  101.     IL_003c:  ldloc.3
  102.     IL_003d:  stsfld     class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassNormalCtorMacro::my_usage
  103.     IL_0042:  br         IL_0047
  104.  
  105.     IL_0047:  ldloc.2
  106.     IL_0048:  ldc.i4.1
  107.     IL_0049:  add.ovf
  108.     IL_004a:  stloc.2
  109.     IL_004b:  br         IL_0015
  110.  
  111.     IL_0050:  ldstr      "new2"
  112.     IL_0055:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<string>::_N_constant_object
  113.     IL_005a:  newobj     instance void class [Nemerle]Nemerle.Core.list`1/Cons<string>::.ctor(!0,
  114.                                                                                               class [Nemerle]Nemerle.Core.list`1<!0>)
  115.     IL_005f:  stsfld     class [Nemerle]Nemerle.Core.list`1<string> MacroLibrary1.AnonymousClassNormalCtorMacro::keywords
  116.     IL_0064:  ret
  117.   } // end of method AnonymousClassNormalCtorMacro::.cctor
  118.  
  119.   .method public hidebysig newslot specialname virtual final
  120.           instance valuetype [Nemerle.Compiler]Nemerle.Compiler.Location
  121.           get_Location() cil managed
  122.   {
  123.     // Code size       19 (0x13)
  124.     .maxstack  8
  125.     IL_0000:  ldstr      "Macro1.n"
  126.     IL_0005:  call       int32 [Nemerle.Compiler]Nemerle.Compiler.Location::GetFileIndex(string)
  127.     IL_000a:  ldc.i4.s   43
  128.     IL_000c:  ldc.i4.5
  129.     IL_000d:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Location::.ctor(int32,
  130.                                                                                           int32,
  131.                                                                                           int32)
  132.     IL_0012:  ret
  133.   } // end of method AnonymousClassNormalCtorMacro::get_Location
  134.  
  135.   .method public hidebysig newslot specialname virtual final
  136.           instance bool  get_IsInherited() cil managed
  137.   {
  138.     // Code size       34 (0x22)
  139.     .maxstack  8
  140.     IL_0000:  ldsfld     class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassNormalCtorMacro::my_usage
  141.     IL_0005:  ldnull
  142.     IL_0006:  ceq
  143.     IL_0008:  ldc.i4.0
  144.     IL_0009:  ceq
  145.     IL_000b:  ldc.i4.0
  146.     IL_000c:  bne.un     IL_0017
  147.  
  148.     IL_0011:  ldc.i4.0
  149.     IL_0012:  br         IL_0021
  150.  
  151.     IL_0017:  ldsfld     class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassNormalCtorMacro::my_usage
  152.     IL_001c:  callvirt   instance bool [Nemerle]Nemerle.MacroUsageAttribute::get_Inherited()
  153.     IL_0021:  ret
  154.   } // end of method AnonymousClassNormalCtorMacro::get_IsInherited
  155.  
  156.   .method public hidebysig newslot specialname virtual final
  157.           instance class [Nemerle]Nemerle.Core.list`1<string>
  158.           get_Keywords() cil managed
  159.   {
  160.     // Code size       6 (0x6)
  161.     .maxstack  8
  162.     IL_0000:  ldsfld     class [Nemerle]Nemerle.Core.list`1<string> MacroLibrary1.AnonymousClassNormalCtorMacro::keywords
  163.     IL_0005:  ret
  164.   } // end of method AnonymousClassNormalCtorMacro::get_Keywords
  165.  
  166.   .method public hidebysig newslot specialname virtual final
  167.           instance class [Nemerle]Nemerle.MacroUsageAttribute
  168.           get_Usage() cil managed
  169.   {
  170.     // Code size       6 (0x6)
  171.     .maxstack  8
  172.     IL_0000:  ldsfld     class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassNormalCtorMacro::my_usage
  173.     IL_0005:  ret
  174.   } // end of method AnonymousClassNormalCtorMacro::get_Usage
  175.  
  176.   .method public hidebysig newslot specialname virtual final
  177.           instance bool  get_IsTailRecursionTransparent() cil managed
  178.   {
  179.     // Code size       2 (0x2)
  180.     .maxstack  8
  181.     IL_0000:  ldc.i4.0
  182.     IL_0001:  ret
  183.   } // end of method AnonymousClassNormalCtorMacro::get_IsTailRecursionTransparent
  184.  
  185.   .method public hidebysig newslot specialname virtual final
  186.           instance string  GetName() cil managed
  187.   {
  188.     // Code size       6 (0x6)
  189.     .maxstack  8
  190.     IL_0000:  ldstr      "AnonymousClassNormalCtor"
  191.     IL_0005:  ret
  192.   } // end of method AnonymousClassNormalCtorMacro::GetName
  193.  
  194.   .method public hidebysig specialname instance string
  195.           get_Name() cil managed
  196.   {
  197.     // Code size       6 (0x6)
  198.     .maxstack  8
  199.     IL_0000:  ldstr      "AnonymousClassNormalCtor"
  200.     IL_0005:  ret
  201.   } // end of method AnonymousClassNormalCtorMacro::get_Name
  202.  
  203.   .method public hidebysig specialname instance string
  204.           get_Namespace() cil managed
  205.   {
  206.     // Code size       6 (0x6)
  207.     .maxstack  8
  208.     IL_0000:  ldstr      "MacroLibrary1"
  209.     IL_0005:  ret
  210.   } // end of method AnonymousClassNormalCtorMacro::get_Namespace
  211.  
  212.   .method public hidebysig newslot specialname virtual final
  213.           instance string  GetNamespace() cil managed
  214.   {
  215.     // Code size       6 (0x6)
  216.     .maxstack  8
  217.     IL_0000:  ldstr      "MacroLibrary1"
  218.     IL_0005:  ret
  219.   } // end of method AnonymousClassNormalCtorMacro::GetNamespace
  220.  
  221.   .method public hidebysig newslot specialname virtual final
  222.           instance class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  223.           CallTransform(class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> trans_p) cil managed
  224.   {
  225.     // Code size       97 (0x61)
  226.     .maxstack  3
  227.     .locals init (class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement> V_0,
  228.              class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> V_1,
  229.              class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> V_2,
  230.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr V_3)
  231.     IL_0000:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::_N_constant_object
  232.     IL_0005:  castclass  class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  233.     IL_000a:  stloc.0
  234.     IL_000b:  ldarg.1
  235.     IL_000c:  stloc.1
  236.     IL_000d:  ldloc.1
  237.     IL_000e:  isinst     class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>
  238.     IL_0013:  brfalse    IL_0044
  239.  
  240.     IL_0018:  ldloc.1
  241.     IL_0019:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>
  242.     IL_001e:  ldfld      !0 class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::hd
  243.     IL_0023:  stloc.3
  244.     IL_0024:  ldloc.1
  245.     IL_0025:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>
  246.     IL_002a:  ldfld      class [Nemerle]Nemerle.Core.list`1<!0> class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::tl
  247.     IL_002f:  stloc.2
  248.     IL_0030:  ldloc.3
  249.     IL_0031:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement/Expression::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr)
  250.     IL_0036:  ldloc.0
  251.     IL_0037:  newobj     instance void class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::.ctor(!0,
  252.                                                                                                                                                         class [Nemerle]Nemerle.Core.list`1<!0>)
  253.     IL_003c:  stloc.0
  254.     IL_003d:  ldloc.2
  255.     IL_003e:  stloc.1
  256.     IL_003f:  br         IL_000d
  257.  
  258.     IL_0044:  ldloc.1
  259.     IL_0045:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::_N_constant_object
  260.     IL_004a:  bne.un     IL_0054
  261.  
  262.     IL_004f:  br         IL_005a
  263.  
  264.     IL_0054:  newobj     instance void [Nemerle]Nemerle.Core.MatchFailureException::.ctor()
  265.     IL_0059:  throw
  266.  
  267.     IL_005a:  ldloc.0
  268.     IL_005b:  call       class [Nemerle]Nemerle.Core.list`1<!!0> [Nemerle]Nemerle.Collections.NList::Rev<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>(class [Nemerle]Nemerle.Core.list`1<!!0>)
  269.     IL_0060:  ret
  270.   } // end of method AnonymousClassNormalCtorMacro::CallTransform
  271.  
  272.   .method public hidebysig newslot specialname virtual final
  273.           instance class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr
  274.           Run(class [Nemerle.Compiler]Nemerle.Compiler.Typer _N__1,
  275.               class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement> parms) cil managed
  276.   {
  277.     // Code size       97 (0x61)
  278.     .maxstack  6
  279.     .locals init (class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement> V_0,
  280.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr[] V_1,
  281.              int32 V_2,
  282.              class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement> V_3,
  283.              class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement> V_4,
  284.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement V_5,
  285.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement V_6)
  286.     IL_0000:  ldarg.2
  287.     IL_0001:  stloc.0
  288.     IL_0002:  ldloc.0
  289.     IL_0003:  callvirt   instance int32 class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::get_Length()
  290.     IL_0008:  newarr     [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr
  291.     IL_000d:  stloc.1
  292.     IL_000e:  ldc.i4.0
  293.     IL_000f:  stloc.2
  294.     IL_0010:  ldloc.0
  295.     IL_0011:  stloc.3
  296.     IL_0012:  ldloc.3
  297.     IL_0013:  isinst     class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  298.     IL_0018:  brfalse    IL_0056
  299.  
  300.     IL_001d:  ldloc.3
  301.     IL_001e:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  302.     IL_0023:  ldfld      !0 class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::hd
  303.     IL_0028:  stloc.s    V_5
  304.     IL_002a:  ldloc.3
  305.     IL_002b:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  306.     IL_0030:  ldfld      class [Nemerle]Nemerle.Core.list`1<!0> class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::tl
  307.     IL_0035:  stloc.s    V_4
  308.     IL_0037:  ldloc.s    V_5
  309.     IL_0039:  stloc.s    V_6
  310.     IL_003b:  ldloc.1
  311.     IL_003c:  ldloc.2
  312.     IL_003d:  ldloc.s    V_6
  313.     IL_003f:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement/Expression
  314.     IL_0044:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement/Expression::body
  315.     IL_0049:  stelem.ref
  316.     IL_004a:  ldloc.2
  317.     IL_004b:  ldc.i4.1
  318.     IL_004c:  add.ovf
  319.     IL_004d:  stloc.2
  320.     IL_004e:  ldloc.s    V_4
  321.     IL_0050:  stloc.3
  322.     IL_0051:  br         IL_0012
  323.  
  324.     IL_0056:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::_N_constant_object
  325.     IL_005b:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Sequence::.ctor(class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>)
  326.     IL_0060:  ret
  327.   } // end of method AnonymousClassNormalCtorMacro::Run
  328.  
  329.   .method public hidebysig newslot specialname virtual final
  330.           instance valuetype [Nemerle]Nemerle.Builtins.Tuple`2<class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement,class [Nemerle]Nemerle.Builtins.Function`2<class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>,class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>>>
  331.           SyntaxExtension() cil managed
  332.   {
  333.     // Code size       57 (0x39)
  334.     .maxstack  3
  335.     IL_0000:  ldnull
  336.     IL_0001:  ldstr      ")"
  337.     IL_0006:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.GrammarElement/Operator::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement,
  338.                                                                                                          string)
  339.     IL_000b:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.GrammarElement/ExpressionList::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement)
  340.     IL_0010:  ldstr      "("
  341.     IL_0015:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.GrammarElement/Operator::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement,
  342.                                                                                                          string)
  343.     IL_001a:  ldstr      "new2"
  344.     IL_001f:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.GrammarElement/Keyword::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement,
  345.                                                                                                         string)
  346.     IL_0024:  castclass  [Nemerle.Compiler]Nemerle.Compiler.GrammarElement
  347.     IL_0029:  newobj     instance void class [Nemerle]Nemerle.Utility.Identity`2<class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>,class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>>::.ctor()
  348.     IL_002e:  castclass  class [Nemerle]Nemerle.Builtins.Function`2<class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>,class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>>
  349.     IL_0033:  newobj     instance void valuetype [Nemerle]Nemerle.Builtins.Tuple`2<class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement,class [Nemerle]Nemerle.Builtins.Function`2<class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>,class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>>>::.ctor(!0,
  350.                                                                                                                                                                                                                                                                                                                                                                                                          !1)
  351.     IL_0038:  ret
  352.   } // end of method AnonymousClassNormalCtorMacro::SyntaxExtension
  353.  
  354.   .property specialname rtspecialname valuetype [Nemerle.Compiler]Nemerle.Compiler.Location
  355.           Location()
  356.   {
  357.     .get instance valuetype [Nemerle.Compiler]Nemerle.Compiler.Location MacroLibrary1.AnonymousClassNormalCtorMacro::get_Location()
  358.   } // end of property AnonymousClassNormalCtorMacro::Location
  359.   .property specialname rtspecialname bool
  360.           IsInherited()
  361.   {
  362.     .get instance bool MacroLibrary1.AnonymousClassNormalCtorMacro::get_IsInherited()
  363.   } // end of property AnonymousClassNormalCtorMacro::IsInherited
  364.   .property specialname rtspecialname class [Nemerle]Nemerle.Core.list`1<string>
  365.           Keywords()
  366.   {
  367.     .get instance class [Nemerle]Nemerle.Core.list`1<string> MacroLibrary1.AnonymousClassNormalCtorMacro::get_Keywords()
  368.   } // end of property AnonymousClassNormalCtorMacro::Keywords
  369.   .property specialname rtspecialname class [Nemerle]Nemerle.MacroUsageAttribute
  370.           Usage()
  371.   {
  372.     .get instance class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassNormalCtorMacro::get_Usage()
  373.   } // end of property AnonymousClassNormalCtorMacro::Usage
  374.   .property specialname rtspecialname bool
  375.           IsTailRecursionTransparent()
  376.   {
  377.     .get instance bool MacroLibrary1.AnonymousClassNormalCtorMacro::get_IsTailRecursionTransparent()
  378.   } // end of property AnonymousClassNormalCtorMacro::IsTailRecursionTransparent
  379.   .property specialname rtspecialname string
  380.           Name()
  381.   {
  382.     .get instance string MacroLibrary1.AnonymousClassNormalCtorMacro::get_Name()
  383.   } // end of property AnonymousClassNormalCtorMacro::Name
  384.   .property specialname rtspecialname string
  385.           Namespace()
  386.   {
  387.     .get instance string MacroLibrary1.AnonymousClassNormalCtorMacro::get_Namespace()
  388.   } // end of property AnonymousClassNormalCtorMacro::Namespace
  389. } // end of class MacroLibrary1.AnonymousClassNormalCtorMacro
  390.  
  391. .class public auto ansi sealed specialname MacroLibrary1.AnonymousClassTupleCtorMacro
  392.        extends [mscorlib]System.Object
  393.        implements [Nemerle.Compiler]Nemerle.Compiler.IMacro
  394. {
  395.   .class auto ansi sealed nested private beforefieldinit _N_closure_4400
  396.          extends [mscorlib]System.Object
  397.   {
  398.     .method assembly hidebysig specialname rtspecialname
  399.             instance void  .ctor() cil managed
  400.     {
  401.       // Code size       7 (0x7)
  402.       .maxstack  8
  403.       IL_0000:  ldarg.0
  404.       IL_0001:  call       instance void [mscorlib]System.Object::.ctor()
  405.       IL_0006:  ret
  406.     } // end of method _N_closure_4400::.ctor
  407.  
  408.   } // end of class _N_closure_4400
  409.  
  410.   .field private static specialname class [Nemerle]Nemerle.MacroUsageAttribute my_usage
  411.   .field private static initonly specialname class [Nemerle]Nemerle.Core.list`1<string> keywords
  412.   .method public hidebysig specialname rtspecialname
  413.           instance void  .ctor() cil managed
  414.   {
  415.     // Code size       7 (0x7)
  416.     .maxstack  8
  417.     IL_0000:  ldarg.0
  418.     IL_0001:  call       instance void [mscorlib]System.Object::.ctor()
  419.     IL_0006:  ret
  420.   } // end of method AnonymousClassTupleCtorMacro::.ctor
  421.  
  422.   .method private hidebysig specialname rtspecialname static
  423.           void  .cctor() cil managed
  424.   {
  425.     // Code size       101 (0x65)
  426.     .maxstack  8
  427.     .locals init (object[] V_0,
  428.              object[] V_1,
  429.              int32 V_2,
  430.              class [Nemerle]Nemerle.MacroUsageAttribute V_3,
  431.              object V_4)
  432.     IL_0000:  ldtoken    MacroLibrary1.AnonymousClassTupleCtorMacro
  433.     IL_0005:  call       class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
  434.     IL_000a:  ldc.i4.0
  435.     IL_000b:  callvirt   instance object[] [mscorlib]System.Reflection.MemberInfo::GetCustomAttributes(bool)
  436.     IL_0010:  stloc.0
  437.     IL_0011:  ldloc.0
  438.     IL_0012:  stloc.1
  439.     IL_0013:  ldc.i4.0
  440.     IL_0014:  stloc.2
  441.     IL_0015:  ldloc.2
  442.     IL_0016:  ldloc.1
  443.     IL_0017:  callvirt   instance int32 [mscorlib]System.Array::get_Length()
  444.     IL_001c:  clt
  445.     IL_001e:  brfalse    IL_0050
  446.  
  447.     IL_0023:  ldloc.1
  448.     IL_0024:  ldloc.2
  449.     IL_0025:  ldelem.ref
  450.     IL_0026:  stloc.s    V_4
  451.     IL_0028:  ldloc.s    V_4
  452.     IL_002a:  isinst     [Nemerle]Nemerle.MacroUsageAttribute
  453.     IL_002f:  brfalse    IL_0047
  454.  
  455.     IL_0034:  ldloc.s    V_4
  456.     IL_0036:  castclass  [Nemerle]Nemerle.MacroUsageAttribute
  457.     IL_003b:  stloc.3
  458.     IL_003c:  ldloc.3
  459.     IL_003d:  stsfld     class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassTupleCtorMacro::my_usage
  460.     IL_0042:  br         IL_0047
  461.  
  462.     IL_0047:  ldloc.2
  463.     IL_0048:  ldc.i4.1
  464.     IL_0049:  add.ovf
  465.     IL_004a:  stloc.2
  466.     IL_004b:  br         IL_0015
  467.  
  468.     IL_0050:  ldstr      "new2"
  469.     IL_0055:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<string>::_N_constant_object
  470.     IL_005a:  newobj     instance void class [Nemerle]Nemerle.Core.list`1/Cons<string>::.ctor(!0,
  471.                                                                                               class [Nemerle]Nemerle.Core.list`1<!0>)
  472.     IL_005f:  stsfld     class [Nemerle]Nemerle.Core.list`1<string> MacroLibrary1.AnonymousClassTupleCtorMacro::keywords
  473.     IL_0064:  ret
  474.   } // end of method AnonymousClassTupleCtorMacro::.cctor
  475.  
  476.   .method public hidebysig newslot specialname virtual final
  477.           instance valuetype [Nemerle.Compiler]Nemerle.Compiler.Location
  478.           get_Location() cil managed
  479.   {
  480.     // Code size       19 (0x13)
  481.     .maxstack  8
  482.     IL_0000:  ldstr      "Macro1.n"
  483.     IL_0005:  call       int32 [Nemerle.Compiler]Nemerle.Compiler.Location::GetFileIndex(string)
  484.     IL_000a:  ldc.i4.s   49
  485.     IL_000c:  ldc.i4.5
  486.     IL_000d:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Location::.ctor(int32,
  487.                                                                                           int32,
  488.                                                                                           int32)
  489.     IL_0012:  ret
  490.   } // end of method AnonymousClassTupleCtorMacro::get_Location
  491.  
  492.   .method public hidebysig newslot specialname virtual final
  493.           instance bool  get_IsInherited() cil managed
  494.   {
  495.     // Code size       34 (0x22)
  496.     .maxstack  8
  497.     IL_0000:  ldsfld     class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassTupleCtorMacro::my_usage
  498.     IL_0005:  ldnull
  499.     IL_0006:  ceq
  500.     IL_0008:  ldc.i4.0
  501.     IL_0009:  ceq
  502.     IL_000b:  ldc.i4.0
  503.     IL_000c:  bne.un     IL_0017
  504.  
  505.     IL_0011:  ldc.i4.0
  506.     IL_0012:  br         IL_0021
  507.  
  508.     IL_0017:  ldsfld     class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassTupleCtorMacro::my_usage
  509.     IL_001c:  callvirt   instance bool [Nemerle]Nemerle.MacroUsageAttribute::get_Inherited()
  510.     IL_0021:  ret
  511.   } // end of method AnonymousClassTupleCtorMacro::get_IsInherited
  512.  
  513.   .method public hidebysig newslot specialname virtual final
  514.           instance class [Nemerle]Nemerle.Core.list`1<string>
  515.           get_Keywords() cil managed
  516.   {
  517.     // Code size       6 (0x6)
  518.     .maxstack  8
  519.     IL_0000:  ldsfld     class [Nemerle]Nemerle.Core.list`1<string> MacroLibrary1.AnonymousClassTupleCtorMacro::keywords
  520.     IL_0005:  ret
  521.   } // end of method AnonymousClassTupleCtorMacro::get_Keywords
  522.  
  523.   .method public hidebysig newslot specialname virtual final
  524.           instance class [Nemerle]Nemerle.MacroUsageAttribute
  525.           get_Usage() cil managed
  526.   {
  527.     // Code size       6 (0x6)
  528.     .maxstack  8
  529.     IL_0000:  ldsfld     class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassTupleCtorMacro::my_usage
  530.     IL_0005:  ret
  531.   } // end of method AnonymousClassTupleCtorMacro::get_Usage
  532.  
  533.   .method public hidebysig newslot specialname virtual final
  534.           instance bool  get_IsTailRecursionTransparent() cil managed
  535.   {
  536.     // Code size       2 (0x2)
  537.     .maxstack  8
  538.     IL_0000:  ldc.i4.0
  539.     IL_0001:  ret
  540.   } // end of method AnonymousClassTupleCtorMacro::get_IsTailRecursionTransparent
  541.  
  542.   .method public hidebysig newslot specialname virtual final
  543.           instance string  GetName() cil managed
  544.   {
  545.     // Code size       6 (0x6)
  546.     .maxstack  8
  547.     IL_0000:  ldstr      "AnonymousClassTupleCtor"
  548.     IL_0005:  ret
  549.   } // end of method AnonymousClassTupleCtorMacro::GetName
  550.  
  551.   .method public hidebysig specialname instance string
  552.           get_Name() cil managed
  553.   {
  554.     // Code size       6 (0x6)
  555.     .maxstack  8
  556.     IL_0000:  ldstr      "AnonymousClassTupleCtor"
  557.     IL_0005:  ret
  558.   } // end of method AnonymousClassTupleCtorMacro::get_Name
  559.  
  560.   .method public hidebysig specialname instance string
  561.           get_Namespace() cil managed
  562.   {
  563.     // Code size       6 (0x6)
  564.     .maxstack  8
  565.     IL_0000:  ldstr      "MacroLibrary1"
  566.     IL_0005:  ret
  567.   } // end of method AnonymousClassTupleCtorMacro::get_Namespace
  568.  
  569.   .method public hidebysig newslot specialname virtual final
  570.           instance string  GetNamespace() cil managed
  571.   {
  572.     // Code size       6 (0x6)
  573.     .maxstack  8
  574.     IL_0000:  ldstr      "MacroLibrary1"
  575.     IL_0005:  ret
  576.   } // end of method AnonymousClassTupleCtorMacro::GetNamespace
  577.  
  578.   .method public hidebysig newslot specialname virtual final
  579.           instance class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  580.           CallTransform(class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> trans_p) cil managed
  581.   {
  582.     // Code size       156 (0x9c)
  583.     .maxstack  3
  584.     .locals init (class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement> V_0,
  585.              class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> V_1,
  586.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr V_2,
  587.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr V_3)
  588.     IL_0000:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::_N_constant_object
  589.     IL_0005:  castclass  class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  590.     IL_000a:  stloc.0
  591.     IL_000b:  ldarg.1
  592.     IL_000c:  isinst     class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>
  593.     IL_0011:  brfalse    IL_007f
  594.  
  595.     IL_0016:  ldarg.1
  596.     IL_0017:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>
  597.     IL_001c:  ldfld      !0 class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::hd
  598.     IL_0021:  stloc.2
  599.     IL_0022:  ldarg.1
  600.     IL_0023:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>
  601.     IL_0028:  ldfld      class [Nemerle]Nemerle.Core.list`1<!0> class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::tl
  602.     IL_002d:  stloc.1
  603.     IL_002e:  ldloc.2
  604.     IL_002f:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement/Expression::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr)
  605.     IL_0034:  ldloc.0
  606.     IL_0035:  newobj     instance void class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::.ctor(!0,
  607.                                                                                                                                                         class [Nemerle]Nemerle.Core.list`1<!0>)
  608.     IL_003a:  stloc.0
  609.     IL_003b:  ldloc.1
  610.     IL_003c:  isinst     class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>
  611.     IL_0041:  brfalse    IL_0064
  612.  
  613.     IL_0046:  ldloc.1
  614.     IL_0047:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>
  615.     IL_004c:  ldfld      !0 class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::hd
  616.     IL_0051:  stloc.3
  617.     IL_0052:  ldloc.3
  618.     IL_0053:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement/Expression::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr)
  619.     IL_0058:  ldloc.0
  620.     IL_0059:  newobj     instance void class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::.ctor(!0,
  621.                                                                                                                                                         class [Nemerle]Nemerle.Core.list`1<!0>)
  622.     IL_005e:  stloc.0
  623.     IL_005f:  br         IL_007a
  624.  
  625.     IL_0064:  ldloc.1
  626.     IL_0065:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::_N_constant_object
  627.     IL_006a:  bne.un     IL_0074
  628.  
  629.     IL_006f:  br         IL_007a
  630.  
  631.     IL_0074:  newobj     instance void [Nemerle]Nemerle.Core.MatchFailureException::.ctor()
  632.     IL_0079:  throw
  633.  
  634.     IL_007a:  br         IL_0095
  635.  
  636.     IL_007f:  ldarg.1
  637.     IL_0080:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::_N_constant_object
  638.     IL_0085:  bne.un     IL_008f
  639.  
  640.     IL_008a:  br         IL_0095
  641.  
  642.     IL_008f:  newobj     instance void [Nemerle]Nemerle.Core.MatchFailureException::.ctor()
  643.     IL_0094:  throw
  644.  
  645.     IL_0095:  ldloc.0
  646.     IL_0096:  call       class [Nemerle]Nemerle.Core.list`1<!!0> [Nemerle]Nemerle.Collections.NList::Rev<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>(class [Nemerle]Nemerle.Core.list`1<!!0>)
  647.     IL_009b:  ret
  648.   } // end of method AnonymousClassTupleCtorMacro::CallTransform
  649.  
  650.   .method public hidebysig newslot specialname virtual final
  651.           instance class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr
  652.           Run(class [Nemerle.Compiler]Nemerle.Compiler.Typer _N__1,
  653.               class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement> parms) cil managed
  654.   {
  655.     // Code size       192 (0xc0)
  656.     .maxstack  15
  657.     .locals init (class MacroLibrary1.AnonymousClassTupleCtorMacro/_N_closure_4400 V_0,
  658.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr V_1,
  659.              int32 V_2,
  660.              string V_3)
  661.     IL_0000:  newobj     instance void MacroLibrary1.AnonymousClassTupleCtorMacro/_N_closure_4400::.ctor()
  662.     IL_0005:  stloc.0
  663.     IL_0006:  ldarg.2
  664.     IL_0007:  isinst     class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  665.     IL_000c:  brfalse    IL_00ba
  666.  
  667.     IL_0011:  ldarg.2
  668.     IL_0012:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  669.     IL_0017:  ldfld      !0 class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::hd
  670.     IL_001c:  isinst     [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement/Expression
  671.     IL_0021:  brfalse    IL_00b0
  672.  
  673.     IL_0026:  ldarg.2
  674.     IL_0027:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  675.     IL_002c:  ldfld      class [Nemerle]Nemerle.Core.list`1<!0> class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::tl
  676.     IL_0031:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::_N_constant_object
  677.     IL_0036:  bne.un     IL_005d
  678.  
  679.     IL_003b:  ldarg.2
  680.     IL_003c:  castclass  class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>
  681.     IL_0041:  ldfld      !0 class [Nemerle]Nemerle.Core.list`1/Cons<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::hd
  682.     IL_0046:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement/Expression
  683.     IL_004b:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement/Expression::body
  684.     IL_0050:  stloc.1
  685.     IL_0051:  ldloc.0
  686.     IL_0052:  ldloc.1
  687.     IL_0053:  call       class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr MacroLibrary1.AnonymousClassTupleCtorMacro::_N_decorate_4409(class MacroLibrary1.AnonymousClassTupleCtorMacro/_N_closure_4400,
  688.                                                                                                                                                class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr)
  689.     IL_0058:  br         IL_00ab
  690.  
  691.     IL_005d:  ldarg.2
  692.     IL_005e:  callvirt   instance int32 class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::get_Length()
  693.     IL_0063:  stloc.2
  694.     IL_0064:  ldarg.2
  695.     IL_0065:  ldstr      ", "
  696.     IL_006a:  callvirt   instance string class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>::ToString(string)
  697.     IL_006f:  stloc.3
  698.     IL_0070:  ldsfld     valuetype [Nemerle.Compiler]Nemerle.Compiler.Location [Nemerle.Compiler]Nemerle.Compiler.Location::Default
  699.     IL_0075:  ldstr      "macro `AnonymousClassTupleCtor' expects following "
  700.     + "list of arguments: (PExpr) got some "
  701.     IL_007a:  ldloca.s   V_2
  702.     IL_007c:  call       instance string [mscorlib]System.Int32::ToString()
  703.     IL_0081:  call       string [mscorlib]System.String::Concat(string,
  704.                                                                 string)
  705.     IL_0086:  ldstr      " parameters ["
  706.     IL_008b:  call       string [mscorlib]System.String::Concat(string,
  707.                                                                 string)
  708.     IL_0090:  ldloc.3
  709.     IL_0091:  call       string [mscorlib]System.String::Concat(string,
  710.                                                                 string)
  711.     IL_0096:  ldstr      "]"
  712.     IL_009b:  call       string [mscorlib]System.String::Concat(string,
  713.                                                                 string)
  714.     IL_00a0:  call       void [Nemerle.Compiler]Nemerle.Compiler.Message::Error(valuetype [Nemerle.Compiler]Nemerle.Compiler.Location,
  715.                                                                                 string)
  716.     IL_00a5:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Recovery::.ctor()
  717.     IL_00aa:  throw
  718.  
  719.     IL_00ab:  br         IL_00b5
  720.  
  721.     IL_00b0:  br         IL_005d
  722.  
  723.     IL_00b5:  br         IL_00bf
  724.  
  725.     IL_00ba:  br         IL_005d
  726.  
  727.     IL_00bf:  ret
  728.   } // end of method AnonymousClassTupleCtorMacro::Run
  729.  
  730.   .method public hidebysig newslot specialname virtual final
  731.           instance valuetype [Nemerle]Nemerle.Builtins.Tuple`2<class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement,class [Nemerle]Nemerle.Builtins.Function`2<class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>,class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>>>
  732.           SyntaxExtension() cil managed
  733.   {
  734.     // Code size       37 (0x25)
  735.     .maxstack  3
  736.     IL_0000:  ldnull
  737.     IL_0001:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.GrammarElement/Expression::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement)
  738.     IL_0006:  ldstr      "new2"
  739.     IL_000b:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.GrammarElement/Keyword::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement,
  740.                                                                                                         string)
  741.     IL_0010:  castclass  [Nemerle.Compiler]Nemerle.Compiler.GrammarElement
  742.     IL_0015:  newobj     instance void class [Nemerle]Nemerle.Utility.Identity`2<class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>,class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>>::.ctor()
  743.     IL_001a:  castclass  class [Nemerle]Nemerle.Builtins.Function`2<class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>,class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>>
  744.     IL_001f:  newobj     instance void valuetype [Nemerle]Nemerle.Builtins.Tuple`2<class [Nemerle.Compiler]Nemerle.Compiler.GrammarElement,class [Nemerle]Nemerle.Builtins.Function`2<class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>,class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.SyntaxElement>>>::.ctor(!0,
  745.                                                                                                                                                                                                                                                                                                                                                                                                          !1)
  746.     IL_0024:  ret
  747.   } // end of method AnonymousClassTupleCtorMacro::SyntaxExtension
  748.  
  749.   .method private hidebysig static class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr
  750.           _N_decorate_4409(class MacroLibrary1.AnonymousClassTupleCtorMacro/_N_closure_4400 _N_Run_cp_4408,
  751.                            class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr e) cil managed
  752.   {
  753.     // Code size       273 (0x111)
  754.     .maxstack  8
  755.     .locals init (class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> V_0,
  756.              class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> V_1,
  757.              class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> V_2,
  758.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.Splicable V_3,
  759.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr V_4,
  760.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.Splicable V_5,
  761.              class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr V_6)
  762.     IL_0000:  ldarg.1
  763.     IL_0001:  isinst     [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member
  764.     IL_0006:  brfalse    IL_0039
  765.  
  766.     IL_000b:  ldarg.1
  767.     IL_000c:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member
  768.     IL_0011:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member::obj
  769.     IL_0016:  stloc.s    V_6
  770.     IL_0018:  ldarg.1
  771.     IL_0019:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member
  772.     IL_001e:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.Splicable [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member::member
  773.     IL_0023:  stloc.s    V_5
  774.     IL_0025:  ldarg.0
  775.     IL_0026:  ldloc.s    V_6
  776.     IL_0028:  call       class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr MacroLibrary1.AnonymousClassTupleCtorMacro::_N_decorate_4409(class MacroLibrary1.AnonymousClassTupleCtorMacro/_N_closure_4400,
  777.                                                                                                                                                class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr)
  778.     IL_002d:  ldloc.s    V_5
  779.     IL_002f:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr,
  780.                                                                                                         class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.Splicable)
  781.     IL_0034:  br         IL_0110
  782.  
  783.     IL_0039:  ldarg.1
  784.     IL_003a:  isinst     [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call
  785.     IL_003f:  brfalse    IL_010b
  786.  
  787.     IL_0044:  ldarg.1
  788.     IL_0045:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call
  789.     IL_004a:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call::func
  790.     IL_004f:  isinst     [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member
  791.     IL_0054:  brfalse    IL_00ab
  792.  
  793.     IL_0059:  ldarg.1
  794.     IL_005a:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call
  795.     IL_005f:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call::func
  796.     IL_0064:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member
  797.     IL_0069:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member::obj
  798.     IL_006e:  stloc.s    V_4
  799.     IL_0070:  ldarg.1
  800.     IL_0071:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call
  801.     IL_0076:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call::func
  802.     IL_007b:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member
  803.     IL_0080:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.Splicable [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member::member
  804.     IL_0085:  stloc.3
  805.     IL_0086:  ldarg.1
  806.     IL_0087:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call
  807.     IL_008c:  ldfld      class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call::parms
  808.     IL_0091:  stloc.2
  809.     IL_0092:  ldarg.0
  810.     IL_0093:  ldloc.s    V_4
  811.     IL_0095:  call       class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr MacroLibrary1.AnonymousClassTupleCtorMacro::_N_decorate_4409(class MacroLibrary1.AnonymousClassTupleCtorMacro/_N_closure_4400,
  812.                                                                                                                                                class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr)
  813.     IL_009a:  ldloc.3
  814.     IL_009b:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Member::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr,
  815.                                                                                                         class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.Splicable)
  816.     IL_00a0:  ldloc.2
  817.     IL_00a1:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call::.ctor(class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr,
  818.                                                                                                       class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>)
  819.     IL_00a6:  br         IL_0106
  820.  
  821.     IL_00ab:  ldarg.1
  822.     IL_00ac:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call
  823.     IL_00b1:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call::func
  824.     IL_00b6:  isinst     [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/ListLiteral
  825.     IL_00bb:  brfalse    IL_00f1
  826.  
  827.     IL_00c0:  ldarg.1
  828.     IL_00c1:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call
  829.     IL_00c6:  ldfld      class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call::func
  830.     IL_00cb:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/ListLiteral
  831.     IL_00d0:  ldfld      class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/ListLiteral::elements
  832.     IL_00d5:  stloc.1
  833.     IL_00d6:  ldarg.1
  834.     IL_00d7:  castclass  [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call
  835.     IL_00dc:  ldfld      class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr> [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Call::parms
  836.     IL_00e1:  stloc.0
  837.     IL_00e2:  ldsfld     class [Nemerle]Nemerle.Core.list`1/Nil<!0> class [Nemerle]Nemerle.Core.list`1/Nil<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>::_N_constant_object
  838.     IL_00e7:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr/Sequence::.ctor(class [Nemerle]Nemerle.Core.list`1<class [Nemerle.Compiler]Nemerle.Compiler.Parsetree.PExpr>)
  839.     IL_00ec:  br         IL_0106
  840.  
  841.     IL_00f1:  ldsfld     valuetype [Nemerle.Compiler]Nemerle.Compiler.Location [Nemerle.Compiler]Nemerle.Compiler.Location::Default
  842.     IL_00f6:  ldstr      "Usage: 'neww [a, b, c](x, y, z)' or 'new [a, b, c]"
  843.     + "(t)' where 't' is tuple."
  844.     IL_00fb:  call       void [Nemerle.Compiler]Nemerle.Compiler.Message::Error(valuetype [Nemerle.Compiler]Nemerle.Compiler.Location,
  845.                                                                                 string)
  846.     IL_0100:  newobj     instance void [Nemerle.Compiler]Nemerle.Compiler.Recovery::.ctor()
  847.     IL_0105:  throw
  848.  
  849.     IL_0106:  br         IL_0110
  850.  
  851.     IL_010b:  br         IL_00f1
  852.  
  853.     IL_0110:  ret
  854.   } // end of method AnonymousClassTupleCtorMacro::_N_decorate_4409
  855.  
  856.   .property specialname rtspecialname valuetype [Nemerle.Compiler]Nemerle.Compiler.Location
  857.           Location()
  858.   {
  859.     .get instance valuetype [Nemerle.Compiler]Nemerle.Compiler.Location MacroLibrary1.AnonymousClassTupleCtorMacro::get_Location()
  860.   } // end of property AnonymousClassTupleCtorMacro::Location
  861.   .property specialname rtspecialname bool
  862.           IsInherited()
  863.   {
  864.     .get instance bool MacroLibrary1.AnonymousClassTupleCtorMacro::get_IsInherited()
  865.   } // end of property AnonymousClassTupleCtorMacro::IsInherited
  866.   .property specialname rtspecialname class [Nemerle]Nemerle.Core.list`1<string>
  867.           Keywords()
  868.   {
  869.     .get instance class [Nemerle]Nemerle.Core.list`1<string> MacroLibrary1.AnonymousClassTupleCtorMacro::get_Keywords()
  870.   } // end of property AnonymousClassTupleCtorMacro::Keywords
  871.   .property specialname rtspecialname class [Nemerle]Nemerle.MacroUsageAttribute
  872.           Usage()
  873.   {
  874.     .get instance class [Nemerle]Nemerle.MacroUsageAttribute MacroLibrary1.AnonymousClassTupleCtorMacro::get_Usage()
  875.   } // end of property AnonymousClassTupleCtorMacro::Usage
  876.   .property specialname rtspecialname bool
  877.           IsTailRecursionTransparent()
  878.   {
  879.     .get instance bool MacroLibrary1.AnonymousClassTupleCtorMacro::get_IsTailRecursionTransparent()
  880.   } // end of property AnonymousClassTupleCtorMacro::IsTailRecursionTransparent
  881.   .property specialname rtspecialname string
  882.           Name()
  883.   {
  884.     .get instance string MacroLibrary1.AnonymousClassTupleCtorMacro::get_Name()
  885.   } // end of property AnonymousClassTupleCtorMacro::Name
  886.   .property specialname rtspecialname string
  887.           Namespace()
  888.   {
  889.     .get instance string MacroLibrary1.AnonymousClassTupleCtorMacro::get_Namespace()
  890.   } // end of property AnonymousClassTupleCtorMacro::Namespace
  891. } // end of class MacroLibrary1.AnonymousClassTupleCtorMacro
  892.  
  893.  
  894. // =============================================================
  895.  
  896. // *********** DISASSEMBLY COMPLETE ***********************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement