* ILParser.jay: Set value types, set enums as value types. Use
authorJackson Harper <jackson@novell.com>
Sat, 18 Oct 2003 06:14:49 +0000 (06:14 -0000)
committerJackson Harper <jackson@novell.com>
Sat, 18 Oct 2003 06:14:49 +0000 (06:14 -0000)
correct var for call conv in method signatures.

svn path=/trunk/mcs/; revision=19157

mcs/ilasm/parser/ChangeLog
mcs/ilasm/parser/ILParser.jay

index eab3387adb044eeef9c102ddbeef2997897a4b05..93ec3089cd479baee403682811b6165b2ca25130 100644 (file)
@@ -1,3 +1,8 @@
+2003-10-17 Jackson Harper <jackson@ximian.com>
+
+       * ILParser.jay: Set value types, set enums as value types. Use
+       correct var for call conv in method signatures.
+       
 2003-10-10 Jackson Harper <jackson@ximian.com>
 
        * ILParser.jay: Create generic method refs.
index 85d44f967e753cae558e788393591b4f64dc598e..4b9970dbd550d07fb99ff904cbc1ae8e973036a6 100644 (file)
@@ -493,7 +493,8 @@ class_attr          : /* EMPTY */
                        | class_attr K_NESTED K_FAMANDASSEM     { $$ = (TypeAttr)$1 | TypeAttr.NestedFamAndAssem; }\r
                        | class_attr K_NESTED K_FAMORASSEM      { $$ = (TypeAttr)$1 | TypeAttr.NestedFamOrAssem; }\r
                        | class_attr K_VALUE                    { is_value_class = true; }\r
-                       | class_attr K_ENUM                     { is_enum_class = true; }\r
+                       | class_attr K_ENUM                     { is_enum_class = true; is_value_class = true;\r
+                         }\r
                        | class_attr K_INTERFACE                { $$ = (TypeAttr)$1 | TypeAttr.Interface; }\r
                        | class_attr K_SEALED                   { $$ = (TypeAttr)$1 | TypeAttr.Sealed; }\r
                        | class_attr K_ABSTRACT                 { $$ = (TypeAttr)$1 | TypeAttr.Abstract; }\r
@@ -687,11 +688,15 @@ type                      : K_CLASS class_ref
                           }\r
                        | K_VALUETYPE OPEN_BRACKET slashed_name CLOSE_BRACKET slashed_name\r
                           {\r
-                                $$ = new ExternTypeRef ((string) $3, (string) $5, true);\r
+                                ExternTypeRef ext_ref = new ExternTypeRef ((string) $3, (string) $5, true);\r
+                                ext_ref.MakeValueClass ();\r
+                                $$ = ext_ref;\r
                           }\r
                         | K_VALUETYPE slashed_name\r
                           {\r
-                                $$ = new TypeRef ((string) $2, true, null);\r
+                                TypeRef t_ref = new TypeRef ((string) $2, true, null);\r
+                                t_ref.MakeValueClass ();\r
+                                $$ = t_ref;\r
                           }\r
                        | type OPEN_BRACKET CLOSE_BRACKET\r
                           {\r
@@ -1955,7 +1960,7 @@ instr                     : INSTR_NONE
                                 if (arg_list != null)\r
                                         arg_array = (ITypeRef[]) arg_list.ToArray (typeof (ITypeRef));\r
 \r
-                                codegen.CurrentMethodDef.AddInstr (new CalliInstr ((CallConv) $1,\r
+                                codegen.CurrentMethodDef.AddInstr (new CalliInstr ((CallConv) $2,\r
                                         (ITypeRef) $3, arg_array));\r
                           }     \r
                        | INSTR_TOK owner_type\r