ChangeLog 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070
  1. 2008-06-02 Ankit Jain <[email protected]>
  2. Part of fix for bug #367114.
  3. * ILParser.jay (seh_clause): Allow exception to be of any type and not
  4. just class.
  5. 2008-06-01 Ankit Jain <[email protected]>
  6. * ILParser.jay: Track api changes.
  7. 2008-03-05 Ankit Jain <[email protected]>
  8. * ILParser.jay (custom_type): Allow any method name.
  9. 2008-03-05 Ankit Jain <[email protected]>
  10. Fix bug #367024.
  11. * ILParser.jay (seh_clause): catch can take generic class refs also.
  12. 2008-01-03 Rodrigo Kumpera <[email protected]>
  13. * ILParser.jay: Fixed typo in EmitByteInstr class name.
  14. 2007-12-31 Rodrigo Kumpera <[email protected]>
  15. * ILParser.jay: Implement .emitbyte directive
  16. 2007-12-31 Rodrigo Kumpera <[email protected]>
  17. * ILParser.jay: Create LabelInfo instances for switch labels,
  18. this allows the code generator to spot invalid labels.
  19. Fixes #350480.
  20. 2007-06-05 Rodrigo Kumpera <[email protected]>
  21. * ILParser.jay: Support for variance related generic modifiers <+T> and <-T>
  22. Fri Mar 23 16:52:06 CET 2007 Paolo Molaro <[email protected]>
  23. * ILParser.jay: fix BitConverter use on big endian archs
  24. (this was likely the cause of Zoltan's change in r72237
  25. which has been reverted in r74485).
  26. 2007-01-10 Ankit Jain <[email protected]>
  27. * ILParser.jay (GetTypeRef): Use BaseTypeRef.Clone
  28. 2006-11-09 Ankit Jain <[email protected]>
  29. * ILParser.jay (K_RETARGETABLE): New.
  30. (asm_attr): Add rule for K_RETARGETABLE.
  31. (assembly_head): Handle attributes.
  32. (assemblyref_head): Add asm_attr.
  33. 2006-06-07 Ankit Jain <[email protected]>
  34. * ILParser.jay : Update to use Report.Warning instead of
  35. Console.Error.WriteLine
  36. 2006-06-01 Ankit Jain <[email protected]>
  37. * ILParser.jay (instr | INSTR_PARAM ..): Report error if the param is not
  38. found.
  39. 2006-06-01 Ankit Jain <[email protected]>
  40. * ILParser.jay (method_decl | D_PARAM ..): Param index is zero-based,
  41. with zero representing the return value.
  42. Update to check CurrentCustomAttrTarget for null before using it.
  43. 2006-05-26 Ankit Jain <[email protected]>
  44. * ILParser.jay: Update to use new Assembly class.
  45. 2006-05-26 Ankit Jain <[email protected]>
  46. Add support or 2.0 style declarative security attributes.
  47. * ILParser.jay (primitive_type): New. Extracted from 'type'.
  48. (field_init_primitive): New. Extracted from 'field_init', with all
  49. primitive types.
  50. (sec_decl | ..): New rule for 2.0 style permissions.
  51. (permissions):
  52. (permission):
  53. (permission_members):
  54. (permission_member):
  55. (perm_mbr_nameval_pair):
  56. (prop_or_field): New rules for 2.0 style permissions.
  57. (AddSecDecl): New.
  58. 2006-05-11 Ankit Jain <[email protected]>
  59. * ILParser.jay (type |type MODREQ ..): Use CustomModifier.modreq .
  60. 2006-05-10 Ankit Jain <[email protected]>
  61. * ILParser.jay (native_type | K_ERROR): Use NativeType.Error for the
  62. value.
  63. (native_type | K_LPSTRUCT): Likewise for K_LPSTRUCT.
  64. 2006-05-10 Ankit Jain <[email protected]>
  65. * ILParser.jay: Add K_PROPERTY.
  66. 2006-02-20 Ankit Jain <[email protected]>
  67. * ILParser.jay: Remove D_CONSTRAINT
  68. 2006-02-20 Ankit Jain <[email protected]>
  69. * ILParser.jay: Update to use Report.Error instead of directly throwing
  70. an exception.
  71. 2006-02-09 Ankit Jain <[email protected]>
  72. * ILParser.jay (bound | int32): Handle invalid -ve size.
  73. 2006-02-02 Ankit Jain <[email protected]>
  74. * ILParser.jay (bound | int32 ELLIPSIS int32): Throw exception if
  75. lower_bound > upper_bound.
  76. 2006-01-28 Ankit Jain <[email protected]>
  77. * ILParser.jay (pinv_attr | ..): Fix typo.
  78. 2006-01-28 Ankit Jain <[email protected]>
  79. * ILParser.jay (method_ref): Remove 2 redundant productions.
  80. (method_decl | D_OVERRIDE K_METHOD ..): New production for overriding
  81. generic methods.
  82. 2006-01-27 Ankit Jain <[email protected]>
  83. * ILParser.jay (formal_typars_clause): Allow generics only for NET_2_0 profile.
  84. (typars_clause): Likewise.
  85. 2006-01-19 Ankit Jain <[email protected]>
  86. * ILParser.jay (decl | customattr_decl): Add custom attributes.
  87. (assembly_all | ..): Set CurrentCustomAttrTarget to null.
  88. 2006-01-19 Ankit Jain <[email protected]>
  89. * ILParser.jay (K_TYPE): New.
  90. (param_type_decl): New. Rule for '.param type ..', for specifying custom attibutes
  91. for type parameters.
  92. (class_decl | param_type_decl):
  93. (method_decl | param_type_decl): New.
  94. 2006-01-16 Ankit Jain <[email protected]>
  95. * ILParser.jay (K_BESTFIT):
  96. (K_CHARMAPERROR):
  97. (K_ON):
  98. (K_OFF): New tokens.
  99. (pinv_attr | ..): Add rules for the new tokens.
  100. 2006-01-16 Ankit Jain <[email protected]>
  101. * ILParser.jay (K_UINT): New token.
  102. (type | K_NATIVE K_UINT): New.
  103. 2006-01-15 Ankit Jain <[email protected]>
  104. * ILParser.jay (method_decl): Add new "full" syntax specifying overrides.
  105. 2006-01-13 Ankit Jain <[email protected]>
  106. * ILParser.jay: Update to use codegen.GetTypeRef instead of creating
  107. TypeRefs.
  108. Update to use BaseMethodRef.GetGenericMethodRef instead of creating them.
  109. 2006-01-13 Ankit Jain <[email protected]>
  110. * ILParser.jay: Update to use CodeGen.GetGlobalMethodRef &
  111. CodeGen.GetGlobalFieldRef instead of creating objects.
  112. 2006-01-13 Ankit Jain <[email protected]>
  113. * ILParser.jay: Update to use Base* instead of ITypeRef, IClassRef
  114. & IGenTypeRef.
  115. 2006-01-10 Ankit Jain <[email protected]>
  116. * ILParser.jay (type | BANG ..): Move !* and !!* rules to ..
  117. (generic_class_ref): ..this, to allow using VAR/MVARs as class refs.
  118. Eg. "extends !0"
  119. 2006-01-09 Ankit Jain <[email protected]>
  120. * ILParser.jay (type_spec : class_ref): Remove.
  121. 2006-01-09 Ankit Jain <[email protected]>
  122. * ILParser.jay: Update to use GenericParamRef instead of GenericTypeRef.
  123. 2006-01-08 Ankit Jain <[email protected]>
  124. * ILParser.jay (constraint_decl): Remove. This syntax is no longer used.
  125. (class_decl | constraint_decl): Remove.
  126. 2006-01-07 Ankit Jain <[email protected]>
  127. * ILParser.jay: Update to use new GenericParameters class.
  128. (generic_class_ref| K_CLASS class_ref typars_clause): New.
  129. Update rules to use generic_class_ref instead of 'K_CLASS class_ref..'
  130. (constraints_clause): New.
  131. (constraints): New. Rules for constraints on generic parameters.
  132. (formal_typar_attr): New. Generic param attributes (.ctor, valuetype, class).
  133. (formal_typars): Update to use new constraints stuff.
  134. 2006-01-06 Ankit Jain <[email protected]>
  135. * ILParser.jay (field_init): Add rules for UINT8/UINT16/etc
  136. 2006-01-06 Ankit Jain <[email protected]>
  137. * ILParser.jay (sec_decl | D_PERMISSION sec_action comp_qstring): New. Support
  138. new (2.0) syntax which uses string(xml) instead of a bytearray for specifying
  139. value of the security attribute.
  140. 2006-01-06 Ankit Jain <[email protected]>
  141. * ILParser.jay (GetTypeRef): Use new IClassRef.Clone .
  142. (extends_clause): Use new IClassRef.GetGenericTypeInst.
  143. (impl_clause | K_IMPLEMENTS class_refs): Remove.
  144. (impl_clause | impl_class_refs): New.
  145. (impl_class_refs): New. Add rules for generic and non-generic interface
  146. implementations.
  147. (class_ref | slashed_name): Use new codegen.GetTypeRef so that the TypeRef
  148. gets cached.
  149. (type | K_CLASS class_ref): Add typars_clause to the rule and handle accordingly.
  150. (type | K_VALUETYPE ...): Likewise.
  151. 2005-12-24 Jb Evain <[email protected]>
  152. * ILParser.jay (prop_attr): Activate instance keyword on properties.
  153. 2005-12-22 Ankit Jain <[email protected]>
  154. * ILParser.jay (method_head | ..): Update usage of MethodDef.ctor to pass
  155. codegen.CurrentTypeDef also. ResolveGenParams is called by MethodDef internally.
  156. (instr | INSTR_FIELD ..): Update usage of MethodDef.ResolveGenParam .
  157. 2005-12-21 Ankit Jain <[email protected]>
  158. * ILParser.jay: Update to use new GenericArguments class for 'typars'.
  159. 2005-12-14 Ankit Jain <[email protected]>
  160. * ILParser.jay: Add K_UINT8, K_UINT16, K_UINT32 and K_UINT64 tokens.
  161. (type): Add rule for the new keywords.
  162. (native_type): Likewise.
  163. Fix #76978.
  164. 2005-12-13 Ankit Jain <[email protected]>
  165. * ILParser.jay (class_head | D_CLASS ..): Use 'comp_name' instead of 'id' to allow
  166. dotted names.
  167. 2005-12-09 Ankit Jain <[email protected]>
  168. * ILParser.jay (class_decl | D_OVERRIDE ..): Update usage of ITypeRef.GetMethodRef
  169. and MethodDef.CreateSignature .
  170. (method_head | D_METHOD ..): Update usage of MethodDef.ctor .
  171. Use MethodDef.ResolveGenParams to resolve VARs/MVARs in parameter list.
  172. (type | K_CLASS slashed_name ..): Remove redundant rule.
  173. (type | BANG id): New. Generic type parameter.
  174. (type | BANG BANG id): New. Generic method type parameter.
  175. (instr | INSTR_FIELD type ..): Resolve generic param for 'type'.
  176. (method_ref | call_conv ..): Set MethodRef's GenParamCount.
  177. (method_ref | call_conv type ..): Update usage of TypeSpecMethodRef.ctor and GetMethodRef.
  178. (method_ref | call_conv type ..): New. Rule for global generic method refs.
  179. (custom_type | call_conv ..): Update usage of GlobalMethodRef.ctor .
  180. 2005-12-05 Ankit Jain <[email protected]>
  181. * ILParser.jay (type | BANG int32 .. ): Update to use GenParam instead of
  182. PEAPI.MVar and PEAPI.GenericTypeSpec.
  183. (method_head | D_METHOD ..): Set callConv to Generic if the method has type
  184. parameters.
  185. (method_ref | call_conv ...): Likewise.
  186. 2005-09-15 Ankit Jain <[email protected]>
  187. * ILParser.jay (ILParser.NameValuePair): New.
  188. (ILParser.PermPair): New.
  189. (ILParser.CheckSecurityActionValidity): New.
  190. (ILParser.ClassRefToObject): New.
  191. (ILParser.TypeSpecToPermPair): New.
  192. (class_decl | sec_decl): Use the new codegen.AddPermission .
  193. (method_decl | sec_decl): Use the new codegen.AddPermission .
  194. (sec_decl | D_PERMISSION ..): Use the new TypeSpecToPermPair method.
  195. (sec_decl | D_PERMISSIONSET ..): Use PermissionSetAttribute to create PermissionSet
  196. which will validate the bytearray.
  197. (nameval_pairs): Create ArrayList of NameValuePair.
  198. (nameval_pair): Create NameValuePair.
  199. (cavalue | class_ref): Use ClassRefToObject.
  200. (assembly_decl | sec_decl): Use the new codegen.AddAssemblyPermission .
  201. 2005-09-08 Ankit Jain <[email protected]>
  202. * ILParser.jay (decl | D_STACKRESERVE int64): New. Set stack reserve.
  203. 2005-08-29 Ankit Jain <[email protected]>
  204. * ILParser.jay : Comment out K_LCID token.
  205. 2005-08-29 Ankit Jain <[email protected]>
  206. * ILParser.jay (native_type | K_CUSTOM ..): Instantiate object of CustomMarshaller
  207. class.
  208. 2005-08-23 Ankit Jain <[email protected]>
  209. * ILParser (method_ref : call_conv..): Use TypeRef instead of PrimitiveTypeRef
  210. if this assembly is mscorlib.
  211. (type | ..): Correct names of primitive types.
  212. 2005-08-18 Ankit Jain <[email protected]>
  213. * ILParser.jay (instr | INSTR_R bytes_list): Convert bytes_list to single/double
  214. and add the corresponding instruction.
  215. 2005-08-18 Ankit Jain <[email protected]>
  216. * ILParser.jay: Comment out K_PUBLICKEY keyword, not used in the grammar.
  217. 2005-08-16 Ankit Jain <[email protected]>
  218. * ILParser.jay (native_type | K_FIXED K_SYSSTRING ..): Instantiate
  219. object of PEAPI.FixedSysString.
  220. (native_type | native_type OPEN_BRACKET ..): Instantiate object of
  221. NativeArray with the proper arguments.
  222. (native_type | K_METHOD): Use NativeType.FuncPtr.
  223. (native_type | K_FIXED K_ARRAY ..): Instantiate object of FixedArray.
  224. (native_type | K_SAFEARRAY ..): Instantiate object of SafeArray.
  225. (variant_type): Use appropriate values from SafeArrayType enum.
  226. (field_decl | D_FIELD ..): Cast repeat_opt to int before casting to uint
  227. as repeat_opt is int32.
  228. (field_attr | field_attr K_MARSHAL ..): Add Marshal info for field.
  229. Set field attr to HasFieldMarshal.
  230. (method_head): Add Marshal info for return type if specified.
  231. (sig_arg | param_attr ..): Create ParamDef and add marshal info.
  232. 2005-08-11 Ankit Jain <[email protected]>
  233. * ILParser.jay (class_ref | slashed_name): Don't use PrimitiveTypeRef for
  234. primitive types if the assembly being compiled is 'mscorlib'.
  235. (seh_clause | K_CATCH ..): Report error if exception(class_ref) is a
  236. PrimitiveTypeRef.
  237. 2005-08-08 Ankit Jain <[email protected]>
  238. * ILParser.jay (method_decl | D_ENTRYPOINT): Set codegen.HasEntryPoint
  239. to true.
  240. 2005-08-05 Ankit Jain <[email protected]>
  241. * ILParser.jay (class_decl, method_decl | sec_decl): Use
  242. codegen.CurrentDeclSecurityTarget for adding DeclSecurity info.
  243. (assembly_decl | sec_decl): Use codegen.AddAssemblyDeclSecurity
  244. for adding DeclSecurity info.
  245. (sec_decl): Instantiate DeclSecurity object.
  246. (sec_action | K_REQUEST, K_DEMAND, .. etc): Use the corresponding
  247. value from PEAPI.SecurityAction enum.
  248. 2005-05-12 Jackson Harper <[email protected]>
  249. * ILParser.jay: Handle lists of data items correctly.
  250. 2005-05-10 Ankit Jain <[email protected]>
  251. Fix #74768.
  252. * ILParser.jay (type): Emit TypeRefs instead of TypeSpecs for valuetypes,
  253. so don't create ExternTypeRefInst.
  254. Hack along with Hari.
  255. 2005-04-30 Ankit Jain <[email protected]>
  256. * ILParser.jay (event_decl): Add custom attribute.
  257. 2005-04-27 Ankit Jain <[email protected]>
  258. * ILParser.jay (method_ref): Let owner.GetMethodRef handle the
  259. creation of TypeSpecMethodRef.
  260. 2005-04-26 Ankit Jain <[email protected]>
  261. * ILParser.jay (comp_name): Allow n.a.'b' .
  262. 2005-04-18 Ankit Jain <[email protected]>
  263. * ILParser.jay (manifestres_head): Read resource file and
  264. add ManifestResource with CodeGen.
  265. (manres_attr): Set visibility flag of the resource.
  266. 2005-04-12 Ankit Jain <[email protected]>
  267. * ILParser.jay (class_decl, method_decl, prop_decl,
  268. assemblyref_decl | customattr_decl): Use
  269. codegen.CurrentCustomAttrTarget for adding custom
  270. attributes.
  271. (field_decl, method_decl, event_head, prop_head):
  272. Set codegen.CurrentCustomAttrTarget
  273. 2005-04-08 Ankit Jain <[email protected]>
  274. * ILParser.jay (type): When parsing K_VALUETYPE, mark the typeref
  275. as a value type.
  276. (field_init): The float32 and float64 constructor argument is
  277. the hex representation, not the integer equivalent value.
  278. 2005-03-17 Ankit Jain <[email protected]>
  279. * ILParser.jay(method_decl): Add default value for a method param.
  280. 2004-12-02 Miguel de Icaza <[email protected]>
  281. * ILParser.jay(field_init): Explicit cast to the target type, this
  282. is what ilasm does (0xFFFFFFFF) as an int gets translated
  283. Added D_STACKRESERVE token.
  284. (prop_head, event_head): Allow it to take a compound name (for explicit
  285. interface implementations of properties).
  286. 2004-07-21 Jackson Harper <[email protected]>
  287. * ILParser.jay: Clones ExternTypeRefInsts as well as
  288. ExternTypeRefs, wrap this check into a method so things are
  289. somewhat clean.
  290. 2004-07-08 Jackson Harper <[email protected]>
  291. * ILParser.jay: Add custom attributes to assemblyrefs.
  292. 2004-06-26 Jackson Harper <[email protected]>
  293. * ILParser.jay: vtable fixups use the int32 or int64 keyword, not
  294. actual int values. When adding modules for pinvoke info use the
  295. ExternTable so we dont get duplicate modules.
  296. 2004-06-19 Jackson Harper <[email protected]>
  297. * ILParser.jay: Resolve method pointers that are being treated as
  298. typerefs.
  299. 2004-06-19 Jackson Harper <[email protected]>
  300. * ILParser.jay: Resolve other modules global 'type'.
  301. 2004-06-14 Jackson Harper <[email protected]>
  302. * ILParser.jay: Add file refs.
  303. 2004-06-14 Jackson Harper <[email protected]>
  304. * ILParser.jay: Add module refs, allow them to be referenced.
  305. 2004-06-14 Jackson Harper <[email protected]>
  306. * ILParser.jay: Set module names.
  307. 2004-05-25 Jackson Harper <[email protected]>
  308. * ILParser.jay: Fix casting for data type constants.
  309. 2004-05-22 Jackson Harper <[email protected]>
  310. * ILParser.jay: [,] is short form for [...,...] this fixes bug
  311. number 58569.
  312. 2004-05-22 Jackson Harper <[email protected]>
  313. * ILParser.jay: Handle wchar, it is just an alias for char. This
  314. fixes bug #58523.
  315. 2004-05-05 Jackson Harper <[email protected]>
  316. * ILParser.jay: Handle endian issues when converting numeric
  317. types.
  318. 2004-04-14 Jackson Harper <[email protected]>
  319. * ILParser.jay: Correct args for version numbers.
  320. 2004-04-03 Jackson Harper <[email protected]>
  321. * ILParser.jay: Dont use hash alg enum its too restrictive
  322. 2004-04-02 Jackson Harper <[email protected]>
  323. * ILParser.jay: Set assembly info.
  324. 2004-04-01 Jackson Harper <[email protected]>
  325. * ILParser.jay: Set a flag in the tokenizer when parsing byte
  326. arrays. Otherwise we can't tell WTF they are. Set assemblyref
  327. attributes.
  328. 2004-03-28 Jackson Harper <[email protected]>
  329. * ILParser.jay: Fix typo.
  330. 2004-03-28 Jackson Harper <[email protected]>
  331. * ILParser.jay: Set true and false literals properly. Add instance
  332. property attribute.
  333. 2004-02-18 Jackson Harper <[email protected]>
  334. * ILParser.jay: Create ExternTypeRefInsts when a valuetype
  335. extern_class is encountered. This way the underlying type is not
  336. changed to a value type.
  337. 2003-12-10 Jackson Harper <[email protected]>
  338. * ILParser.jay: When modifying extern types, clone them and modify
  339. the clone.
  340. 2003-12-10 Jackson Harper <[email protected]>
  341. * ILParser.jay: Use the extern table for all extern type
  342. creations.
  343. 2003-12-10 Jackson Harper <[email protected]>
  344. * ILParser.jay: Add COMP_NAME token.
  345. 2003-12-10 Jackson Harper <[email protected]>
  346. * ILParser.jay: vtable fixups can be int32s
  347. 2003-11-18 Jackson Harper <[email protected]>
  348. * ILParser.jay: Add zeroinit.
  349. 2003-11-17 Jackson Harper <[email protected]>
  350. * ILParser.jay: Create strings from byte arrays. Fix parsing of
  351. bytes that are passed as INT64.
  352. 2003-11-16 Jackson Harper <[email protected]>
  353. * ILParser.jay: Handle string instructions that are given byte
  354. arrays. This fixes bug #51039.
  355. 2003-10-28 Jackson Harper <[email protected]>
  356. * ILParser.jay: Use the ExternTable to create external type
  357. references. Remove some ultra top secret debugging code.
  358. 2003-10-17 Jackson Harper <[email protected]>
  359. * ILParser.jay: Set value types, set enums as value types. Use
  360. correct var for call conv in method signatures.
  361. 2003-10-10 Jackson Harper <[email protected]>
  362. * ILParser.jay: Create generic method refs.
  363. 2003-10-08 Jackson Harper <[email protected]>
  364. * ILParser.jay: Attach generic type parameters to methods.
  365. 2003-09-27 Jackson Harper <[email protected]>
  366. * ILParser.jay: Set pinvoke info. Allow param attributes in type
  367. lists.
  368. 2003-09-21 Jackson Harper <[email protected]>
  369. * ILParser.jay: Define data
  370. 2003-09-15 Jackson Harper <[email protected]>
  371. * ILParser.jay: dashed names aren't legal for file names, if the
  372. name has a dash in it it needs to be quoted ie 'gtk-sharp'.
  373. 2003-09-12 Jackson Harper <[email protected]>
  374. * ILParser.jay: Fix typo in field inits. Methods attached to
  375. modified types should be type spec method refs.
  376. 2003-08-19 Jackson Harper <[email protected]>
  377. * ILParser.jay: Implement address constants and string
  378. constants. Add data definitions to their types, and create data
  379. item lists. Also implement long form overrides.
  380. 2003-08-19 Jackson Harper <[email protected]>
  381. * ILParser.jay: Add override methods.
  382. 2003-08-10 Jackson Harper <[email protected]>
  383. * ILParser.jay: Create an empty array list for empty type
  384. lists. Start phasing out INT32 because the tokenizer will no
  385. longer create this token.
  386. 2003-08-03 Jackson Harper <[email protected]>
  387. * ILParser.jay: Use new sentinel type. Create valuetypes.
  388. 2003-08-03 Jackson Harper <[email protected]>
  389. * ILParser.jay: Make value types and enum types.
  390. 2003-08-03 Jackson Harper <[email protected]>
  391. * ILParser.jay: Create label references where appropriate instead
  392. of adding labels.
  393. 2003-08-02 Jackson Harper <[email protected]>
  394. * ILParser.jay: Set from label, not to label for filter block handlers
  395. 2003-07-30 Jackson Harper <[email protected]>
  396. * ILParser.jay: Create branch instructions with explicit offsets
  397. 2003-07-29 Jackson Harper <[email protected]>
  398. * ILParser.jay: Use new labeling system for handler blocks.
  399. 2003-07-29 Jackson Harper <[email protected]>
  400. * ILParser.jay: No longer need to supply method references
  401. to instructions, they get that when emitting now.
  402. 2003-07-28 Jackson Harper <[email protected]>
  403. * ILParser.jay: Use TypeRef.Ellipsis instead of null for a
  404. placeholder in bound arrays. Do not use AsClassRef anymore.
  405. 2003-07-21 Jackson Harper <[email protected]>
  406. * ILParser.jay: Set maxstack
  407. 2003-07-20 Jackson Harper <[email protected]>
  408. * ILParser.jay: Do not use the AsClassRef method anymore to attach
  409. methods and fields to types. All types can do this now. Create
  410. generic type refs and generic type instances.
  411. 2003-07-17 Jackson Harper <[email protected]>
  412. * ILParser.jay: Add generic type refs, and fake generic class refs.
  413. 2003-07-15 Jackson Harper <[email protected]>
  414. * ILParser.jay: Add generic type constraints and tokens used to
  415. create them
  416. 2003-07-16 Peter Williams <[email protected]>
  417. * .cvsignore: ILParser.cs has been moved.
  418. 2003-07-14 Jackson Harper <[email protected]>
  419. * ILParser.jay: Seperate generic constraints from generic parameters.
  420. 2003-06-14 Jackson Harper <[email protected]>
  421. * ILParser.jay: Add set imagebase, subsystem, and corflags.
  422. 2003-06-14 Jackson Harper <[email protected]>
  423. * ILParser.jay: Implement custom modified types.
  424. 2003-06-08 Jackson Harper <[email protected]>
  425. * ILParser.jay: Implement properties
  426. 2003-06-08 Jackson Harper <[email protected]>
  427. * ILParser.jay: Add generic type parameters to types. Implement events.
  428. 2003-06-04 Jackson Harper <[email protected]>
  429. * ILParser.jay: Assembly and module names may have dashes in them
  430. (like gtk-sharp.dll).
  431. 2003-05-31 Jackson Harper <[email protected]>
  432. * ILParser.jay: Set assembly names. When looking up types in the
  433. form [assembly]name first check if the assembly is this
  434. assembly. Implement scope_blocks, and implement scope block form
  435. exception handling.
  436. 2003-05-31 Jackson Harper <[email protected]>
  437. * ILParser.jay: Use type instead of params for calli signatures.
  438. 2003-05-31 Jackson Harper <[email protected]>
  439. * ILParser.jay: When looking up types first check to see if this
  440. is actually a primitive object type (System.String,
  441. System.Object). Add custom attributes to types. Handle the il
  442. keyword the exact same way as cil. Add ellipsises to param and sig
  443. lists. Add an optional name to typelists, this is just parsed it
  444. is not implemented properly. Add custom attributes to
  445. methods. Implement custom types (just methodrefs to ctors).
  446. 2003-05-25 Jackson Harper <[email protected]>
  447. * ILParser.jay: Pass call conv to methoref constructors. Add the
  448. ELLIPSIS to type_lists, this is for vararg methods
  449. 2003-05-23 Jackson Harper <[email protected]>
  450. * ILParser.jay: Remove top secret debugging code.
  451. 2003-05-23 Jackson Harper <[email protected]>
  452. * ILParser.jay: Implement label form structured exception handling.
  453. 2003-05-22 Jackson Harper <[email protected]>
  454. * ILParser.jay: Comment out K_IMF and K_NAN these are not used in
  455. the grammar.
  456. 2003-05-21 Jackson Harper <[email protected]>
  457. * ILParser.jay: Add ldc.r4 to INSTR_R int also fix cast to double.
  458. 2003-05-21 Jackson Harper <[email protected]>
  459. * ILParser.jay: When converting from int32 to int64 do an exact
  460. bit conversion, not a numerical conversion.
  461. 2003-05-21 Jackson Harper <[email protected]>
  462. * ILParser.jay: INT_I8s are not int instructions, currently the
  463. only INT_I8 instruction is ldc.i8 so this new code does more
  464. checks then needed but is written in anticipation of some new long
  465. instructions being found. Implement signature instructions, token
  466. instructions, and signatures. Convert INT32s masquerading as
  467. INT64s to Int64.
  468. 2003-05-19 Jackson Harper <[email protected]>
  469. * ILParser.jay: Same as below but with float64 ()
  470. 2003-05-19 Jackson Harper <[email protected]>
  471. * ILParser.jay: When the float32 (0xFFFFFF) syntax is used the hex
  472. value represents the exact byte value of a float NOT an integer
  473. value that is converted to a float.
  474. 2003-05-18 Jackson Harper <[email protected]>
  475. * ILParser.jay: Use new methods for converting types to
  476. classrefs. Expand grammar for locals.
  477. 2003-05-18 Jackson Harper <[email protected]>
  478. * ILParser.jay: Convert cast integers to floats.
  479. 2003-05-11 Jackson Harper <[email protected]>
  480. * ILParser.jay: Add tokens for instructions that take param and
  481. local args. Do not create empty lists for sig_args and
  482. type_lists. Add param and local instructions.
  483. 2003-05-11 Jackson Harper <[email protected]>
  484. * ILParser.jay: Set size and packing information for types
  485. 2003-05-10 Jackson Harper <[email protected]>
  486. * ILParser.jay: Add field instructions
  487. 2003-05-10 Jackson Harper <[email protected]>
  488. * ILParser.jay: Add global method references
  489. 2003-05-10 Jackson Harper <[email protected]>
  490. * ILParser.jay: Add locals, method references, and method instructions
  491. 2003-05-07 Jackson Harper <[email protected]>
  492. * ILParser.jay: Add type instructions. NOTE - type_spec is not
  493. fully implemented yet, so this has some explosive potential.
  494. 2003-05-07 Jackson Harper <[email protected]>
  495. * ILParser.jay: Remove dotted_name, it is not used at all
  496. anymore. vtattr only take an int64 param, this fix gets rid of all
  497. of the remaining reduce/reduce conflicts
  498. 2003-05-07 Jackson Harper <[email protected]>
  499. * ILParser.jay: Remove extraneous dotted_name, also make comp_name
  500. contain dotted_name logic. Oh how I will miss the 301
  501. reduce/reduce conflicts these small changes fixed :-)
  502. 2003-05-06 Jackson Harper <[email protected]>
  503. * ILParser.jay: Emit INSTR_I8 instructions as int
  504. instructions. Implement label lists, emit switch instruction.
  505. 2003-05-05 Jackson Harper <[email protected]>
  506. * ILParser.jay: Add labels to methods, add branching instructions.
  507. 2003-05-04 Jackson Harper <[email protected]>
  508. * ILParser.jay: Use new MiscInstr.ldstr for ldstr, add INSTR_Rs
  509. 2003-05-04 Jackson Harper <[email protected]>
  510. * ILParser.jay: Set int64's masquerading as int32 to upper and
  511. lower bounds if neccasary. NEED TO TEST this behavoir on windows.
  512. 2003-05-01 Jackson Harper <[email protected]>
  513. * ILParser.jay: Fix a bunch of conversions, implement hexbytes
  514. 2003-04-30 Jackson Harper <[email protected]>
  515. * ILParser.jay: Implement non marshalled methodheads, method
  516. attributes, impl attributes, imit simple int and ldstr instructions.
  517. 2003-04-17 Jackson Harper <[email protected]>
  518. * ILParser.jay: Define data, fix repeat_opt allways being set.
  519. 2003-04-17 Jackson Harper <[email protected]>
  520. * ILParser.jay: Add external types to the extern type table.
  521. 2003-04-17 Jackson Harper <[email protected]>
  522. * ILParser.jay: Use new types and methods to build a tree.
  523. 2003-04-07 Jackson Harper <[email protected]>
  524. * ILParser.jay: Implement data items
  525. 2003-04-07 Jackson Harper <[email protected]>
  526. * ILParser.jay: Implement most field features
  527. 2003-04-05 Jackson Harper <[email protected]>
  528. * ILParser.jay: Set type parameter index
  529. 2003-04-05 Jackson Harper <[email protected]>
  530. * ILParser.jay: Emit parameterized types
  531. 2003-04-04 Jackson Harper <[email protected]>
  532. * ILParser.jay: Add parameterized method declarations.
  533. 2003-04-03 Jackson Harper <[email protected]>
  534. * ILParser.jay: Add parameterized types to classes.
  535. 2003-04-02 Jackson Harper <[email protected]>
  536. * ILParser.jay: Support most non-obsolete native types.
  537. 2003-04-02 Jackson Harper <[email protected]>
  538. * ILParser.jay: Proper names for native int and native uint
  539. 2003-04-01 Jackson Harper <[email protected]>
  540. * ILParser.jay: Add Call conventions, fix primitive spelling.
  541. 2003-04-01 Jackson Harper <[email protected]>
  542. * ILParser.jay: Add TypedRef primative type.
  543. 2003-04-01 Jackson Harper <[email protected]>
  544. * ILParser.jay: Support pinned, modreq, and modopt types.
  545. 2003-04-01 Jackson Harper <[email protected]>
  546. * ILParser.jay: Use the CodeGen CompleteClass method when a class
  547. is completed instead of setting the current class to null. This
  548. does some extra cleanup
  549. 2003-03-31 Jackson Harper <[email protected]>
  550. * ILParser.jay: Add bound arrays
  551. 2003-03-30 Jackson Harper <[email protected]>
  552. * ILParser.jay: Concat slashed names properly
  553. 2003-03-30 Jackson Harper <[email protected]>
  554. * ILParser.jay: Implement most of type
  555. 2003-03-30 Jackson Harper <[email protected]>
  556. * ILParser.jay: Add code from old parser to declare and define classes.
  557. 2003-03-30 Jackson Harper <[email protected]>
  558. * ILParser.jay: New grammar that I haven't made a mess of, this
  559. takes all the special cases into account much better.
  560. 2003-03-19 Jackson Harper <[email protected]>
  561. * ILParser.jay: .hash algorithm can be followed by bytes
  562. 2003-03-19 Jackson Harper <[email protected]>
  563. * ILParser.jay: Allow assembly refs to have dots in name.
  564. 2003-03-17 Jackson Harper <[email protected]>
  565. * ILParser.jay: Add object to primative types
  566. 2003-03-17 Jackson Harper <[email protected]>
  567. * ILParser.jay: Set CallConv for opcodes that have a call conv,
  568. like call and newobj
  569. 2003-03-17 Jackson Harper <[email protected]>
  570. * ILParser.jay: Set CallConvs properly, use type_ref instead of type for
  571. method overrides.
  572. 2003-03-16 Jackson Harper <[email protected]>
  573. * ILParser.jay: .ctor and .cctor can also be method names.
  574. 2003-03-16 Jackson Harper <[email protected]>
  575. * ILParser.jay: Use assembly_ref for extern assemblies so names with dashes can be used.
  576. 2003-03-15 Jackson Harper <[email protected]>
  577. * ILParser.jay: Define local variables
  578. 2003-03-15 Jackson Harper <[email protected]>
  579. * ILParser.jay: Add param_list definition, use param_list for method refs
  580. 2003-03-15 Jackson Harper <[email protected]>
  581. * ILParser.jay: de-bacwardificate values passed to add method,
  582. I was setting the return to the parent before, but the parent
  583. value was being set to the return type value so it all worked
  584. out but was very confusing.
  585. 2003-03-15 Jackson Harper <[email protected]>
  586. * ILParser.jay: Add external field references
  587. 2003-03-15 Jackson Harper <[email protected]>
  588. * ILParser.jay: Add fields to the field table, add field references,
  589. emit instructions that take a field param
  590. 2003-03-15 Jackson Harper <[email protected]>
  591. * ILParser.jay: Emit ldstr instruction
  592. 2003-03-15 Jackson Harper <[email protected]>
  593. * ILParser.jay: Create external method references
  594. 2003-03-14 Jackson Harper <[email protected]>
  595. * ILParser.jay: Emit instructions that take a method def as a single param
  596. 2003-03-14 Jackson Harper <[email protected]>
  597. * ILParser.jay: Emit instructions that take a single type as a param
  598. 2003-03-14 Jackson Harper <[email protected]>
  599. * ILParser.jay: Emit instructions that take a single int32 as a param
  600. 2003-03-13 Jackson Harper <[email protected]>
  601. * ILParser.jay: Remove unused references
  602. 2003-03-13 Jackson Harper <[email protected]>
  603. * ILParser.jay: Emit simple instructions
  604. 2003-03-13 Jackson Harper <[email protected]>
  605. * ILParser.jay: Set MaxStack, clean up some typos
  606. 2003-03-13 Jackson Harper <[email protected]>
  607. * ILParser.jay: Set entrypoint
  608. 2003-03-11 Jackson Harper <[email protected]>
  609. * ILParser.jay: Create TypeRefs instead of types, define methods.
  610. 2003-03-09 Jackson Harper <[email protected]>
  611. * ILParser.jay: Set Call Conventions and Implementation Flags
  612. 2003-03-09 Jackson Harper <[email protected]>
  613. * ILParser.jay: Add implemented interfaces
  614. 2003-03-08 Jackson Harper <[email protected]>
  615. * ILParser.jay: Create method attributes
  616. 2003-03-08 Jackson Harper <[email protected]>
  617. * ILParser.jay: Reference external assemblies.
  618. 2003-03-06 Jackson Harper <[email protected]>
  619. * ILParser.jay: Implemented class inheritence
  620. 2003-03-06 Jackson Harper <[email protected]>
  621. * ILParser.jay: Pass null Location when adding class, concat dottedName pieces
  622. 2003-03-06 Jackson Harper <[email protected]>
  623. * ILParser.jay: Reconfigure to work with new PEAPI emission system
  624. 2003-02-10 Jackson Harper <[email protected]>
  625. * ILParser.jay: Use arg_list for method signatures, set method parameters
  626. 2003-02-09 Jackson Harper <[email protected]>
  627. * ILParser.jay: full names can be short names too (for members)
  628. 2003-02-09 Jackson Harper <[email protected]>
  629. * ILParser.jay: Use full names for calling instructions
  630. 2003-02-08 Jackson Harper <[email protected]>
  631. * ILParser.jay: Create type names properly
  632. 2003-02-08 Jackson Harper <[email protected]>
  633. * ILParser.jay: Handle argument lists better
  634. 2003-02-08 Jackson Harper <[email protected]>
  635. * ILParser.jay: Handle .local and newobj
  636. 2003-02-06 Jackson Harper <[email protected]>
  637. * ILParser.jay: Allow assembly names to have lots of dashes.
  638. 2003-02-06 Jackson Harper <[email protected]>
  639. * ILParser.jay: Add dash token, allow assembly refs to have dashes in their names.
  640. 2003-02-02 Jackson Harper <[email protected]>
  641. * ILParser.jay: Add call instruction, other little fixes and additions