+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.
| 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
}\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
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