1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
|
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.
* ILParser.jay (type): Emit TypeRefs instead of TypeSpecs for valuetypes,
so don't create ExternTypeRefInst.
Hack along with Hari.
2005-04-30 Ankit Jain <ankit@corewars.org>
* ILParser.jay (event_decl): Add custom attribute.
2005-04-27 Ankit Jain <ankit@corewars.org>
* ILParser.jay (method_ref): Let owner.GetMethodRef handle the
creation of TypeSpecMethodRef.
2005-04-26 Ankit Jain <ankit@corewars.org>
* ILParser.jay (comp_name): Allow n.a.'b' .
2005-04-18 Ankit Jain <ankit@corewars.org>
* ILParser.jay (manifestres_head): Read resource file and
add ManifestResource with CodeGen.
(manres_attr): Set visibility flag of the resource.
2005-04-12 Ankit Jain <ankit@corewars.org>
* ILParser.jay (class_decl, method_decl, prop_decl,
assemblyref_decl | customattr_decl): Use
codegen.CurrentCustomAttrTarget for adding custom
attributes.
(field_decl, method_decl, event_head, prop_head):
Set codegen.CurrentCustomAttrTarget
2005-04-08 Ankit Jain <radical@corewars.org>
* ILParser.jay (type): When parsing K_VALUETYPE, mark the typeref
as a value type.
(field_init): The float32 and float64 constructor argument is
the hex representation, not the integer equivalent value.
2005-03-17 Ankit Jain <radical@corewars.org>
* ILParser.jay(method_decl): Add default value for a method param.
2004-12-02 Miguel de Icaza <miguel@ximian.com>
* ILParser.jay(field_init): Explicit cast to the target type, this
is what ilasm does (0xFFFFFFFF) as an int gets translated
Added D_STACKRESERVE token.
(prop_head, event_head): Allow it to take a compound name (for explicit
interface implementations of properties).
2004-07-21 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Clones ExternTypeRefInsts as well as
ExternTypeRefs, wrap this check into a method so things are
somewhat clean.
2004-07-08 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Add custom attributes to assemblyrefs.
2004-06-26 Jackson Harper <jackson@ximian.com>
* ILParser.jay: vtable fixups use the int32 or int64 keyword, not
actual int values. When adding modules for pinvoke info use the
ExternTable so we dont get duplicate modules.
2004-06-19 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Resolve method pointers that are being treated as
typerefs.
2004-06-19 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Resolve other modules global 'type'.
2004-06-14 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Add file refs.
2004-06-14 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Add module refs, allow them to be referenced.
2004-06-14 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Set module names.
2004-05-25 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Fix casting for data type constants.
2004-05-22 Jackson Harper <jackson@ximian.com>
* ILParser.jay: [,] is short form for [...,...] this fixes bug
number 58569.
2004-05-22 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Handle wchar, it is just an alias for char. This
fixes bug #58523.
2004-05-05 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Handle endian issues when converting numeric
types.
2004-04-14 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Correct args for version numbers.
2004-04-03 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Dont use hash alg enum its too restrictive
2004-04-02 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Set assembly info.
2004-04-01 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Set a flag in the tokenizer when parsing byte
arrays. Otherwise we can't tell WTF they are. Set assemblyref
attributes.
2004-03-28 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Fix typo.
2004-03-28 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Set true and false literals properly. Add instance
property attribute.
2004-02-18 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Create ExternTypeRefInsts when a valuetype
extern_class is encountered. This way the underlying type is not
changed to a value type.
2003-12-10 Jackson Harper <jackson@ximian.com>
* ILParser.jay: When modifying extern types, clone them and modify
the clone.
2003-12-10 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Use the extern table for all extern type
creations.
2003-12-10 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Add COMP_NAME token.
2003-12-10 Jackson Harper <jackson@ximian.com>
* ILParser.jay: vtable fixups can be int32s
2003-11-18 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Add zeroinit.
2003-11-17 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Create strings from byte arrays. Fix parsing of
bytes that are passed as INT64.
2003-11-16 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Handle string instructions that are given byte
arrays. This fixes bug #51039.
2003-10-28 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Use the ExternTable to create external type
references. Remove some ultra top secret debugging code.
2003-10-17 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Set value types, set enums as value types. Use
correct var for call conv in method signatures.
2003-10-10 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Create generic method refs.
2003-10-08 Jackson Harper <jackson@ximian.com>
* ILParser.jay: Attach generic type parameters to methods.
2003-09-27 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set pinvoke info. Allow param attributes in type
lists.
2003-09-21 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Define data
2003-09-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: dashed names aren't legal for file names, if the
name has a dash in it it needs to be quoted ie 'gtk-sharp'.
2003-09-12 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Fix typo in field inits. Methods attached to
modified types should be type spec method refs.
2003-08-19 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Implement address constants and string
constants. Add data definitions to their types, and create data
item lists. Also implement long form overrides.
2003-08-19 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add override methods.
2003-08-10 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Create an empty array list for empty type
lists. Start phasing out INT32 because the tokenizer will no
longer create this token.
2003-08-03 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use new sentinel type. Create valuetypes.
2003-08-03 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Make value types and enum types.
2003-08-03 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Create label references where appropriate instead
of adding labels.
2003-08-02 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set from label, not to label for filter block handlers
2003-07-30 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Create branch instructions with explicit offsets
2003-07-29 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use new labeling system for handler blocks.
2003-07-29 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: No longer need to supply method references
to instructions, they get that when emitting now.
2003-07-28 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use TypeRef.Ellipsis instead of null for a
placeholder in bound arrays. Do not use AsClassRef anymore.
2003-07-21 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set maxstack
2003-07-20 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Do not use the AsClassRef method anymore to attach
methods and fields to types. All types can do this now. Create
generic type refs and generic type instances.
2003-07-17 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add generic type refs, and fake generic class refs.
2003-07-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add generic type constraints and tokens used to
create them
2003-07-16 Peter Williams <peter@newton.cx>
* .cvsignore: ILParser.cs has been moved.
2003-07-14 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Seperate generic constraints from generic parameters.
2003-06-14 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add set imagebase, subsystem, and corflags.
2003-06-14 Jackson Harper <jackson@latitidegeo.com>
* ILParser.jay: Implement custom modified types.
2003-06-08 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Implement properties
2003-06-08 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add generic type parameters to types. Implement events.
2003-06-04 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Assembly and module names may have dashes in them
(like gtk-sharp.dll).
2003-05-31 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set assembly names. When looking up types in the
form [assembly]name first check if the assembly is this
assembly. Implement scope_blocks, and implement scope block form
exception handling.
2003-05-31 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use type instead of params for calli signatures.
2003-05-31 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: When looking up types first check to see if this
is actually a primitive object type (System.String,
System.Object). Add custom attributes to types. Handle the il
keyword the exact same way as cil. Add ellipsises to param and sig
lists. Add an optional name to typelists, this is just parsed it
is not implemented properly. Add custom attributes to
methods. Implement custom types (just methodrefs to ctors).
2003-05-25 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Pass call conv to methoref constructors. Add the
ELLIPSIS to type_lists, this is for vararg methods
2003-05-23 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Remove top secret debugging code.
2003-05-23 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Implement label form structured exception handling.
2003-05-22 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Comment out K_IMF and K_NAN these are not used in
the grammar.
2003-05-21 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add ldc.r4 to INSTR_R int also fix cast to double.
2003-05-21 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: When converting from int32 to int64 do an exact
bit conversion, not a numerical conversion.
2003-05-21 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: INT_I8s are not int instructions, currently the
only INT_I8 instruction is ldc.i8 so this new code does more
checks then needed but is written in anticipation of some new long
instructions being found. Implement signature instructions, token
instructions, and signatures. Convert INT32s masquerading as
INT64s to Int64.
2003-05-19 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Same as below but with float64 ()
2003-05-19 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: When the float32 (0xFFFFFF) syntax is used the hex
value represents the exact byte value of a float NOT an integer
value that is converted to a float.
2003-05-18 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use new methods for converting types to
classrefs. Expand grammar for locals.
2003-05-18 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Convert cast integers to floats.
2003-05-11 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add tokens for instructions that take param and
local args. Do not create empty lists for sig_args and
type_lists. Add param and local instructions.
2003-05-11 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set size and packing information for types
2003-05-10 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add field instructions
2003-05-10 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add global method references
2003-05-10 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add locals, method references, and method instructions
2003-05-07 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add type instructions. NOTE - type_spec is not
fully implemented yet, so this has some explosive potential.
2003-05-07 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Remove dotted_name, it is not used at all
anymore. vtattr only take an int64 param, this fix gets rid of all
of the remaining reduce/reduce conflicts
2003-05-07 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Remove extraneous dotted_name, also make comp_name
contain dotted_name logic. Oh how I will miss the 301
reduce/reduce conflicts these small changes fixed :-)
2003-05-06 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Emit INSTR_I8 instructions as int
instructions. Implement label lists, emit switch instruction.
2003-05-05 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add labels to methods, add branching instructions.
2003-05-04 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use new MiscInstr.ldstr for ldstr, add INSTR_Rs
2003-05-04 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set int64's masquerading as int32 to upper and
lower bounds if neccasary. NEED TO TEST this behavoir on windows.
2003-05-01 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Fix a bunch of conversions, implement hexbytes
2003-04-30 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Implement non marshalled methodheads, method
attributes, impl attributes, imit simple int and ldstr instructions.
2003-04-17 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Define data, fix repeat_opt allways being set.
2003-04-17 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add external types to the extern type table.
2003-04-17 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use new types and methods to build a tree.
2003-04-07 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Implement data items
2003-04-07 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Implement most field features
2003-04-05 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set type parameter index
2003-04-05 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Emit parameterized types
2003-04-04 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add parameterized method declarations.
2003-04-03 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add parameterized types to classes.
2003-04-02 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Support most non-obsolete native types.
2003-04-02 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Proper names for native int and native uint
2003-04-01 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add Call conventions, fix primitive spelling.
2003-04-01 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add TypedRef primative type.
2003-04-01 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Support pinned, modreq, and modopt types.
2003-04-01 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use the CodeGen CompleteClass method when a class
is completed instead of setting the current class to null. This
does some extra cleanup
2003-03-31 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add bound arrays
2003-03-30 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Concat slashed names properly
2003-03-30 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Implement most of type
2003-03-30 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add code from old parser to declare and define classes.
2003-03-30 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: New grammar that I haven't made a mess of, this
takes all the special cases into account much better.
2003-03-19 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: .hash algorithm can be followed by bytes
2003-03-19 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Allow assembly refs to have dots in name.
2003-03-17 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add object to primative types
2003-03-17 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set CallConv for opcodes that have a call conv,
like call and newobj
2003-03-17 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set CallConvs properly, use type_ref instead of type for
method overrides.
2003-03-16 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: .ctor and .cctor can also be method names.
2003-03-16 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use assembly_ref for extern assemblies so names with dashes can be used.
2003-03-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Define local variables
2003-03-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add param_list definition, use param_list for method refs
2003-03-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: de-bacwardificate values passed to add method,
I was setting the return to the parent before, but the parent
value was being set to the return type value so it all worked
out but was very confusing.
2003-03-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add external field references
2003-03-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add fields to the field table, add field references,
emit instructions that take a field param
2003-03-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Emit ldstr instruction
2003-03-15 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Create external method references
2003-03-14 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Emit instructions that take a method def as a single param
2003-03-14 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Emit instructions that take a single type as a param
2003-03-14 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Emit instructions that take a single int32 as a param
2003-03-13 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Remove unused references
2003-03-13 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Emit simple instructions
2003-03-13 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set MaxStack, clean up some typos
2003-03-13 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set entrypoint
2003-03-11 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Create TypeRefs instead of types, define methods.
2003-03-09 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Set Call Conventions and Implementation Flags
2003-03-09 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add implemented interfaces
2003-03-08 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Create method attributes
2003-03-08 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Reference external assemblies.
2003-03-06 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Implemented class inheritence
2003-03-06 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Pass null Location when adding class, concat dottedName pieces
2003-03-06 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Reconfigure to work with new PEAPI emission system
2003-02-10 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use arg_list for method signatures, set method parameters
2003-02-09 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: full names can be short names too (for members)
2003-02-09 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Use full names for calling instructions
2003-02-08 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Create type names properly
2003-02-08 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Handle argument lists better
2003-02-08 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Handle .local and newobj
2003-02-06 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Allow assembly names to have lots of dashes.
2003-02-06 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add dash token, allow assembly refs to have dashes in their names.
2003-02-02 Jackson Harper <jackson@latitudegeo.com>
* ILParser.jay: Add call instruction, other little fixes and additions
|