Supported '\' operator
[mono.git] / mcs / mbas / ChangeLog
1 2005-03-15 Satya Sudha K <ksathyasudha@novell.com>
2         * mb-parser.jay :
3         * expression.cs :
4                 Supported '\' (int division) operator
5
6 2005-03-11 Manjula GHM <mmanjula@novell.com>
7            Sudharsan V <vsudharsan@novell.com>
8           * mb-parser.jay:
9               Fixes related to displaying correct line number,error message and handle End of blocks
10
11 2005-03-11 Satya Sudha K <ksathyasudha@novell.com>
12         * expression.cs :
13                          Support for 'Nothing' with all operators.
14                          A few fixes to the 'DoNumericPromotions' method
15         * ecore.cs      :
16                          Fixed Boolean constant conversions
17                          Supported conversion of 'nothing' to value types
18
19 2005-03-10 Manjula GHM <mmanjula@novell.com>
20         *expression.cs :
21                 Support 'Is' for all reference types
22
23 2005-03-10 Satya Sudha K <sathyasudha@novell.com>
24         * mb-parser.jay :
25         * expression.cs :
26                         Support for 'AndAlso' and 'OrElse' operator
27
28 2005-03-09 Manjula GHM <mmanjula@novell.com>
29         *mb-parser.jay :
30         *expression.cs :
31                 Support 'Is' Expression
32
33 2005-03-08 Satya Sudha K <ksathyasudha@novell.com>
34         * ecore.cs      : Included Decimal -> Single/double conversions in 'WideningConversionExists' method
35         * expression.cs : Fixed the behaviour of some Unary operators
36                           Allowing Exponentiation on object types
37
38 2005-03-08 Manjula GHM <mmanjula@novell.com>
39         *assign.cs : Bug fix - new Object creation and object assignment
40
41 2005-03-07 Satya Sudha K <ksathyasudha@novell.com>
42         * mb-parser.jay : Support for shift operators
43         * assign.cs     : Calling 'RuntimeHelpers.GetObjectValue' during new Object creation 
44                            (to make it consistent with vbc)
45         * ecore.cs      : Implicit constant conversions - rounding the float/double values before 
46                           converting to Integer types
47         * expression.cs : 
48                          Unary class :
49                                 * Corrected the opertor names
50                                 * Allowing unary plus and minus on strings (by converting 
51                                   to double)
52                                 * Allowing 'Not' operator on all numeric/string types 
53                                   (float/double/decimal/strings are converted to long)
54                                 * In case of short/byte operations, changing the end result back to short/byte
55                         Exponentiation class :
56                                 * Disallowing '^' operator on dates/char/ reference types
57                         Binary class :
58                                 * Corrected operator names
59                                 * And-ing the right operand with appropriate mask in case of shift operators
60                                 * In case of short/byte operations, changing the end result back to short/byte
61                                 * Re-organised the code of the 'ResolveOperator' method:
62                                         * code organised according to expression types
63                                         * Performing the required conversions before 'OverloadResolve'
64                                         * Did the following fixes :
65                                                 * Fixed string/bool behaviour with logical/shift operators
66                                                 * Disallow arithmatic operators on char and dates
67                                                 * Fixed DateTime comparisons
68                                                 * Using methods of 'System.Decimal' for all Decimal operations
69                                                 * Supporting all operators with enum types
70                                                 * Allowing arithmatic/relational/shift/logical operators on type 'object'
71
72 2005-03-04 Manjula GHM <mmanjula@novell.com>
73         * mb-parser.jay:
74         * assign.cs:
75                 Support Mid Assignment Statement
76
77 2004-12-01 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
78         * driver.cs: correcting the handling of many options. 
79         * Upgraded to latest Mono.GetOptions that supports vbc style boolean arguments /debug+ /debug-, and /help2 to hide less used options
80
81 2005-02-25 Satya Sudha K <ksathyasudha@novell.com>
82         * ecore.cs 
83         * expression.cs: 
84                 Fix for default properties by Raja Harinath
85
86 2005-02-22 Manjula GHM <mmanjula@novell.com>
87         *expression.cs: Handle String and date before Overloadresolve
88                         Added code for char + char
89                         Handle One of operands is value type in Relational operators 
90                         Handle when both are Object types
91
92 2005-02-22 Manjula GHM <mmanjula@novell.com>
93         *expression.cs: Handle Bool w.r.t Logical operators 
94
95 2005-02-21 Manjula GHM <mmanjula@novell.com>
96         *expression.cs: Handle  all cases of relational Operators w.r.t String types 
97
98 2005-02-21 Manjula GHM <mmanjula@novell.com>
99         *mb-parser.jay: Throws error for missing END statements - by Sudharsan V
100
101 2005-02-18 Satya Sudha K <ksathyasudha@novell.com>
102         * ecore.cs :
103                  Modified Implicit Constant conversions to :
104                  * Handle Long/Float/Double Constants also
105                  * Throw a compile time error if constant cannot be converted to a specified type
106                    (as with vbc)
107         * assign.cs :
108         * expression.cs :
109                 Widening Enum constants to constants of underlying type before doing the conversions
110         * cfold.cs :
111                 Added support for exponentiation operator for constants
112         * enum.cs : Allowing double values to be specified as enum values
113
114
115 2005-02-17 Manjula GHM <mmanjula@novell.com>
116         * expression.cs :
117                  Support relational operator for other types
118
119 2005-02-15 Manjula GHM <mmanjula@novell.com>
120         * ecore.cs :
121                  Fixed conversion from char[] to String
122
123 2005-02-15 Manjula GHM <mmanjula@novell.com>
124         * expression.cs: Fixed concat of string and char using '+" operator 
125
126 2005-02-14 Manjula GHM <mmanjula@novell.com>
127         * ecore.cs :
128                  Fixed all String to char conversions
129
130 2005-02-14 Satya Sudha K <ksathyasudha@novell.com>
131         * expression.cs: 
132                  - Fixed one of my previous checkin, which was breaking some test cases.
133         * ecore.cs :
134                  - Fixed the explicit conversion of float/double to integral types in some places.
135
136 2005-02-11 Ritvik Mayank <mritvik@novell.com>
137         * class.cs
138         * decl.cs
139         * mb-parser.jay
140         * statement.cs
141                 Changed for reflecting correct Error Number
142                                                 
143 2005-02-10 Satya Sudha K <ksathyasudha@novell.com>
144         * expression.cs: 
145                  - Implemented Exponentiation operator (^)
146                  - Fixed the behaviour of strings in arithmatic operations (only addition 
147                    was supported before)
148                  - Fixed Decimal arithmatic with float/double types
149                  - If operation = Division, promoting both operands to double, otherwise
150                    doing numeric promotions
151         * mb-parser.jay : Changes related to the Exponentiation operator
152
153 2005-02-10 Manjula GHM <mmanjula@novell.com>
154         * expression.cs: Fixed concat of date and string using '+" operator 
155
156 2005-02-08  Satya Sudha K  <ksathyasudha@novell.com>
157         * assign.cs: Fix for implicit conversions in Compound Assignments
158         * ecore.cs :
159                 - Fixed the explicit conversion of float/double to integral types
160                   by rounding the float/double values before performing the actual 
161                   conversion
162                 - Using 'ConvCast' instead of 'OpcodeCast' for Narrowing conversions
163
164 2005-02-07  Ritvik Mayank <mritvik@novell.com>
165         * modifiers.cs
166         * class.cs
167         * decl.cs
168         * expression.cs
169         * tree.cs
170         * statement.cs
171                     Changed for reflecting correct Error Number.
172
173 2005-02-07  Manjula GHM  <mmanjula@novell.com>
174         * mb-parser.jay: Some more fixes related to displaying correct line number
175
176 2005-02-04  Satya Sudha K  <ksathyasudha@novell.com>
177         * ecore.cs      : Fixed the implicit conversion of float/double to integral types:
178                                 - Rounding the float/double values before performing the actual conversion
179
180         * expression.cs : 1) Added a class 'StringConcat' to handle string concatenations
181                           2) Fixed string conversions in arithmatic operations
182
183         * mb-parser.jay : Create a new 'StringConcat' object (instead of Binary) for concat_expression
184  
185 2005-02-03  Manjula GHM  <mmanjula@novell.com>
186         *mb-parser.jay : Reports error with correct line number in most of the cases covered by existing testcases. Need to cover in expressions and few more areas. 
187  
188 2005-02-03  Manjula GHM  <mmanjula@novell.com>
189         * mbas.csproj
190         * mbas.sln
191         Modified Project and solution files to reflect new changes
192
193 2005-01-29  Ritvik Mayank  <mritvik@novell.com>
194         * ecore.cs : 
195         * class.cs : 
196         * cfold.cs : 
197         * attribute.cs : 
198         * statement.cs : 
199         * mb-parser.jay : 
200                 Changed for reflecting correct Error Number/Message.
201         
202 2005/01/29 Satya Sudha K <ksathyasudha@novell.com>
203         * ecore.cs : Added code for String conversions.
204
205 2005/01/28 Satya Sudha K <ksathyasudha@novell.com>
206         * ecore.cs : Added a few fixes for Boolean to Numeric Conversions
207
208 2005/01/25 Satya Sudha K <ksathyasudha@novell.com>
209         * ecore.cs : Added support for Implicit numeric conversions.
210                 Most of the work on this patch done by Jambunathan K
211
212 2005/01/17 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
213         * driver.cs : correct handling of /imports command-line option.
214                 Patch from Hans Kratz <kratz@omnicore.com>
215
216 2005-01-13  Ritvik Mayank  <mritvik@novell.com>
217         * mb-parser.jay: Changed Error Number for Modifiers.PRIVATE to throw the right ExceptionNumber as 31089 .       
218         * mb-parser.jay: Added Modifiers.PROTECTED to throw the right Error Number as 31047 . 
219                   
220 2005-01-13  Ritvik Mayank  <mritvik@novell.com> 
221         * ecore.cs: Changed the Error Number for setter as 30526 and getter as 30524 in Expression DoResolveLValue .
222         * expression.cs: Changed the Error Number for set == null as 30526 and get == null as 30524 .
223
224 2005-01-13  Ritvik Mayank  <mritvik@novell.com>
225         * statement.cs: For 'if (RedimTarget.Type.GetArrayRank() != args.Count)' changed the Error Number as 3415 .
226
227 2005-01-12 Anirban Bhattacharjee <banirban@novell.com>
228         * mb-parser.jay: Replaced "logical_end_of_line" with "end_of_stmt" in couple of places
229                          to support delemeter ':' along with "EOL" as end of statement
230
231 2005-01-12 Anirban Bhattacharjee <banirban@novell.com>
232         * statement.cs: Another trivial correction 
233
234 2005-01-11 Anirban Bhattacharjee <banirban@novell.com>
235         * statement.cs: A trivial correction in yesterday's check-in
236
237 2005-01-10 Anirban Bhattacharjee <banirban@novell.com>
238         * mb-parser.jay:
239         * class.cs:
240         * statement.cs:
241         * rootcontext.cs:
242         * mb-tokenizer.cs:
243         * decl.cs:
244         * expression.cs:
245         * attribute.cs:
246         * enum.cs:
247         * codegen.cs:
248                 Removed warnings from all the above files which were showing up during make
249
250
251 2005-01-10 Anirban Bhattacharjee <banirban@novell.com>
252         * mb-parser.jay: Check for the overloaded property  
253
254 2005-01-10 Anirban Bhattacharjee <banirban@novell.com>
255         * class.cs: A better check provided before adding a property to TypeContainer
256
257 2004-12-21 Anirban Bhattacharjee <banirban@novell.com>
258         * class.cs:
259         * Attribute.cs
260         * mb-parser.jay
261         * pending.cs:
262         * typemanager.cs:
263                 IndexerName variable is now known as DefaultPropName in the above files
264
265 2004-12-21 Anirban Bhattacharjee <banirban@novell.com>
266         * mb-parser.jay: A check which restrict declaring more than one property
267                         as default within same class
268
269 2004-12-21 Anirban Bhattacharjee <banirban@novell.com>
270         * class.cs: -Mbas will emit DefaultMemberConstuctor attribute for the class
271                     which is having Default Property so that it can be recognized by
272                     other assemblies
273                     - Removed Indexer class and some of the legacy code inherited from mcs
274         * typemanager.cs: Initialized DefaultMemberAttribute constructor info   
275
276 2004-12-01 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
277         Ooops small bits on:
278         * driver.cs: -q --quiet works, inclusive for the "Alpha" message
279         * Test/misc/Makefile : Added dependency on newly compiled compiler for the test executable
280
281 2004-12-01 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
282         * driver.cs: it was "monostyled" and some extract method refactorings to make things clear
283         now -q --quiet works, inclusive for the "Alpha" message
284         * Test/misc/Makefile : Added dependency on newly compiled compiler for the test executable
285
286 2004-11-30 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
287         * Test/misc/Makefile : Compile new RedimPreserve.vb test source
288         * Added Test/misc/RedimPreserve.vb
289     
290 2004-11-30  Alexandre Rocha Lima e Marcondes <alexandremarcondes@psl-pr.softwarelivre.org>
291         * Makefile: Included Microsoft.VisualBasic.dll assembly on LOCAL_MCS_FLAGS.
292         * expression.cs: Created class Preserve to implement REDIM PRESERVE syntax.
293         * statement.cs: Implemented REDIM PRESERVE syntax on Redim.Resolve().
294
295 2004-11-25  Raja R Harinath  <rharinath@novell.com>
296         * Makefile (SUBDIRS): Just list Test.
297         (mb-parser.cs): Depend on jay/skeleton.cs.
298
299 2004-11-25  Raja R Harinath  <rharinath@novell.com>
300
301         Update to changes in jay/skeleton.cs.
302         * genericparser.cs (yacc_verbose_flag): Change to 'int'.
303         * mb-parser.jay (parse): Update to changes.
304         * driver.cs (verbose): Likewise.
305
306 2004-11-24  Jambunathan K  <kjambunathan@novell.com>
307         * class.cs: Factored out classes - 1) GetMethod and SetMethod from
308         Property and 2) AddDelegateMethod and RemoveDelegateMethod from
309         Event respectively.
310         
311         * mb-parser.jay: Related changes.
312
313 2004-11-22  Jambunathan K  <kjambunathan@novell.com>
314         * enum.cs: Factored out a new class EnumMember from the existing
315         class Enum. Much of the functionality that existed in
316         Enum.LookupEnumValue() is now moved in to
317         EnumMember.DoDefineMember().
318
319         One significant departure from the previous Enum implmenentation
320         is that now the resolution of an EnumMember's value happens in the
321         EmitContext set up for the Enum.
322         
323         * attribute.cs: 
324         * expression.cs: Trivial changes related to the above change.
325
326 2004-11-22  Jambunathan K  <kjambunathan@novell.com>
327         * Makefile: Added new make target 'consolidate-test-results'.
328
329 2004-11-22  Jambunathan K  <kjambunathan@novell.com>
330         * Makefile: Run "make run-test" or "make run-test-ondotnet" to
331         exercise mbas test cases.
332
333         * testmbas: Moved the test files under this directory to Test/misc
334         where it rightfully belongs.
335
336 2004-11-17  Jambunathan K  <kjambunathan@novell.com>
337         * attribute.cs: Temporarily made Attribute.UnManagedType public.
338         
339         * class.cs: Removed the instance method
340         MethodCore.LabelParameters() and moved it's functionality to the
341         new instance methods Parameters.LabelParameters() and
342         Parameter.DefineParameter().
343         
344         * parameter.cs: Introduced new instance methods
345         Parameters.LabelParameters() and Parameter.DefineParameter() and
346         slightly improved Parameter.ApplyAttributeBuilder().
347         
348 2004-11-17  Jambunathan K  <kjambunathan@novell.com>
349         * mb-parser.jay: During multi-file compilation, global attributes
350         were not getting parsed properly. Fixed the same.
351         
352 2004/10/22 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
353         * mb-parser.jay : correcting global attributes handling, because it was 
354            issuing wrong warnings for trivial files like testmbas/WriteOK.vb.
355         * Makefile : adding testmbas/AssemblyInfo.vb to some test compilations 
356
357 2004-11-10  Jambunathan K  <kjambunathan@novell.com>
358         * attribute.cs: 1) Replaced the static method
359         Attribute.GetValidPlaces() with an equivalent instance method
360         Attribute.GetValidTargets() 2) Added new methods Attributes.Emit
361         () and Attribute.Emit(). 3) Migrated functionality of
362         ApplyAttributes to ApplyAttributeBuilder of respective classes.
363
364         * class.cs, decl.cs, codegen.cs, const.cs, parameter.cs :
365         Implemented ApplyAttributeBuilder() in the following classes:
366         TypeContainer, Constructor, Field, Property, Event, DeclSpace,
367         AssemblyClass, ModuleClass, Const, Method, Parameter.
368         
369         * codegen.cs: Implemented Emit() in the following classes:
370         AssemblyClass and ModuleClass.
371
372         The ApplyAttributeBuilder() is currently just a placeholder for
373         future code that is yet to come.
374
375 2004-11-09  Jambunathan K  <kjambunathan@novell.com>
376         * class.cs: Coalesced the functionality of Property and
377         PropertyBase in to Property class and removed the class
378         PropertyBase.
379
380
381 2004-11-09  Jambunathan K  <kjambunathan@novell.com>
382
383         * attribute.cs: Injected a new virtual property
384         Attributable.AttributeTargets
385
386         * decl.cs: Made MemeberCore a derived class of
387         Attributable.
388
389         * parameter.cs: Made Parameter a derived class of
390         Attributable.
391         
392         * class.cs: Commented out the "never used" class Indexer. I
393         suspect that the class will never be required in VB.NET context
394         and can possibly be stripped off after careful inspection.
395
396         * tree.cs, module.cs, interface.cs, enum.cs, delegate.cs,
397         const.cs, codegen.cs: Changes necessiated by the above changes.
398
399 2004-11-07  Jambunathan K  <kjambunathan@novell.com>
400         * typemanager.cs: Removed TypeManager.builder_to_attr which was
401         redundant and replaced LookupAttr with LookupClass.
402
403         * rootcontext.cs: 
404         * module.cs: Miscellaneous changes
405
406         * mb-parser.jay: Upadted actions of the attributes grammar
407
408         * codegen.cs: 1) Introduced new classes CommonAssemblyModulClass,
409         AssemblyClass, ModuleClass 2) Introduced following methods
410         CodeGen.AddGlobalAttributes, CodeGen.EmitGlobalAttributes
411
412         * class.cs: Factored out TypeContainer.AttributeUsage
413
414         * attribute.cs: 1) Factored out Attribute.UsageAttribute and
415         Attribute.GetAttributeUsage 2) Introducing the new base class
416         Attributable from which all Attributable types will be derived in
417         the future 3) Added new accessors Attribute.IsAssemblyAttribute
418         and Attribute.IsModuleAttribute
419
420 2004-11-06  Jambunathan K  <kjambunathan@novell.com>
421         * rootcontext.cs: Removed the static field -
422         RootContext:global_attribute.
423
424 2004-11-06  Jambunathan K  <kjambunathan@novell.com>
425         * class.cs: 
426         * attribute.cs: Removed the incomplete and (for now) unnecessary
427         Mono.MonoBASIC.Operator class. Let us bother about this later.
428
429         Stripping off these unused bits will help me in 1) refactoring the
430         mbas Attributes related code 2) reusing the code from the mcs code
431         base.
432         
433 2004-11-06  Jambunathan K  <kjambunathan@novell.com>
434         * class.cs: Removed the incomplete and (for now) unnecessary
435         operator methods. Let us bother about this later.
436
437 2004-11-06  Jambunathan K  <kjambunathan@novell.com>
438         * attribute.cs: Removed the redundant AttributeSection class and
439         moved it's functionality to Attributes class. 
440         * class.cs: 
441         * mb-parser.jay: 
442         * module.cs: Replaced references to AttributeSection with the equivalent constructs.
443         * rootcontext.cs: Removed the following unused methods
444         AddGlobalAttribute and AddGlobalAttributeSection.
445
446 2004-11-03 Anirban Bhattacharjee <banirban@novell.com>
447         * mb-parser.jay: Trivial fix for bug #68985
448
449 2004-11-04  Jambunathan K  <kjambunathan@novell.com>
450         * mb-parser.jay: Syntactic error handling for attribute grammar.
451
452 2004-10-25 Anirban Bhattacharjee <banirban@novell.com>
453         * statement.cs: VB .Net specific exception number
454
455 2004-10-25 Anirban Bhattacharjee <banirban@novell.com>
456         * mb-parser.jay: Enhanced catch grammar to accept
457                         'When' clause
458         * statement.cs: Changed Catch and Try classes accordingly
459                         to emit catch statement conditionally           
460
461 2004/10/22 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
462         * driver.cs : accept also -t:library as vbc does, besides /target:library
463
464 2004-10-21 Anirban Bhattacharjee <banirban@novell.com>
465         * statement.cs: Introduced few specific execptions
466                         Changed exception number
467
468 2004-10-21 Anirban Bhattacharjee <banirban@novell.com>
469         * statement.cs: A trivial fix to get Exit Try working 
470
471 2004-10-21  Jambunathan K  <kjambunathan@novell.com>
472         * typemanager.cs (LookupType, LookupTypeDirect): Added a negative
473         cache for failed type lookups (stolen from mcs' typemanager.cs).
474         mbas gets a performance boost of about 20 times due to this
475         change.
476
477         * driver.cs (MainDriver): Made the warning message a little less
478         scary and more inviting for first time users.
479
480 2004-10-19 Anirban Bhattacharjee <banirban@novell.com>
481         * mb-parser.jay: Enhanced For Each...Next statement grammar
482
483 2004-10-15 Anirban Bhattacharjee <banirban@novell.com>
484         * mb-parser.jay: Little improvement in For...next statement
485
486 2004-10-14 Anirban Bhattacharjee <banirban@novell.com>
487         * mb-parser.jay: For statement is enabled to take
488                 optional declaration of the counter variable.
489                 E.g. now for statement can be declared as
490                 For i as integer = 0 to 5
491                 End For
492
493 2004/10/08 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
494         * Makefile: added target 'profile', changed some sources in testmbas/ to use for that purpose.
495
496 2004-10-11 Anirban Bhattacharjee <banirban@novell.com>
497         * mb-parser.jay: More improvement in 'IF' statement
498
499 2004-10-11 Anirban Bhattacharjee <banirban@novell.com>
500         * mb-parser.jay: If statement is enabled to parse
501                 following type of statement
502                 If <condition> Then <statement> else <statement>
503
504 2004/10/08 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
505         * typemanager.cs: Changing StandardModule to use less memory, by doing string 
506                 concatenation only once. It was wasting 1 MB on the test case.
507
508 2004-10-06 Anirban Bhattacharjee <banirban@novell.com>
509         * mb-parser.jay: Added support for Call keyword in invocation statement
510
511 2004-10-01 Anirban Bhattacharjee <banirban@novell.com>
512         * ecore.cs: Bug fixing - when event raised from other assembly
513
514 2004-09-30 Anirban Bhattacharjee <banirban@novell.com>
515         * mb-parser.jay:
516         * statement.cs:
517                 Removed unused event_target field from
518                 AddHandler and RemoveHandler
519
520 2004-09-30 Anirban Bhattacharjee <banirban@novell.com>
521         * mb-parser.jay: RemoveHandler function made cleaner
522
523 2004-09-30 Anirban Bhattacharjee <banirban@novell.com>
524         * expression.cs:
525         * ecore.cs:
526                 Fix for resolution of event expression 
527                 when we have a AddHandler statement 
528                 like 
529                 AddHandler Me.E, AddressOf Me.EH
530                 Submitted by Raja Harinath<rharinath@novell.com>
531
532 2004-09-30 Anirban Bhattacharjee <banirban@novell.com>
533         * mb-parser.jay: Unnecessary to and fro conversion of types
534                         is removed from AddHandler function
535
536 2004-09-23 Anirban Bhattacharjee <banirban@novell.com>
537         * expression.cs: Enhanced mbas to resolve Default property or indexer
538
539 2004-09-21 Anirban Bhattacharjee <banirban@novell.com>
540         * mb-parser.jay: Fixed bug #66231 -
541          Now, Me.SubName, MyBase.SubName or any other qualified name 
542          is supported by AddressOf operator
543
544 2004-09-15 Anirban Bhattacharjee <banirban@novell.com>
545         * enum.cs: Made Enum member lookup case insensitive
546
547 2004-09-15 Anirban Bhattacharjee <banirban@novell.com>
548         * support.cs: Retrieving default value from another assembly in ReflectionParameters class
549
550 2004-09-15 Anirban Bhattacharjee <banirban@novell.com>
551         * class.cs: Support for enum in default constant value for optional parameters
552
553 2004-09-14 Anirban Bhattacharjee <banirban@novell.com>
554         * mb-parser.jay: Fixed exception number for type confliction in method parameter
555
556 2004-09-14 Anirban Bhattacharjee <banirban@novell.com>
557         * class.cs: Set default constant value for optional parameters in ParameterBuilder
558         * parameter.cs: Setting optional attribute
559                 These two fixes makes sure that optional parameter with default value get emitted correctly
560
561 2004-08-27 Anirban Bhattacharjee <banirban@novell.com>
562 2004-09-08 Bernie Solomon <bernard@ugsolutions.com>
563         * mb-parser.jay: fix CopyTo args when parsing parameters
564
565 2004-09-08 Bernie Solomon <bernard@ugsolutions.com>
566         * expression.cs: cope with ParamArray for no args
567         * mb-parser.jay: dump parsing exception with --stacktrace
568
569 2004/08/19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
570         * mb-parser.jay : some changes just not to stumble in global attributes definitions in multiple-lines 
571                 like we have in VS.NET generated AssemblyInfo.vb files. still need to really process that definitions like mcs does
572
573 2004-09-07 Bernie Solomon <bernard@ugsolutions.com>
574         * mb-parser.jay:
575         * mb-tokenizer.cs: first cut at implementing
576         op assign
577
578 2004-09-07 Bernie Solomon <bernard@ugsolutions.com>
579         * ecore.cs:
580         * enum.cs:
581         * expression.cs:
582         * mb-parser.jay:
583         * support.cs: work on improving overload resolution
584
585 2004-08-30 Bernie Solomon <bernard@ugsolutions.com>
586         * class.cs (FindMembers): filter on modflags
587         for constructors & constructors are never inherited
588
589         * decl.cs (SetupCache): constructors are not
590         inherited
591
592 2004-08-27 Anirban Bhattacharjee <banirban@novell.com>
593         * driver.cs: bug fixing - #63580
594
595 2004/08/19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
596         * testmbas/WriteOk.vb : Use Mono.GetOptions from VB.NET
597         * Makefile : exercise new option processing in test program [make-run-local target]
598
599 2004-08-26 Bernie Solomon <bernard@ugsolutions.com>
600         * mb-parser.jay: rework parsing of ParamArray parameters
601
602 2004-08-23 Bernie Solomon <bernard@ugsolutions.com>
603         * mb-parser.jay: cope with more varieties of array declarations
604
605 2004-08-20 Anirban Bhattacharjee <banirban@novell.com>
606         * statement.cs: Bug fixing - Prevent AddHandler from getting resolved second time. This is critical for ASP programs with VB.
607
608 2004-08-20 Anirban Bhattacharjee <banirban@novell.com>
609         * expression.cs: Bug fixing - reference to the current type is fixed during BaseAccess resolution
610
611 2004/08/19  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
612         * driver.cs : Some cleanup, also renamed checked option as it was removeintchecks in disguise
613
614 2004-08-18 Anirban Bhattacharjee <banirban@novell.com>
615         * mb-parser.jay: MyBase support in Handles clause e.g. 
616                                 Sub EH() Handles MyBase.E
617
618 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
619         * mb-parser.jay: Trivial fix (#63213)
620
621 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
622         * class.cs:
623         * typemanager.cs:
624                 -Bug fixed to resolve the ReadOnly properties from base class
625                 -Fixed bug in resolving properties from different assembly
626
627 2004-08-14 Bernie Solomon <bernard@ugsolutions.com>
628         * mb-parser.jay: fix block used as body of For Each
629
630 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
631         * expression.cs: Bug fixing for compiling VB script generated by ASP page - AddressOf operator in a method argument will resolve methods outside assembly
632
633 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
634         * class.cs: bug fixing to get PropertyE.vb test running - search of overridable property in base class was failing
635
636 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
637         * typemanager.cs: Little correction in my last checked-in code - removed unnecessary return value from ExpandAllInterfaces function
638
639 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
640         * class.cs: Trivial bug fixing to get test InterfaceB.vb going
641
642 2004-08-13 Rob Tillie <Rob.Tillie@student.tul.edu>
643         * ecore.cs: added runtime conversion from string to DateTime (fixes test 13329).
644         
645 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
646         * class.cs:
647         * typemanager.cs:
648         * pending.cs:
649                 Multiple interface inheritance implemented - fix for getting InheritanceD.vb working in bteasts         
650
651 2004-08-12 Anirban Bhattacharjee <banirban@novell.com>
652         * mb-parser.jay: Implements support in Abstract methods
653
654 2004-08-12 Anirban Bhattacharjee <banirban@novell.com>
655         * class.cs: Support for abstract method resolution
656         * pending.cs: Type of pending_implementations is set to base type
657                       Changed method names IsInterfaceIndexer and IsInterfaceMethod to IsAbstractIndexer and IsAbstractMethod respectively to make them more meaningful
658
659 2004-08-11 Bernie Solomon <bernard@ugsolutions.com>
660         * mb-parser.jay: first cut at TypeOf ... Is
661
662 2004-08-11 Bernie Solomon <bernard@ugsolutions.com>
663         * expression.cs:
664         * ecore.cs: More enum changes to handle
665         implicit conversions better
666
667 2004-08-11 Anirban Bhattacharjee <banirban@novell.com>
668         * mb-parser.jay: Interface inheritance made better
669
670 2004-08-09  Jambunathan K  <kjambunathan@novell.com>
671         * mb-parser.jay: Sanitized parser's generic error message 
672
673 2004-08-07 Anirban Bhattacharjee <banirban@novell.com>
674         * enum.cs: Enum members became enum type now, instead of underlying type
675
676 2004-08-07 Bernie Solomon <bernard@ugsolutions.com>
677         * mb-parser.jay: Implement GetType(x) 
678         implement Is as equals for the moment so it can be used
679
680 2004-08-07 Anirban Bhattacharjee <banirban@novell.com>
681         * mb-parser.jay: Check for empty enum declaration
682
683 2004-08-07 Anirban Bhattacharjee <banirban@novell.com>
684         * class.cs: 
685         * mb-parser.jay:
686                 Multiple Implements for a particular type member got implemented
687
688 2004-08-06  Bernie Solomon  <bernard@ugsolutions.com>
689
690         * support.cs: Make ReflectionParameter behave
691         like InternalParameter for byref args.
692         * expression.cs: Cope with byref args in
693         an imported DLL
694
695 2004-08-06  Jambunathan K  <kjambunathan@novell.com>
696         * mb-parser.jay: Changed expression grammar so that it now has a
697           better semblance to those defined in section 11 of VB.NET spec.
698           The 'expression' rule as it is now could possibly be buggy. So
699           another iteration is a must.
700
701 2004-08-06 Anirban Bhattacharjee <banirban@novell.com>
702         * mb-parser.jay: Small bug fix in Event grammar
703
704 2004-08-06 Anirban Bhattacharjee <banirban@novell.com>
705         * class.cs: Event still needed to have a constructor which takes value of Implements clause.
706         * mb-parser.jay: Passing Implements clause value to the constructor
707
708 2004-08-06 Anirban Bhattacharjee <banirban@novell.com>
709         * decl.cs:
710         * rootcontext.cs:
711                 Exception number made aligned to VB .net
712
713 2004-08-06 Anirban Bhattacharjee <banirban@novell.com>
714         * class.cs: Improvements in the implementation of Implements clause in Type members
715
716 2004-08-05 Anirban Bhattacharjee <banirban@novell.com>
717         * mb-parser,jay: Implements clause added to Event grammar
718
719 2004-08-05 Anirban Bhattacharjee <banirban@novell.com>
720         * mb-parser.jay: Interface event declaration grammar rewritten
721
722 2004-08-04 Anirban Bhattacharjee <banirban@novell.com>
723         * class.cs: Introduced check for valid interface name in Implements clause. 
724
725 2004-08-04  Jambunathan K  <kjambunathan@novell.com>
726         * mb-tokenizer.cs: 
727         * mb-parser.jay: 
728
729         1) Fixed the Attributes grammar starting with
730            opt_attributes. Introduced new rules starting with
731            opt_global_attributes rule - section 5.2 of VB.NET spec
732
733         2) Introduced new Tokens that correspond to reserved but unused
734            VB.NET keywords. Added some comments as appropriate in the
735            keywords hashtable of tokenizer - section 2.3 of VB.NET spec.
736
737         3) Corrected 'imports_term' - section 6.3.1 & 6.3.2 of VB.NET
738            spec.
739
740         4) Introduced opt_argument_list - section 5.2 of VB.NET spec
741
742         5) Corrected namespace_declaration - section 6.4.1 of VB.NET spec
743         
744
745 2004-08-04 Anirban Bhattacharjee <banirban@novell.com>
746         * mb-parser.jay: Added support for modifiers and attributes in interface member grammar
747
748 2004-08-04 Anirban Bhattacharjee <banirban@novell.com>
749         * mb-parser.jay: Property types made optional
750
751 2004-08-03 Anirban Bhattacharjee <banirban@novell.com>
752         * mb-parser.jay: Interface method and property grammar got changed
753                          Support for multiple implements in class 
754         * interface.cs: Interface class has got changed
755                         All other interface types have been removed
756         * class.cs: Property's Define and CheckBase method changed significantly to be in sync with Interface
757         * pending.cs: few related changes 
758         * attribute.cs: few related changes
759
760 2004/08/01  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
761         * mb-parser.jay : Some correction as pointed by Jambunathan, 
762                 to allow preprocessor directives after a label that may 
763                 leave it orphaned (without a explicit statement)
764         * testmbas/WriteOK.vb : some vb code to test this case
765
766 2004/08/01  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
767         * mb-parser.jay : Some correction as pointed by Jambunathan, 
768                 to allow intermixing preprocessor directives between 
769                 the label and it's associated statement
770
771 2004-08-02  Jambunathan K  <kjambunathan@novell.com>
772         * mb-tokenizer.cs: Oops. Also pulled out all of the old
773         pre-processor code that is no more used.
774
775 2004-08-02  Jambunathan K  <kjambunathan@novell.com>
776         * mb-tokenizer.cs: Fixed a bug where line nos were 
777         failing to get incremented when the line continuation 
778         character was appearing by itself on contiguous lines.
779         
780         * mb-parser.jay: Fixed the #ExternalSource actions
781         so that ExternalSourceDirectivesC4.vb compiles and 
782         reports source & line nos as expected.
783
784         * location.cs: Replaced the existing unintuitive, not
785         so efficient implementation of struct Location {} with 
786         the one available in mcs with one minor difference: The
787         number of bits reserved for a file index in the Token
788         is statically fixed at 8 bits.
789
790 2004/08/01  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
791         * mb-parser.jay : Revised patch from João Viegas for the labeled_statement accepting integer literals as labels
792
793 2004-07-30  Jambunathan K  <kjambunathan@novell.com>
794         * mb-parser.jay: Oops. Reversed unintended checkin.
795         * mb-tokenizer.cs: Added comment in Tokenizer() 
796         * mb-parser.jay: Fixed miscellaneous bugs in handling of 
797         pre-processor directives. There are two positive test 
798         cases that fail currently: ExternalSourceDirectivesC4.vb
799         and RegionDirectivesC1.vb
800
801 2004-07-30  Raja R Harinath  <rharinath@novell.com>
802
803         * mb-parser.jay (IfElseStateMachine.State, IfElseStateMachine.Token): 
804         Remove [Flags] attribute.
805
806 2004-07-30  Jambunathan K  <kjambunathan@novell.com>
807         * mb-parser.jay: 
808         * mb-tokenizer.cs: Added support for #region, #externalsource
809         and conditional compilation pre-processor directives.
810         Conditonal directives currently accept only boolean literals
811         as conditonal expressions. 
812         
813         * mb-parser.jay: The original checkin hits a bug in mcs but
814         compiles fine with csc. This checkin is to workaround the mcs
815         bug so that cvs builds are not broken.
816         
817         
818 2004/07/26  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
819         * mb-parser.jay : First try at SyncLock Statement #53230
820
821 2004-07-22 Anirban Bhattacharjee <banirban@novell.com>
822         * argument.cs:
823         * expression.cs:
824                 Little betterment in resolution of parameter with Addressof operator in method argument
825
826 2004-07-20 Anirban Bhattacharjee <banirban@novell.com>
827         * expression.cs: Resolution of fully qualified type names - bug fixed
828
829 2004-07-20 Anirban Bhattacharjee <banirban@novell.com>
830         * assign.cs: Added new argument to Expression.ConvertExplicit function call
831
832 2004-07-20 Anirban Bhattacharjee <banirban@novell.com>
833         * expression.cs: Fixed resolution of overloaded functions with delegate as parameter
834         * ecore.cs: Changes made to stop program getting into an endless loop on not able to cast types of source to destination object.
835         * statement.cs: Added new argument to Expression.ConvertExplicit function call
836
837 2004-07-18 Anirban Bhattacharjee <banirban@novell.com>
838         * argument.cs: Introduced AddressOf argument type for tracking AddressOf operator in method parameter
839         * expression.cs: A parameter with AddressOf operator will get converted to Delegate before overload resolution
840         * mb-parser.jay: Omitted two delegate creation expression grammar. This is now taken care by normal object creation expressions since Argument is capable of handling AddressOf operator now
841                 This is a fix for bug #59555
842
843 2004/07/15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
844         * driver.cs : Implemented support for -pkg to match mcs (bug #58673)
845
846 2004/07/15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
847         * driver.cs : started implementing -pkg support to match mcs (bug #58673), also corrected multiplicity for addmodule option
848
849 2004-07-13 Anirban Bhattacharjee <banirban@novell.com>
850         * driver.cs: Added support for AddModule compiler option
851         * typemanager.cs: AddModule function will now store list of Modules instaed of ModuleBuilders. This change has been made to get LoadModule function working of driver.cs.
852
853 2004-07-13 Anirban Bhattacharjee <banirban@novell.com>
854         * driver.cs: Compilation to module is supported now
855
856 2004-07-09 Anirban Bhattacharjee <banirban@novell.com>
857         * mb-parser.jay:
858         * class.cs:
859                 Default modifier for constructor is set to Public
860
861 2004-07-09 Anirban Bhattacharjee <banirban@novell.com>
862         * mb-parser.jay: Parentheses in method declarations made optional incase of empty parameter list. Thus, a method "Sub s()" can also be declared as "Sub s"
863
864 2004-07-07 Anirban Bhattacharjee <banirban@novell.com>
865         * expression.cs: bug fixed - 60399
866
867 2004-06-13 Anirban Bhattacharjee <banirban@novell.com>
868         * mb-parser.jay: Small correction in delegate declaration grammar
869
870 2004-06-13 Anirban Bhattacharjee <banirban@novell.com>
871         * mb-parser.jay: modified RemoveHandler function
872         * statement.cs: Added RemoveHandler statement class
873
874 2004-06-13 Anirban Bhattacharjee <banirban@novell.com>
875         * mb-parser.jay: Modified grammar for several syntax of AddressOf operator
876
877 2004/06/10  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
878         * typemanager.cs : GetPertinentStandardModules receives the array now with params modifier to help usage
879         * ecore.cs : correcting lookup of semi-qualified standard modules members - A little better but not there yet
880
881 2004-06-10 Anirban Bhattacharjee <banirban@novell.com>
882         * mb-parser.jay: Grammar added for RemoveHandler statement
883
884 2004-06-10 Anirban Bhattacharjee <banirban@novell.com>
885         * mb-parser.jay:
886         * expression.cs:
887                 Added support for statement like
888                         delgate_name = AddressOf sub_name
889
890 2004-06-09  Raja R Harinath  <rharinath@novell.com>
891
892         * Makefile (HAS_TEST): Remove.
893         (run-test-local): Move rule to and depend on ...
894         (run-mbas-test): ... this.
895
896 2004-06-08 Anirban Bhattacharjee <banirban@novell.com>
897         * mb-parser.jay:
898         * statement.cs:
899                 Few exception checks for Event
900
901 2004-06-07 Anirban Bhattacharjee <banirban@novell.com>
902         * mb-parser.jay: Resolved the problem in Sub statement with Handles cluse
903         * class.cs: Added a AddEventHandler function and a EventHandler readonly property. Also modified define of constructor to accommodate Handlers clause.          
904                     If one initialize a event handler as
905                         Sub Handler() Handles x.Event
906                     The handler will be initialized by the constructor of the corresponding class by calling AddHandler.
907
908 2004-06-04 Anirban Bhattacharjee <banirban@novell.com>
909         * mb-parser.jay: Modified WithEvents grammar    
910
911 2004-06-04 Anirban Bhattacharjee <banirban@novell.com>
912         * class.cs: - NotOverridable modifier support added to Property
913                     - Few overriding related checks put on Property
914  
915 2004-06-04 Anirban Bhattacharjee <banirban@novell.com>
916         * decl.cs: Check for duplicate member name within same container
917
918 2004-06-04 Anirban Bhattacharjee <banirban@novell.com>
919         * class.cs: changed exception number in event grammar
920
921 2004-06-03 Anirban Bhattacharjee <banirban@novell.com>
922         * mb-parser.jay: RaiseEvent grammar fixed to get it working
923
924 2004-06-03 Anirban Bhattacharjee <banirban@novell.com>
925         * driver.cs: fixed bug - 59540
926
927 2004-06-01 Anirban Bhattacharjee <banirban@novell.com>
928         * mb-parser.jay: Improved event declaration grammar
929
930 2004/05/31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
931         * AssemblyInfo.cs : Anirban is and author too
932
933 2004-05-27 Anirban Bhattacharjee <banirban@novell.com>
934         * delegate.cs:
935         * expression.cs:
936                 Few exception checks for delegete
937
938 2004-05-27 Anirban Bhattacharjee <banirban@novell.com>
939         * mb-parser.jay:
940         * delegate.cs:
941                 Few more fixes in delegate grammar              
942
943 2004-05-27 Anirban Bhattacharjee <banirban@novell.com>
944         * mb-parser.jay: Changed Delegate instantiation grammar to get it working
945
946 2004-05-26 Anirban Bhattacharjee <banirban@novell.com>
947         * mb-parser.jay:
948         * class.cs:
949                 Few property related checks applied
950
951 2004-05-24 Anirban Bhattacharjee <banirban@novell.com>
952         * class.cs: Check for ReadOnly and WriteOnly modifiers added to property
953
954 2004-05-24 Anirban Bhattacharjee <banirban@novell.com>
955         * mb-paresr.jay: Support for abstruct property is added
956
957 2004-05-24  Raja R Harinath  <rharinath@novell.com>
958
959         * Makefile (PROGRAM_INSTALL_DIR): Install mbas into
960         $(prefix)/lib/mono/1.0.
961
962 2004-05-10 Anirban Bhattacharjee <banirban@novell.com>
963         * mb-parser.jay: few Property related grammar changes
964
965 2004-05-14 Anirban Bhattacharjee <banirban@novell.com>
966         * mb-tokenizer.cs: Bug fixed - Got Property working
967
968 2004-05-10 Anirban Bhattacharjee <banirban@novell.com>
969         * mb-parser.jay: Support added for attaching Attributes in methods
970
971 2004/04/07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
972         * AssemblyInfo.cs : Correcting information and version number
973
974 2004-04-29 Anirban Bhattacharjee <banirban@novell.com>
975         * enum.cs: bug fixing - setting one enum member to another
976
977 2004-04-29 Anirban Bhattacharjee <banirban@novell.com>
978         * enum.cs:
979         * expression.cs:
980                 Implemented check for access modifier in enum
981
982 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
983
984         * typemanager.cs: Property.GetGetMethod() does not return the method if it
985         is private (it did until now because of a bug). Make sure it works as it 
986         worked before the fix.
987
988 2004-04-28 Anirban Bhattacharjee <banirban@novell.com>
989         * expression.cs: fixed bug to get enum running
990         * enum.cs: handling several negative scenarios 
991                    Changed several exception numbers
992         * assign.cs: Changed exception number
993
994 2004-04-26  Jackson Harper  <jackson@ximian.com>
995
996         * Makefile: Get libs from default profile directory.
997         
998 2004-04-23 Anirban Bhattacharjee <banirban@novell.com>
999         * mb-parser.jay: Grammar changes for array
1000         * expression.cs: exception number changed for "Incorrectly structured array initializer" exception
1001
1002 2004-04-17 Anirban Bhattacharjee <banirban@novell.com>
1003         * mb-parser.jay:
1004         * class.cs:
1005         * const.cs
1006                 a little better structure grammar
1007
1008 2004-04-16 Anirban Bhattacharjee <banirban@novell.com>
1009         * mb-parser.jay: few clean-ups
1010
1011 2004-04-16 Anirban Bhattacharjee <banirban@novell.com>
1012         * class.cs: Duplicate entry point exception number changed
1013                     Checked delaration of Types, fields, methods as Protected if they are member of Module type
1014         * const.cs: Checked delaration of constructor as Protected if it is member of Module type
1015         * driver.cs: exception number is changed for "Entry point does not exist" exception
1016
1017 2004-04-15 Anirban Bhattacharjee <banirban@novell.com>
1018         * mb-parser.jay: Classes can't be delared static impicitly as other module members
1019
1020 2004-04-15 Anirban Bhattacharjee <banirban@novell.com>
1021         * class.cs: Couple of bug fixes in defining default static constructor, partially imposed by the fix earlier
1022
1023 2004-04-14 Anirban Bhattacharjee <banirban@novell.com>
1024         * class.cs: Added support for Shadows modifier in Variables
1025
1026 2004-04-14 Anirban Bhattacharjee <banirban@novell.com>
1027         * const.cs: Added support for Shadows modifier in constant
1028
1029 2004-04-14 Anirban Bhattacharjee <banirban@novell.com>
1030         * expression.cs: Removed the check which was stoping type instances to access the shared variables
1031
1032 2004-04-14 Anirban Bhattacharjee <banirban@novell.com>
1033         * modifiers.cs: changed exception number for invalid modifiers exception
1034
1035 2004-04-13 Anirban Bhattacharjee <banirban@novell.com>
1036         * mb-parser.jay: Removed 'static_constructor_declaration' - this is not required as 'constructor_declaration' implementation is good enough to handle static constructors too
1037         * class.cs: Handling couple of negative scenarios related to static constructors and bug fixes
1038
1039 2004-04-13 Anirban Bhattacharjee <banirban@novell.com>
1040         * class.cs: Couple of negative scenario handling
1041
1042 2004-04-13 Anirban Bhattacharjee <banirban@novell.com>
1043         * mb-parser.jay: Few clean-up
1044
1045 2004-04-12 Anirban Bhattacharjee <banirban@novell.com>
1046         * mb-parser.jay: Bug fixed - Base class ctor was getting called twice when called explicitly from the derived class ctor as MyBase.New
1047
1048 2004-04-12 Anirban Bhattacharjee <banirban@novell.com>
1049         * mb-parser.jay: Fixed bugs for calling ctor from another ctor in the same class by using statments like
1050                 Me.New 
1051                 or 
1052                 MyClass.New
1053
1054 2004/04/07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1055         * mb-tokenizer.cs : Better error message when dealing with date literals
1056
1057 2004-04-06 Anirban Bhattacharjee <banirban@novell.com>
1058         * class.cs:
1059         * ecore.cs:
1060         * expression.cs:
1061         * modifiers.cs:
1062         Changed/added serveral Accessibility related expections 
1063
1064 2004-04-05 Anirban Bhattacharjee <banirban@novell.com>
1065         * class.cs:
1066         * decl.cs:
1067         * expression.cs:
1068         * pending.cs: 
1069         Several error messages and numbers are changed in all the above four classes
1070
1071 2004-04-04 AnirbanBhattacharjee <banirban@novell.com>
1072         * delegate.cs: changed default access modifier
1073         * enum.cs: changed default access modifier
1074         * interface.cs: changed default access modifier
1075         * modifiers.cs: extension of bug fixed for getting NotOverridable modifier working for methods
1076
1077 2004-04-04 AnirbanBhattacharjee <banirban@novell.com>
1078         * class.cs: Changed exception messages and their numbers to align better with VB
1079                     Changed default access modifier of method to Public
1080                     Bug fixed to get NotOverridable modifier working
1081         * decl.cs:  Changed exception messages and numbers
1082
1083 2004-03-25 Anirban Bhattacharjee <banirban@novell.com>
1084         * class.cs: bug fixing - creating default constructor when no constructor is specified
1085         Few modifiers are changed to align with Vb
1086
1087 2004/03/22  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1088         * typemanager.cs :  being more carefull with null arguments in some places, 
1089                                                 null checking in GetPertinentStandardModules() loop
1090         * namespace.cs : a helper ToString override 
1091         * ecore.cs : Dealing with finding more than a pertinent standard module having a global member
1092         * testmbas/WriteOk.vb : Exercising correct standard module resolution
1093     NOTE: Almost there for Bug #52067 - just the semi-qualified case isn't working 
1094
1095 2004-03-23 Anirban Bhattacharjee <banirban@novell.com>
1096         * mb-parser.jay: handled implicit static modifier for module members in const
1097         * const.cs: changed supported modifiers
1098
1099 2004-03-23 Anirban Bhattacharjee <banirban@novell.com>
1100         * modifiers.cs: Return name of the modifiers' changed to vb specific
1101
1102 2004/03/22  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1103         * ecore.cs : now it gets the correct list of namespaces in scope (either imported or current) Almost there for Bug #52067 
1104
1105 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1106         * mb-parser.jay: One more negative scenario is addressed in const grammar
1107
1108 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1109         * const.cs: Change type of constant to the type of its value if no explicit type declaration found
1110
1111 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1112         * mb-parser.jay: Grammar for declaring constant inside block is changed
1113
1114 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1115         * const.cs: Changed exception numbers
1116
1117 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1118         * mb-parser.jay: Changed grammar for constant
1119
1120 2004/03/02  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1121         * mb-tokenizer.cs : handling better linebreak, specially when delaing with literals and preprocessing directives 
1122
1123 2004-03-16 Anirban Bhattacharjee <banirban@novell.com>
1124         * mb-parser.jay: 
1125                 - changed variable declaration grammar and added support for multiple variables declartion under single type e.g. dim x, y as integer
1126                 - added few exception checks in variables
1127                 - added one exception check in property
1128         
1129 2004/03/02  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1130         * sourcebeingcompiled.cs : new source/class to hold things previously contained in namespaces.cs 
1131                         because in C# they were semantically tied to nested namespaces, and in VB.NET 
1132                         they can occur only once per file.
1133         * mbas.exe.sources: added sourcebeingcompiled.cs
1134         * mb-parser.jay: reference RootContext.Sourcebeingcompiled things
1135         * namespace.cs: move pieces to sourcebeingcompiled
1136         * rootcontext.cs: use SourceBeingCompiled class
1137         * decl.cs: reference RootContext.Sourcebeingcompiled things
1138
1139 2004-03-02 Anirban Bhattacharjee <banirban@novell.com>
1140         * mb-tokenizer.cs: Support for '-' delimiter in DateTime
1141
1142 2004-03-02 Anirban Bhattacharjee <banirban@novell.com>
1143         * report.cs: Formatted warning thrown
1144
1145 2004-03-02 Anirban Bhattacharjee <banirban@novell.com>
1146
1147         * class.cs
1148         * decl.cs
1149         * modifiers.cs
1150         * mb-parser.jay
1151         Added Overloads and Shadows modifiers to Function and Sub
1152         Fixed few other modifier related problems in Function and Sub
1153
1154 2004-01-07  Nick Drochak <ndrochak@ieee.org>
1155
1156         * genericparser.cs:
1157         * mb-tokenizer.cs: 
1158         * row.cs: Eliminate warnings about unused variables.
1159
1160 2004/01/06  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1161         * typemanager.cs :      correcting translation of System types to language types, 
1162                         also temporarily circunventing a exception in ModuleBuilder.GetType inside LookupTypeReflection,
1163                         corrected many ` characters to ' in error messages
1164         * testmbas/WriteOK.vb : testing newly implemented IsNumeric global function
1165
1166 2004-01-04  David Sheldon <dave-mono@earth.li>
1167
1168   * expression.cs: Added matching ")" to error message for 
1169   CS0077
1170
1171 2003/12/23  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1172         * driver.cs : added stubs for options "/netcf /sdkpath:path"
1173         * namespace.cs, decl.cs, rootcontext.cs : use hashtable to avoid duplicate importation of namespaces 
1174           (especially between command-line option /imports and explicit Import clauses), what manifested itself as
1175           error messages for ambiguous names that where in truth identical
1176         * statement.cs : trying to fix the 'exit' statement DoEmit, for "Exit Sub"
1177         * mb-parser.jay, mb-tokenizer.cs : initial support for type_characters (dim az$ = dim az as string)
1178
1179 2003/12/18  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1180         * class.cs : case-sensitiveness when tracking the entry-point removed
1181         * driver.cs : IsSWFApp would try to pass a null 'mainclass' to the hashtable indexer, throwing an exception
1182                 (even for correct programs because of the bug above). Now this condition is tested before
1183
1184 2003/12/06  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1185         * ecore.cs : problems trying to implicit convert OMITTED arguments, solved
1186         * mb-tokenizer.cs, mb-parser.jay, typemanager.cs : support for the date primitive type and date literals
1187         * testmbas/WriteOK.vb: testing date type and date literal
1188
1189 2003/11/12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1190         * driver.cs : /imports option now is implemented
1191         * mb-parser.jay: support for pre-imported namespaces (the default Microsoft.VisualBasic and those from /imports)
1192         
1193 2003/11/12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1194         * mb-tokenizer.cs : integer literal (Hex starts with &H not 0x), handle Octal literals (&O)
1195         *       handle unicode specialized double-quotes in string literals     
1196         *       corrected some mishandling of conversions in numeric literals
1197         *       implemented support for char literals ("z"c)
1198         * Makefile : verbose target uses verbose argument
1199         * testmbas/WriteOK.vb: many tests for literals implemented
1200         * literal.cs: correcting lack of a ShortLiteral class
1201         * mb-parser.jay: removed support for unsigned int literals, added support for short int literals
1202         
1203 2003/11/10  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1204         * *.cs, mb-parser.jay: Switched all from defining/using namespace Mono.CSharp to Mono.MonoBASIC 
1205         * location.cs: SymbolDocument now returns a SymbolDocumentWriter using the right (SymLanguageType.Basic) GUID
1206         
1207 2003/10/17  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1208         * genericparser.cs: 
1209             Don't print exception when a file is not found to be parsed
1210                 File extensions not matched are now processed with the default parser
1211                 Better handle file/directory not found exceptions, and use Report.Error in that case
1212         * added defaultparserattribute.cs
1213         * mb-parser.jay : Mono.MonoBASIC.Parser is now the [DefaultParser]
1214         * location.cs version 1.4 recovered (Marco Ridoni had it overwritten with an older version)
1215         * mb-tokenizer.cs, rootcontext.cs, tree.cs: Location constructor needs column number now
1216
1217 2003/09/17  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1218         * .cvsignore: WHOOPS
1219
1220 2003/09/17  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1221         * .cvsignore: some more files to ignore
1222
1223 2003/09/17  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1224         * mb-tokenizer.cs, driver.cs: Back to Linux line-endings, SORRY
1225
1226 2003/09/16  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1227         * Makefile: corrected testing in Windows/Cygwin (from mbas.exe to ./mbas.exe), because it was getting the installed compiler instead of the compiled one
1228         * mb-tokenizer.cs: Redoing: Preprocessor directives must be case-insensitive (many .ToLower() used)
1229         * driver.cs: No more 'linkpaths' option, use 'libpath' instead
1230
1231 2003/09/15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1232         * driver.cs: Corrected handling of FileNotFoundException in LoadAssembly(), according to Bernie Solomon's patch
1233
1234 2003/08/13  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1235         * mb-parser.jay: ReDim statement parses many variables now (but initializers aren't allowed)
1236                                          Erase statement implemented
1237                                          Lots of garbage (never reduced rules) deleted
1238                                          Reduce/Reduce problems eliminated (where due to having opt_modifiers duplicated inside property_declaration rule)
1239         * statement.cs : class Redim is prepared to have ReDim Preserve copying code called,
1240                                          but we need to check if that code is lying in Microsoft.VisualBasic.dll
1241                                          New class Erase
1242
1243 2003-07-26  Ben Maurer  <bmaurer@users.sourceforge.net>
1244         
1245         * statement.cs: Make Math.XXX System.Math.XXX, to fix the build.
1246         
1247 2003-07-20  Peter Williams  <peter@newton.cx>
1248
1249         * Makefile: Remove the test target which conflicted with
1250         the global target. (Change confirmed with Rafael.)
1251
1252 2003-04-02  Duncan Mak  <duncan@ximian.com>
1253
1254         * mb-parser.jay: Temporarily remove the references to
1255         Class.MustOverride to fix the build.
1256
1257 2003/03/29  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1258         * mb-parser.jay: corrected some module related rules
1259         * location.cs : now handles column information
1260         
1261 2003/03/11  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1262         * makefile.gnu : use $RUNTIME for all targets
1263                                          actually run the compiled program on 'test-gtk' target 
1264         * mb-tokenizer.cs : no escaping of chars allowed in VB.NET (old mcs code removed)
1265                                                 handle doubled-doublequotes (VB idiom to escape a doublequote) 
1266         
1267 2003/03/04  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1268         * mb-parser.jay: added rule for Imports with alias
1269         * mb-parser.jay: Friend (internal) modifier was missing,
1270                                          Shared modifier was expecting Static token erroneously
1271                                          Modules must accept only a static constructor rule added
1272                                          Constant declaration rule added
1273         * makefile & makefile.gnu : actually run the compiled program on test target 
1274
1275 2003/03/03  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1276         * mb-tokenizer.cs : new semi-keywords: Compare, Explicit, Strict, On, Off, Binary, Text
1277         * mb-parser.jay: tokens for above semi-keywords, and rules for option directives
1278         * driver.cs: integrates command line options with parser flags for option directives
1279         * makefile & makefile.gnu : added 'verbose' target that uses --verbose switch to compile 
1280           the test source and pipes it through 'less', also added a Extended Syntax source
1281
1282 2003/02/22  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1283         * class.cs : As, per vbc, there is a rootnamespace now, --main wasn't working anymore, 
1284                                  because it was expecting a fully qualified class name. 
1285                                  We now also test the name passed prepended by the rootnamespace.
1286         * class.cs : Corrected warning "The keyword new is required on `Mono.CSharp.Property.Emit'
1287                                  because it hides inherited member `PropertyBase.Emit'", by making it virtual
1288                                  in PropertyBase and override in Property.
1289         * makefile.gnu : test and test-gtk targets now depend on mbas.exe
1290                                  
1291
1292 2003/02/19  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1293         * mb-parser.jay : eliminated reduce/reduce conflict on duplicated rank_specifier rule
1294           by renaming the one using brackets to bracketed_rank_specifier
1295
1296 2003/02/12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1297         * added argument.cs (extracted from expression.cs) makefiles corrected
1298         * mb-parser.jay : eliminated reduce/reduce conflict on opt_argument_list rule, 
1299           by putting and if to make a argument list with just an empty argument list become an empty list
1300
1301 2003/02/03  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1302         * rootcontext.cs : added RootNamespace member
1303         * mb-parser.jay : use RootContext.RootNamespace to initialize outermost namespace
1304         * driver.cs : 
1305                 - implement rootnamespace parameter, and defaults it to the output file name
1306                 - like vbc if no source file name is provided just show help
1307
1308 2003/01/22  Nick Drochak <ndrochak@gol.com>
1309         * makefile: Use csc compiler in here. makefile.gnu assumes mono/mcs
1310
1311 2003-01-13  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1312         * added cleanup method to tokenizer as needed but modifications made in jay
1313
1314 2003-01-12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1315         * changed test target in makefile work
1316         * corrected authors list to include Marco
1317
1318 2002-10-23  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1319         * merged many sources from mcs/mcs, to resync
1320
1321 2002-10-20  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1322         * using Mono.GetOptions preliminar support for response files, 
1323           changed the makefile target 'test' for use o response file testmbas/filelist
1324
1325 2002-10-20  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1326         * merged many sources from mcs/mcs, to resync
1327
1328 2002-10-05  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1329         * merged many sources from mcs/mcs, to resync
1330
1331 2002-08-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1332         * merged many sources from mcs/mcs, to resync
1333
1334 2002-09-03  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1335         * integrated new version of Mono.GetOptions (reflection/attributes-based)
1336
1337 2002-08-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1338         * merged expression.cs from mcs/mcs, to resync
1339
1340 2002-08-29  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1341         * merged assign.cs, attribute.cs, class.cs, codegen.cs, const.cs, decl.cs, delegate.cs, ecore.cs, enum.cs,
1342         expression.cs, interface.cs, pending.cs, report.cs, rootcontext.cs, statement.cs, support.cs and 
1343         typemanager.cs from mcs/mcs, to resync
1344
1345 2002-08-06  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1346         * added "test" target to makefile
1347         * merged assign.cs, attribute.cs, cfold.cs, class.cs, codegen.cs, const.cs, constant.cs, 
1348           decl.cs, delegate.cs, ecore.cs, enum.cs, expression.cs, interface.cs, modifiers.cs, parameter.cs, 
1349           pending.cs, report.cs, rootcontext.cs, statement.cs, support.cs and typemanager.cs from mcs/mcs, to resync
1350
1351 2002-07-14  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1352         * merged assign.cs, class.cs, ecore.cs, expression.cs, statement.cs and typemanager from mcs/mcs, to resync
1353
1354 2002-07-09  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1355         * merged attribute.cs, ecore.cs, namespace.cs and statement.cs from mcs/mcs, to resync
1356
1357 2002-07-06  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1358         * merged attribute.cs, class.cs, codegen.cs, ecore.cs, expression.cs, 
1359           modifiers.cs, namespace.cs, report.cs, rootcontext.cs, statement.cs and typemanager.cs from mcs/mcs, to resync
1360         * changed driver.cs to follow mcs lead on error/warning counting and reporting
1361
1362 2002-06-23  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1363         * merged attribute.cs, class.cs, ecore.cs, rootcontext.cs, support.cs and typemanager.cs from mcs/mcs, to resync
1364         * makefile makes csc reference a copy of Mono.GetOptions.dll (mbas.sln now compiles to mbas dir instead of mbas/bin/Debug)
1365
1366 2002-06-21  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1367         * merged attribute.cs, class.cs, interface.cs, expression.cs, ecore.cs, 
1368           modifiers.cs, rootcontext.cs, statement.cs and typemanager.cs from mcs/mcs, to resync
1369         * added pending.cs from mcs/mcs, to resync
1370
1371 2002-06-15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1372         * merged assign.cs, attribute.cs, enum.cs and namespace.cs from mcs/mcs, to resync
1373         * namespace.cs needed some fixing, because CSharpParser isn?t available
1374
1375 2002-06-15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1376         * merged delegate.cs, ecore.cs, typemanager.cs and rootcontext.cs from mcs/mcs, to resolve expression.cs blues
1377
1378 2002-06-15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1379         * oops merged expression.cs from mcs/mcs is breaking my make
1380         * driver.cs, assemblyinfo.cs wasn?t ready for prime time (offending lines were commented out)
1381
1382 2002-06-15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1383         * merged expression.cs from mcs/mcs
1384
1385 2002-06-12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1386         * corrected Module.TypeAttr property getter in module.cs
1387         
1388 2002-06-12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1389         * merged typemanager.cs from mcs/mcs
1390
1391 2002-06-10  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1392         * merged expression.cs and interface.cs from mcs/mcs
1393
1394 2002-06-09  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1395         * merged const.cs, enum.cs, expression.cs and typemanager.cs from mcs/mcs
1396     * comments on module.cs
1397
1398 2002-06-07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1399         * merged class.cs, attribute.cs from mcs/mcs
1400
1401 2002-06-07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1402         * merged class.cs, enum.cs, expression.cs, interface.cs, rootcontext.cs and typemanager.cs from mcs/mcs
1403         * added module.cs (class Mono.MonoBASIC.Module - derived from Mono.CSharp.Class)
1404         * added System.XML and Microsoft.VisualBasic to the default config (driver.cs)
1405         
1406 2002-06-07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1407         * merged class.cs and ecore.cs from mcs/mcs
1408
1409 2002-06-02  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1410         * copied methods MakeName and CheckDef from mcs\cs-parser.jay to GenericParser.cs 
1411           where they are inherited by mb-parser.jay/cs
1412         * put some code on the Module rule in mb-parser.jay to at least generate a class in the assembly,
1413           if I jump over the entry-point check code, while debugging
1414         
1415 2002-05-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1416         * class Mono.MonoBASIC.Tokenizer now handles 
1417                 - all valid line-terminators (CR, LF, CRLF, LS and PS)
1418                 - escaped identifiers (like [Integer])
1419                 - old-fashioned comments syntax (REM Blah-Blah)
1420
1421 2002-05-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1422         * modified mbas.ico to be a small version of mono?s logo (see mcs\MonoIcon.png)
1423
1424 2002-05-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1425         * squashed some reduce/reduce conflicts out of mb-parser.jay
1426
1427 2002-05-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1428         * merged codegen.cs from mcs
1429         * altered Driver.cs to work with new codegen.cs
1430
1431 2002-05-27  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1432
1433         * merged all I could from mcs source files into mbas
1434         * added VS.NET Solution and Project Files for mbas
1435         * added icon file and a vb-sources-filled testmbas directory
1436         * started this ChangeLog