In ilasm/tests:
commitb89cb2c733da3caf545da5c942be80097fc9f84c
authorankit <ankit@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Thu, 1 Jun 2006 09:33:05 +0000 (1 09:33 +0000)
committerankit <ankit@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Thu, 1 Jun 2006 09:33:05 +0000 (1 09:33 +0000)
tree91fb7aa9812f8c167ebf644e36daf7a542820108
parent17e891e21811ec3d2a19879877d660d84f58bc3b
In ilasm/tests:

* test-cattr-1.il: New. Test for custom attributes on return type of
a method.

In ilasm/codegen:

* MethodDef.cs (MethodDef): Use a ParamDef for return type, instead of a
BaseTypeRef.
(MethodDef.ctor): Update.
(MethodDef.AddParamDefaultValue): Remove.
(MethodDef.GetParam): Likewise.
(MethodDef.Resolve): Update to use ret_param instead of ret_type.

In ilasm/errors:

* err-cattr.il: New.

In ilasm/parser:

* ILParser.jay (method_decl | D_PARAM ..): Param index is zero-based,
with zero representing the return value.
Update to check CurrentCustomAttrTarget for null before using it.

In class/PEAPI:

* PEAPI.cs (PEFile.AddMethod): Add overload for return type as Param
instead of PEAPI.Type .
* Metadata.cs (MetaDataElement.HasCustomAttr): New. Temporary hack.
(Param.HasMarshalInfo): New.
(ClassDef.AddMethod): Add overload for return type as Param.
(MethodDef.ctor): Change internal .ctor's sig to take Param instead of
PEAPI.Type for return type.
(MethodDef.retType): Remove.
(MethodDef.TypeSig): Update to use ret_param always.
(MethodDef.BuildTables): Add ret_param to Param table only if it has
marshal info or custom attributes.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mcs@61358 e3ebcda4-bce8-0310-ba0a-eca2169e7518
class/PEAPI/ChangeLog
class/PEAPI/Metadata.cs
class/PEAPI/PEAPI.cs
ilasm/codegen/ChangeLog
ilasm/codegen/MethodDef.cs
ilasm/errors/ChangeLog
ilasm/errors/err-cattr.il [new file with mode: 0644]
ilasm/parser/ChangeLog
ilasm/parser/ILParser.jay
ilasm/tests/ChangeLog
ilasm/tests/test-cattr-1.il [new file with mode: 0644]