In ilasm/codegen:
authorAnkit Jain <radical@corewars.org>
Tue, 10 May 2005 05:21:15 +0000 (05:21 -0000)
committerAnkit Jain <radical@corewars.org>
Tue, 10 May 2005 05:21:15 +0000 (05:21 -0000)
2005-05-10  Ankit Jain  <ankit@corewars.org>

Fix #74768.
* ExternTable.cs (ExternRef.GetTypeRef): Make ValueClass if requested.
Hack alongwith Hari.

In ilasm/parser:
2005-05-10  Ankit Jain  <ankit@corewars.org>

Fix #74768.
* ILParser.jay (type): Emit TypeRefs instead of TypeSpecs for valuetypes,
so don't create ExternTypeRefInst.
Hack along with Hari.

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

mcs/ilasm/codegen/ChangeLog
mcs/ilasm/codegen/ExternTable.cs
mcs/ilasm/parser/ChangeLog
mcs/ilasm/parser/ILParser.jay

index 1905fbf98858ad3e74dfa0e60b1b51b19240c2fe..9d7f4b1a39d674bab5465b27f93e50358736d6cc 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-10  Ankit Jain  <ankit@corewars.org>
+
+       Fix #74768.
+       * ExternTable.cs (ExternRef.GetTypeRef): Make ValueClass if requested.
+       Hack alongwith Hari.
+
 2005-05-06  Ankit Jain  <ankit@corewars.org>
 
        * MethodDef.cs (MethodDef.GetNamedParamPos): Param num starts from 1 for instance
index 3026c5423ad0c60b7d4e2806a254740a6e42c8e6..934c2447716303f659ba057cf5c3f6ac4984f780 100644 (file)
@@ -42,8 +42,11 @@ namespace Mono.ILASM {
                 {
                         ExternTypeRef type_ref = typeref_table [full_name] as ExternTypeRef;
                         
-                        if (type_ref != null)
+                        if (type_ref != null) {
+                                if (is_valuetype)
+                                        type_ref.MakeValueClass ();
                                 return type_ref;
+                        }        
                         
                         type_ref = new ExternTypeRef (this, full_name, is_valuetype, table);
                         typeref_table [full_name] = type_ref;
index d5e4b6f745550b41262a92bd9c302d524e065d2c..3740d00542866ed194403e8bdfbe8682a749dee5 100644 (file)
@@ -1,3 +1,10 @@
+2005-05-10  Ankit Jain  <ankit@corewars.org>
+
+       Fix #74768.
+       * ILParser.jay (type): Emit TypeRefs instead of TypeSpecs for valuetypes,
+       so don't create ExternTypeRefInst.
+       Hack along with Hari.
+
 2005-04-30  Ankit Jain  <ankit@corewars.org>
 
        * ILParser.jay (event_decl): Add custom attribute.
index 5a11236c05d4e40dbc7d920fd13652488f8486a3..a8fa066a4f20a05e619e13373f5057444526d5c5 100644 (file)
@@ -721,8 +721,7 @@ type                        : K_CLASS class_ref
                        | K_VALUETYPE OPEN_BRACKET slashed_name CLOSE_BRACKET slashed_name\r
                           {\r
                                 ExternTypeRef ext_ref = codegen.ExternTable.GetTypeRef ((string) $3, (string) $5, true);\r
-                                ExternTypeRefInst inst = new ExternTypeRefInst (ext_ref, true);\r
-                                $$ = inst;\r
+                                $$ = ext_ref;\r
                           }\r
                         | K_VALUETYPE slashed_name\r
                           {\r