* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / ilasm / parser / ChangeLog
index 3740d00542866ed194403e8bdfbe8682a749dee5..470b98ef8b2c30380971e22ab3f6bf1d6fdc98a8 100644 (file)
@@ -1,3 +1,322 @@
+2006-06-07  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay : Update to use Report.Warning instead of
+       Console.Error.WriteLine
+
+2006-06-01  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (instr | INSTR_PARAM ..): Report error if the param is not
+       found.
+
+2006-06-01  Ankit Jain  <jankit@novell.com>
+
+       * 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.
+
+2006-05-26  Ankit Jain  <jankit@novell.com>
+       
+       * ILParser.jay: Update to use new Assembly class.
+
+2006-05-26  Ankit Jain  <jankit@novell.com>
+       
+       Add support or 2.0 style declarative security attributes.
+       * ILParser.jay (primitive_type): New. Extracted from 'type'.
+       (field_init_primitive): New. Extracted from 'field_init', with all
+       primitive types.
+       (sec_decl | ..): New rule for 2.0 style permissions.
+
+       (permissions):
+       (permission):
+       (permission_members):
+       (permission_member):
+       (perm_mbr_nameval_pair):
+       (prop_or_field): New rules for 2.0 style permissions.
+
+       (AddSecDecl): New.
+
+2006-05-11  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (type |type MODREQ ..): Use CustomModifier.modreq .
+
+2006-05-10  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (native_type | K_ERROR): Use NativeType.Error for the
+       value.
+       (native_type | K_LPSTRUCT): Likewise for K_LPSTRUCT.
+
+2006-05-10  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Add K_PROPERTY.
+
+2006-02-20  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Remove D_CONSTRAINT
+
+2006-02-20  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Update to use Report.Error instead of directly throwing
+       an exception.
+
+2006-02-09  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (bound | int32): Handle invalid -ve size.
+
+2006-02-02  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (bound | int32 ELLIPSIS int32): Throw exception if
+       lower_bound > upper_bound.     
+
+2006-01-28  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (pinv_attr | ..): Fix typo.
+
+2006-01-28  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (method_ref): Remove 2 redundant productions.
+       (method_decl | D_OVERRIDE K_METHOD ..): New production for overriding
+       generic methods.
+
+2006-01-27  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (formal_typars_clause): Allow generics only for NET_2_0 profile.
+       (typars_clause): Likewise.
+
+2006-01-19  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (decl | customattr_decl): Add custom attributes.
+       (assembly_all | ..): Set CurrentCustomAttrTarget to null.
+
+2006-01-19  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (K_TYPE): New.
+       (param_type_decl): New. Rule for '.param type ..', for specifying custom attibutes
+       for type parameters.
+       (class_decl | param_type_decl):
+       (method_decl | param_type_decl): New.
+
+2006-01-16  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (K_BESTFIT):
+       (K_CHARMAPERROR):
+       (K_ON):
+       (K_OFF): New tokens.
+       (pinv_attr | ..): Add rules for the new tokens.
+
+2006-01-16  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (K_UINT): New token.
+       (type | K_NATIVE K_UINT): New.
+
+2006-01-15  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (method_decl): Add new "full" syntax specifying overrides.
+
+2006-01-13  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Update to use codegen.GetTypeRef instead of creating
+       TypeRefs.
+       Update to use BaseMethodRef.GetGenericMethodRef instead of creating them.
+
+2006-01-13  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Update to use CodeGen.GetGlobalMethodRef &
+       CodeGen.GetGlobalFieldRef instead of creating objects.
+
+2006-01-13  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Update to use Base* instead of ITypeRef, IClassRef
+       & IGenTypeRef.
+
+2006-01-10  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (type | BANG ..): Move !* and !!* rules to ..
+       (generic_class_ref): ..this, to allow using VAR/MVARs as class refs.
+       Eg. "extends !0"
+
+2006-01-09  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (type_spec : class_ref): Remove.
+
+2006-01-09  Ankit Jain  <jankit@novell.com>
+
+        * ILParser.jay: Update to use GenericParamRef instead of GenericTypeRef.
+
+2006-01-08  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (constraint_decl): Remove. This syntax is no longer used.
+       (class_decl | constraint_decl): Remove.
+
+2006-01-07  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Update to use new GenericParameters class.
+       (generic_class_ref| K_CLASS class_ref typars_clause): New.
+       Update rules to use generic_class_ref instead of 'K_CLASS class_ref..'
+       (constraints_clause): New.
+       (constraints): New. Rules for constraints on generic parameters.
+       (formal_typar_attr): New. Generic param attributes (.ctor, valuetype, class).
+       (formal_typars): Update to use new constraints stuff.
+
+2006-01-06  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (field_init): Add rules for UINT8/UINT16/etc
+               
+2006-01-06  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (sec_decl | D_PERMISSION sec_action comp_qstring): New. Support
+       new (2.0) syntax which uses string(xml) instead of a bytearray for specifying
+       value of the security attribute.
+
+2006-01-06  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (GetTypeRef): Use new IClassRef.Clone .
+       (extends_clause): Use new IClassRef.GetGenericTypeInst.
+       (impl_clause | K_IMPLEMENTS class_refs): Remove.
+       (impl_clause | impl_class_refs): New.
+       (impl_class_refs): New. Add rules for generic and non-generic interface
+       implementations.
+       (class_ref | slashed_name): Use new codegen.GetTypeRef so that the TypeRef 
+       gets cached.
+       (type | K_CLASS class_ref): Add typars_clause to the rule and handle accordingly.
+       (type | K_VALUETYPE ...): Likewise.
+
+2005-12-24  Jb Evain  <jbevain@gmail.com>
+
+       * ILParser.jay (prop_attr): Activate instance keyword on properties.
+
+2005-12-22  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (method_head | ..): Update usage of MethodDef.ctor to pass
+       codegen.CurrentTypeDef also. ResolveGenParams is called by MethodDef internally.
+       (instr | INSTR_FIELD ..): Update usage of MethodDef.ResolveGenParam .
+
+2005-12-21  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Update to use new GenericArguments class for 'typars'.
+
+2005-12-14  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Add K_UINT8, K_UINT16, K_UINT32 and K_UINT64 tokens.
+       (type): Add rule for the new keywords.
+       (native_type): Likewise.
+       Fix #76978.
+
+2005-12-13  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (class_head | D_CLASS ..): Use 'comp_name' instead of 'id' to allow
+       dotted names.
+
+2005-12-09  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (class_decl | D_OVERRIDE ..): Update usage of ITypeRef.GetMethodRef 
+       and MethodDef.CreateSignature .
+       (method_head | D_METHOD ..): Update usage of MethodDef.ctor .
+       Use MethodDef.ResolveGenParams to resolve VARs/MVARs in parameter list.
+       (type | K_CLASS slashed_name ..): Remove redundant rule.
+       (type | BANG id): New. Generic type parameter.
+       (type | BANG BANG id): New. Generic method type parameter.
+       (instr | INSTR_FIELD type ..): Resolve generic param for 'type'.
+       (method_ref | call_conv ..): Set MethodRef's GenParamCount.
+       (method_ref | call_conv type ..): Update usage of TypeSpecMethodRef.ctor and GetMethodRef.
+       (method_ref | call_conv type ..): New. Rule for global generic method refs.
+       (custom_type | call_conv ..): Update usage of GlobalMethodRef.ctor .
+
+2005-12-05  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (type | BANG int32 .. ): Update to use GenParam instead of
+       PEAPI.MVar and PEAPI.GenericTypeSpec.
+       (method_head | D_METHOD ..): Set callConv to Generic if the method has type
+       parameters.
+       (method_ref | call_conv ...): Likewise.
+
+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 .
+
+2005-09-08  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (decl | D_STACKRESERVE int64): New. Set stack reserve.
+
+2005-08-29  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay : Comment out K_LCID token.
+
+2005-08-29  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (native_type | K_CUSTOM ..): Instantiate object of CustomMarshaller
+         class.
+       
+2005-08-23  Ankit Jain  <jankit@novell.com>
+
+       * ILParser (method_ref : call_conv..): Use TypeRef instead of PrimitiveTypeRef
+         if this assembly is mscorlib.
+         (type | ..): Correct names of primitive types.
+
+2005-08-18  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (instr | INSTR_R bytes_list): Convert bytes_list to single/double
+         and add the corresponding instruction.
+
+2005-08-18  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay: Comment out K_PUBLICKEY keyword, not used in the grammar.
+
+2005-08-16  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (native_type | K_FIXED K_SYSSTRING ..): Instantiate 
+         object of PEAPI.FixedSysString.
+         (native_type | native_type OPEN_BRACKET ..): Instantiate object of
+         NativeArray with the proper arguments.
+         (native_type | K_METHOD): Use NativeType.FuncPtr.
+         (native_type | K_FIXED K_ARRAY ..): Instantiate object of FixedArray.
+         (native_type | K_SAFEARRAY ..): Instantiate object of SafeArray.
+         (variant_type): Use appropriate values from SafeArrayType enum.
+         (field_decl | D_FIELD ..): Cast repeat_opt to int before casting to uint 
+         as repeat_opt is int32.
+         (field_attr | field_attr K_MARSHAL ..): Add Marshal info for field.
+         Set field attr to HasFieldMarshal.
+         (method_head): Add Marshal info for return type if specified.
+         (sig_arg | param_attr ..): Create ParamDef and add marshal info.
+
+2005-08-11  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (class_ref | slashed_name): Don't use PrimitiveTypeRef for
+         primitive types if the assembly being compiled is 'mscorlib'.
+         (seh_clause | K_CATCH ..): Report error if exception(class_ref) is a 
+         PrimitiveTypeRef.
+
+2005-08-08  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (method_decl | D_ENTRYPOINT): Set codegen.HasEntryPoint
+         to true.
+
+2005-08-05  Ankit Jain  <jankit@novell.com>
+
+       * ILParser.jay (class_decl, method_decl | sec_decl): Use
+         codegen.CurrentDeclSecurityTarget for adding DeclSecurity info.
+         (assembly_decl | sec_decl): Use codegen.AddAssemblyDeclSecurity
+         for adding DeclSecurity info.
+         (sec_decl): Instantiate DeclSecurity object.
+         (sec_action | K_REQUEST, K_DEMAND, .. etc): Use the corresponding
+         value from PEAPI.SecurityAction enum.
+
+2005-05-12  Jackson Harper  <jackson@ximian.com>
+
+       * ILParser.jay: Handle lists of data items correctly.
+
 2005-05-10  Ankit Jain  <ankit@corewars.org>
 
        Fix #74768.