Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mcs/ilasm
AgeCommit message (Collapse)Author
2010-03-142010-03-14 Zoltan Varga <vargaz@gmail.com>Zoltan Varga
* ILParser.jay: Fix the float32(<long>) case in the previous change. svn path=/branches/mono-2-6/mcs/; revision=153544
2010-03-142010-03-14 Zoltan Varga <vargaz@gmail.com>Zoltan Varga
* ILParser.jay: Fix support for hex float literals on big-endian platforms. svn path=/branches/mono-2-6/mcs/; revision=153541
2009-05-272009-05-27 Rodrigo Kumpera <rkumpera@novell.com>Rodrigo Kumpera
* TypeDef.cs: Add field method_list to preserve definition order of methods when emiting the PE file. svn path=/trunk/mcs/; revision=134840
2009-04-20In ilasm/codegen:Ankit Jain
Fix bug #494221 * MethodDef.cs (BeginLocalsScope): New. (EndLocalsScope): New. (AddLocals): (GetNamedLocal): Support scoping for .locals In ilasm/parser: Fix bug #494221. * ILParser.jay (scope_block_begin): Mark begin .locals scope. (scope_block): Mark end .locals scope. svn path=/trunk/mcs/; revision=132111
2009-04-15Fix bug #494219.Ankit Jain
In ilasm/codegen: * MethodDef.cs (GetNamedLocalSlot): Return -1 if local var not found. In ilasm/parser: * ILParser.jay (instr): Handle unidentified local var id. In ilasm/scanner: * StringHelper.cs (startIdChars): New. Set of chars that can start an identifier. (Start): Use startIdChars instead of idchars. svn path=/trunk/mcs/; revision=131736
2009-04-07Fix bug #487155.Ankit Jain
* StringHelper.cs: Handle octal values in strings. Patch from Stephen Gennard (stephen@gennard.net) svn path=/trunk/mcs/; revision=131249
2009-03-312009-03-31 Rodrigo Kumpera <rkumpera@novell.com>Rodrigo Kumpera
* MethodDef.cs (WriteCode): Emit labels which use offsets as absolute PEAPI CilLabels. svn path=/trunk/mcs/; revision=130692
2009-03-312009-03-31 Rodrigo Kumpera <rkumpera@novell.com>Rodrigo Kumpera
* ILParser.jay: Fix integer labels in handler blocks. svn path=/trunk/mcs/; revision=130690
2009-03-09Add .gitignore's.Martin Baulig
svn path=/trunk/mcs/; revision=128880
2009-03-07remove dead filesJb Evain
svn path=/trunk/mcs/; revision=128798
2009-01-102009-01-09 Miguel de Icaza <miguel@novell.com>Miguel de Icaza
* Add support for `strict' in .method declaration svn path=/trunk/mcs/; revision=122973
2008-10-082008-10-08 Zoltan Varga <vargaz@gmail.com>Zoltan Varga
* Makefile */Makefile build/profiles/*.make: Rename the 'default' profile to 'net_1_1'. svn path=/trunk/mcs/; revision=115166
2008-07-02In ilasm/codegen:Ankit Jain
Fix bug #405383 * MethodPointerTypeRef (Clone): Add missing null ref check. Patch from Andrea Carlo Ornstein <andrea.ornstein@st.com> In ilasm/tests: * test-method-pointer.il: New. svn path=/trunk/mcs/; revision=107007
2008-06-11Reflect latest symbol writer changes.Martin Baulig
svn path=/trunk/mcs/; revision=105584
2008-06-072008-06-07 Martin Baulig <martin@ximian.com>Martin Baulig
* DebuggingInfo.cs: Reflect latest symbol writer changes. svn path=/trunk/mcs/; revision=105225
2008-06-02Fix bug #367114.Ankit Jain
In class/PEAPI: Fix bug #367114. * Code.cs (TryBlock.ResolveCatchBlocks): New. (CILInstructions.AddTryBlock): Resolve the catch blocks with the new method. (Catch..ctor): Add new .ctor to allow exceptions of any type. (Catch.ResolveType): New. Add the exception type to the metadata. In ilasm/codegen: Fix bug #367114. * CatchBlock.cs: Allow exception to be of any type (BaseTypeRef) and not just a class (BaseClassRef). In ilasm/parser: Part of fix for bug #367114. * ILParser.jay (seh_clause): Allow exception to be of any type and not just class. svn path=/trunk/mcs/; revision=104636
2008-06-01In ilasm/codegen:Ankit Jain
Fix bug #364580. * MethodDef.cs (CreateSignature): Add new @include_optional and @call_conv param. Make private. (CreateVarargSignature): Likewise. (CreateSignature): Add new static method for vararg and other methods. (GetVarargSig): Add new @full_signature param to uniquely identify vararg methods. * CodeGen.cs (ResolveVarargMethod): This now takes two signatures - one with only the required params and the other with the optional ones, to correctly resolve global vararg methods. * BaseTypeRef.cs: * GenericTypeInst.cs: * GlobalMethodRef.cs: * PrimitiveTypeRef.cs: * TypeDef.cs: Track api changes. In ilasm/parser: * ILParser.jay: Track api changes. svn path=/trunk/mcs/; revision=104628
2008-04-102008-04-10 Erven Rohou <erven.rohou@st.com>Rodrigo Kumpera
* DebuggingInfo.cs: use new DefineMethod API. Remove useless variable. * MethodDef.cs: remove useless variable. svn path=/trunk/mcs/; revision=100319
2008-04-072008-04-07 Rodrigo Kumpera <rkumpera@novell.com>Rodrigo Kumpera
* MethodDef.cs: Mono.CompilerServices API has changed in an incompatible way since Erven's patch. Fixed it to follow the new one. svn path=/trunk/mcs/; revision=100037
2008-04-072008-04-07 Erven Rohou <erven.rohou@st.com>Miguel de Icaza
* Code.cs: Add new method: GetLocalVars() for ilasm support for emitting local variable names. 2008-04-07 Erven Rohou <erven.rohou@st.com> * DebugInfo.cs, MethodDef.cs: Add support for emitting variable names in mdb file. svn path=/trunk/mcs/; revision=100031
2008-03-04* ILParser.jay (custom_type): Allow any method name.Ankit Jain
svn path=/trunk/mcs/; revision=97349
2008-03-04Fix bug #367024.Ankit Jain
* ILParser.jay (seh_clause): catch can take generic class refs also. svn path=/trunk/mcs/; revision=97348
2008-02-21Fix bug #363587Ankit Jain
* Driver.cs: Use Report.Message for emitting messages. * Report.cs (AssembleFile): Honor 'quiet'. Patch from Andrea Carlo Ornstein <andrea.ornstein@st.com> svn path=/trunk/mcs/; revision=96334
2008-02-07* CodeGen.cs: Use original filename as base name for debug file.Gert Driesen
Symbol writer will already add .mdb to it. Fixes bug #359516. * Driver.cs: Removed crazy logic prevent debug symbol from being created when /debug is set. svn path=/trunk/mcs/; revision=95187
2008-02-06Fix bug #358496.Ankit Jain
* ExternMethodRef.cs (ResolveVararg): Fix the check for sentinel. svn path=/trunk/mcs/; revision=95005
2008-01-04In codegen:Rodrigo Kumpera
2008-01-03 Rodrigo Kumpera <rkumpera@novell.com> * EmiteByteInstr.cs: Fixed typo in class name. In parser: 2008-01-03 Rodrigo Kumpera <rkumpera@novell.com> * ILParser.jay: Fixed typo in EmitByteInstr class name. svn path=/trunk/mcs/; revision=92210
2007-12-31In tests:Rodrigo Kumpera
2007-12-31 Rodrigo Kumpera <rkumpera@novell.com> * test-emitbyte.il: new test for .emitbyte directive In codegen: 2007-12-31 Rodrigo Kumpera <rkumpera@novell.com> * EmiteByteInst.cs: added. Implements support for the .emitbyte directive. In .: 2007-12-31 Rodrigo Kumpera <rkumpera@novell.com> * ilasm.exe.sources: added EmiteByteInst.cs. In parser: 2007-12-31 Rodrigo Kumpera <rkumpera@novell.com> * ILParser.jay: Implement .emitbyte directive svn path=/trunk/mcs/; revision=92063
2007-12-31In codegen:Rodrigo Kumpera
2007-12-31 Rodrigo Kumpera <rkumpera@novell.com> * SwitchInstr.cs (Emit): Switch from using strings to LabelInfo. In parser: 2007-12-31 Rodrigo Kumpera <rkumpera@novell.com> * ILParser.jay: Create LabelInfo instances for switch labels, this allows the code generator to spot invalid labels. Fixes #350480. svn path=/trunk/mcs/; revision=92061
2007-10-092007-10-09 Rodrigo Kumpera <rkumpera@novell.com> Rodrigo Kumpera
* test-method-pointer-in-signature.il: New. Test for overloads that use method pointers. svn path=/trunk/mcs/; revision=87161
2007-10-092007-10-09 Rodrigo Kumpera <rkumpera@novell.com>Rodrigo Kumpera
* MethodPointerTypeRef.cs (.ctor): generate full name of the method pointer. This is required to alow overloading with method pointers. svn path=/trunk/mcs/; revision=87160
2007-07-182007-07-18 Jb Evain <jbevain@novell.com>Jb Evain
* InstrTable.cs: add brzero alias. svn path=/trunk/mcs/; revision=82144
2007-06-062006-06-05 Rodrigo Kumpera <kumpera@gmail.com>Rodrigo Kumpera
* ILParser.jay: Support for variance related generic modifiers <+T> and <-T> svn path=/trunk/mcs/; revision=78688
2007-06-062007-06-05 Rodrigo Kumpera <kumpera@gmail.comRodrigo Kumpera
* generics-variance.il: New. Test for variance related generic modifiers <+T> and <-T> svn path=/trunk/mcs/; revision=78687
2007-03-23Fri Mar 23 16:52:06 CET 2007 Paolo Molaro <lupus@ximian.com>Paolo Molaro
* ILParser.jay: fix BitConverter use on big endian archs (this was likely the cause of Zoltan's change in r72237 which has been reverted in r74485). svn path=/trunk/mcs/; revision=74884
2007-01-10In errors:Ankit Jain
* err-custom-mod-1.il: New. Test for custom mods. In tests: * test-custom-mod-1.il: New. Test for custom mods. svn path=/trunk/mcs/; revision=70798
2007-01-09In ilasm/codegen:Ankit Jain
* BaseClassRef.cs (Clone): Move to .. * BaseTypeRef.cs (Clone): .. here. * Sentinel.cs: Implement abstract Clone method. * MethodPointerTypeRef.cs: Likewise. * PrimitiveTypeRef.cs: Likewise. * ModifiableType (MakeCustomModified): Add to SigMod. * GenericTypeInst.cs: * GenericParamRef.cs: * TypeRef.cs: * ExternTypeRef.cs: Update. In ilasm/parser: * ILParser.jay (GetTypeRef): Use BaseTypeRef.Clone svn path=/trunk/mcs/; revision=70730
2006-12-12Tue Dec 12 19:23:34 CET 2006 Paolo Molaro <lupus@ximian.com>Paolo Molaro
* PropertyDef.cs: support more than one .other method in properties. svn path=/trunk/mcs/; revision=69424
2006-12-12Tue Dec 12 19:19:04 CET 2006 Paolo Molaro <lupus@ximian.com>Paolo Molaro
* EventDef.cs: support more than one .other method in events. svn path=/trunk/mcs/; revision=69422
2006-11-09Fix bug #79860. Add support for Retargetable assembly flag.Ankit Jain
In ilasm/codegen: * CodeGen.cs (CodeGen.BeginAssemblyRef): Add param for attributes. (SetAssemblyName): Rename to .. (SetThisAssembly): .. this. Add param for attributes. * ExternTable (ExternAssembly.ctor): Likewise. (ExternAssembly.Resolve): Add attributes. (ExternTable.AddAssembly): Add param for attributes. (ExternTable): Update to changes. * Assembly.cs (Assembly.SetAssemblyAttr): New. (Assembly.Resolve): Add the flags. In ilasm/scanner: * ILTables.cs (keywords): Add 'retargetable'. In ilasm/parser: * ILParser.jay (K_RETARGETABLE): New. (asm_attr): Add rule for K_RETARGETABLE. (assembly_head): Handle attributes. (assemblyref_head): Add asm_attr. In class/PEAPI: * Metadata.cs (AssemAttr.Retargetable): New. (AssemblyRef.AddAssemblyAttr): New. svn path=/trunk/mcs/; revision=67582
2006-07-20In ilasm/tests:Ankit Jain
* global2.il: New. * abs_method*.il: New. Tests for abstract methods. In ilasm/codegen: * TypeDef.cs (.ctor): If the type is an interface, then make it abstract. (TypeDef.AddMethodDef): Set an interface method abstract and virtual if it lacks either of the attributes. * MethodDef.cs (MethodDef.FullName): New. (MethodDef.WriteCode): Make global methods, non-abstract and static. Interface cannot have a non-static method with a body. Update error messages to use new FullName property. In ilasm/errors: * abs_method4.il: * abs_method9.il: New. Tests for abstract methods. svn path=/trunk/mcs/; revision=62814
2006-06-07* err-abstract.il: Make the class abstract.Ankit Jain
svn path=/trunk/mcs/; revision=61525
2006-06-07In ilasm/tests:Ankit Jain
* test-no-body.il: New. Test for method with no body. * test-perm-pass-3.il: Make the class abstract. In ilasm/codegen: * TypeDef.cs (TypeDef.IsAbstract): New. * MethodDef.cs (MethodDef.WriteCode): Parent type must also be abstract for an abstract method. Abstract methods cannot have a body. Report errors for body with different implementation attributes like native/runtime/unmanaged etc. If the method has no body, then emit a 'ret'. In ilasm/errors: * err-native.il: * err-pinvoke-a.il: * err-abstract.il: * err-runtime.il: * err-internalcall.il: New. svn path=/trunk/mcs/; revision=61524
2006-06-07In ilasm/codegen:Ankit Jain
* TypeDef.cs (TypeDef.AddFieldDef): (TypeDef.Define): Use Report.Warning instead of Console.Error.WriteLine (TypeDef.AddMethodDef): Likewise. Also, use methoddef.Location . * ExternTable.cs (ExternTable.GetTypeRef): Likewise. * MethodDef.cs (MethodDef.StartLocation): New. In ilasm: * Report.cs (Report.FilePath): New, static property. (Report.Error): Remove overload with file_path param. (Report.Warning): New. * Driver.cs (DriverMain.Run): Set Report.FilePath . (DriverMain.ProcessFile): Update use of Report.Error . In ilasm/parser: * ILParser.jay : Update to use Report.Warning instead of Console.Error.WriteLine svn path=/trunk/mcs/; revision=61521
2006-06-01In ilasm/codegen:Ankit Jain
* MethodDef.cs (GetNamedParamPos): Return -1 if param_list is null. In ilasm/errors: * err-ldarg.il: New. In ilasm/parser: * ILParser.jay (instr | INSTR_PARAM ..): Report error if the param is not found. svn path=/trunk/mcs/; revision=61360
2006-06-01In ilasm/tests:Ankit Jain
* 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. svn path=/trunk/mcs/; revision=61358
2006-05-31* TypeDef.cs (TypeDef.IsValueType): New.Ankit Jain
(TypeDef.IsEnumType): New. (TypeDef.Define): Don't seal System.ValueType or System.Enum . svn path=/trunk/mcs/; revision=61319
2006-05-26In ilasm/codegen:Ankit Jain
* Assembly.cs: New. Represents a '.assembly {}' (assembly manifest). * CodeGen.cs: Update to use the Assembly class. In ilasm: * ilasm.exe.sources: Add Assembly.cs * Driver.cs: Update to use the new Assembly class. * ilasm.exe.sources: Add PermissionMember.cs, PermissionSet.cs & Permission.cs In ilasm/parser: * ILParser.jay: Update to use new Assembly class. svn path=/trunk/mcs/; revision=61164
2006-05-26Add support or 2.0 style declarative security attributes.Ankit Jain
In ilasm/tests: * test-perm_pass-3.il: New. Test for 2.0 style declarative security attributes. In ilasm/codegen: * PermissionSet.cs: New. * Permission.cs: New. * PermissionMember.cs: New. Classes for 2.0 metadata format of declarative security. * DeclSecurity.cs (DeclSecurity.AddPermissionSet): New. Overload for new PermissionSet class. (DeclSecurity.AddTo): Add new style PermissionSets also. * CodeGen.cs (CodeGen.AddPermisson): Handle new PermissionSets also. * ExternTable.cs (ExternAssembly.AssemblyName): New. In ilasm/scanner: * ILTables.cs (keywords): Move 'property' out of NET_2_0 . In ilasm/parser: 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. In class/PEAPI: * Metadata.cs (DeclSecurity): Rename to .. (BaseDeclSecurity): .. this. (DeclSecurity): New. Derive from BaseDeclSecurity. (DeclSecurity_20): Likewise. For 2.0 style declaritive security. (PermissionSet): New. (Permission): New. (PermissionMember): New. (MetaData.AddDeclSecurity): Update to use BaseDeclSecurity. (MetaData.BuildMetaData): Likewise. * PEAPI.cs (PEFile.AddDeclSecurity): New overload for new PermissionSet class. svn path=/trunk/mcs/; revision=61158
2006-05-23* DeclSecurity.cs (IDeclSecurityTarget): Remove AddPermission &Ankit Jain
AddPermissionSet methods. Add 'DeclSecurity' property. * TypeDef.cs: Update implementation of IDeclSecurityTarget interface. * MethodDef.cs: Likewise. * ExternTable.cs: Likewise. * CodeGen.cs (CodeGen.AddPermission): Use IDeclSecurityTarget.DeclSecurity . svn path=/trunk/mcs/; revision=60978
2006-05-11In ilasm/tests:Ankit Jain
* test-modifiers.il: New. Test for custom modifiers, modreq & modopt. In ilasm/parser: * ILParser.jay (type |type MODREQ ..): Use CustomModifier.modreq . svn path=/trunk/mcs/; revision=60592