In ilasm/codegen:
authorAnkit Jain <radical@corewars.org>
Thu, 15 Sep 2005 07:23:45 +0000 (07:23 -0000)
committerAnkit Jain <radical@corewars.org>
Thu, 15 Sep 2005 07:23:45 +0000 (07:23 -0000)
commit5d4681b9eeef0ad5f0e7191e2910ee38d83eb6f6
tree85434dd96e71cb7019b3cf5297c1eb8c8991b448
parent1fc233c7e31067c98cc73f3ff5ea5a237b5087a8
In ilasm/codegen:
2005-09-15  Ankit Jain  <jankit@novell.com>

* DeclSecurity.cs (IDeclSecurityTarget.AddDeclSecurity): Remove.
  (IDeclSecurityTarget.AddPermission),
  (IDeclSecurityTarget.AddPermissionSet): New.
  (DeclSecurity.IDeclSecurityTarget): Implement new interface methods.
  (DeclSecurity.sec_action),
  (DeclSecurity.data): Remove.
  (DeclSecurity.permissionset_table): New.
  (DeclSecurity.ctor): Replace parameterized constructor with a default one.
  (DeclSecurity.AddTo): AddDeclSecurity for all Security Actions in the permissionset_table.
* TypeDef.cs (TypeDef.declsecurity_list): Remove.
  (TypeDef.decl_sec): New.
  (TypeDef.IDeclSecurityTarget): Implement new interface methods.
  (TypeDef.DefineContents): Use new decl_sec instead of declsecurity_list.
* CodeGen.cs (CodeGen.assembly_declsec): Change type from ArrayList to DeclSecurity.
  (CodeGen.EndAssemblyRef): Set current_customattrtarget and current_declsectarget to null.
  (CodeGen.IDeclSecurityTarget): Implement new interface methods.
  (CodeGen.Write): Add assembly_declsec to the assembly (using DeclSecurity.AddTo).
* ExternTable.cs (ExternAssembly.declsec_list): Remove.
  (ExternAssembly.decl_sec): New.
  (ExternAssembly.Resolve): Use new decl_sec instead of declsec_list.
  (ExternAssembly.IDeclSecurityTarget): Implement new interface methods.
* MethodDef.cs (MethodDef.declsecurity_list): Remove.
  (MethodDef.decl_sec): New.
  (MethodDef.IDeclSecurityTarget): Implement new interface methods.
  (MethodDef.WriteCode): Use new decl_sec instead of declsecurity_list.
* ExternTypeRef.cs (ExternTypeRef.GetReflectedType): New.

In ilasm/parser:
2005-09-15  Ankit Jain  <jankit@novell.com>

* ILParser.jay (ILParser.NameValuePair): New.
  (ILParser.PermPair): New.
  (ILParser.CheckSecurityActionValidity): New.
  (ILParser.ClassRefToObject): New.
  (ILParser.TypeSpecToPermPair): New.
  (class_decl | sec_decl): Use the new codegen.AddPermission .
  (method_decl | sec_decl): Use the new codegen.AddPermission .
  (sec_decl | D_PERMISSION ..): Use the new TypeSpecToPermPair method.
  (sec_decl | D_PERMISSIONSET ..): Use PermissionSetAttribute to create PermissionSet
  which will validate the bytearray.
  (nameval_pairs): Create ArrayList of NameValuePair.
  (nameval_pair): Create NameValuePair.
  (cavalue | class_ref): Use ClassRefToObject.
  (assembly_decl | sec_decl): Use the new codegen.AddAssemblyPermission .

svn path=/trunk/mcs/; revision=50071
mcs/ilasm/codegen/ChangeLog
mcs/ilasm/codegen/CodeGen.cs
mcs/ilasm/codegen/DeclSecurity.cs
mcs/ilasm/codegen/ExternTable.cs
mcs/ilasm/codegen/ExternTypeRef.cs
mcs/ilasm/codegen/MethodDef.cs
mcs/ilasm/codegen/TypeDef.cs
mcs/ilasm/parser/ChangeLog
mcs/ilasm/parser/ILParser.jay