2005-08-04 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
[mono.git] / mcs / mbas / ChangeLog
1 2005-08-04  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
2         * statement.cs:  Refactored code/fields from Redim to RedimClause 
3         so that it works for multiple arrays being redimensioned in the same statement 
4         * mb-parser.jay: redim_clauses rule was losing additional items
5
6 2005-08-04  Aldo Monteiro <aldo@psl-pr.softwarelivre.org>, 
7         Renato Suga <renato@psl-pr.softwarelivre.org>
8         * mb-parser.jay: treatment of opt_type_spec in redim_clause
9         * statement.cs: changed constructor in class RedimClause so that it gets
10         an Expression. Report.Error now emits the line number too for ReDim
11         errors. New attribute in RedimClause: Expression ExprAs 
12
13 2005-08-04 Maverson Eduardo Schulze Rosa <maverson@gmail.com>
14         * mb-parser.jay: Fix local static variables initialization
15         
16 2005-07-29 Satya Sudha K <ksathyasudha@novell.com>
17         * mb-parser.jay, expression.cs: Fixed concat operation with compound assign statements
18         * support.cs : Returning 'NullLiteral.Null', when a parameter default value is null
19
20 2005-07-22 Maverson Eduardo Schulze Rosa <maverson@gmail.com> and Alexandre
21 Rocha Lima e Marcondes <alexandre@psl-pr.softwarelivre.org>
22         * block.cs: Local variable alias and static flag  support and
23           MethodBlock class that knows the name of the Method that owns it
24         * class.cs: Static local specialname modificator emission
25         * expression.cs: Hidden static field access using the static local
26           alias
27         * statement.cs: Local variable alias support and Static local flag
28         * mb-parser.jay: Static local identification and related erros
29         
30         
31 2005-07-26 Ankit Jain <jankit@novell.com>
32
33         * typemanager.cs (TypeManager): Change types of system_*_expr from Expression
34           to TypeExpr.
35           (TypeToCoreTypExpr): New.
36         * ecore.cs (DecoratedIdentifier): New. For an identifier with a typecharacter.
37         * mb-tokenizer.cs: Allow type characters for numbers.
38         * constant.cs (IntConstant.ConvertToDecimal): New.
39           (DoubleConstant.ConvertToFloat): Return FloatConstant.
40           (DoubleConstant.ConvertToDecimal): New. 
41         * mb-parser.jay (type_character): Return Type instead of TypeExpr.
42           (primary_expression): Add 'literal type_character' variant.
43                 (qualified_identifier) : Use DecoratedIdentifier in case of a typecharacter.
44           (ConvertLiteral): New. Convert literal to a different type.
45
46 2005-07-25 Ankit Jain <jankit@novell.com>
47
48         * mb-parser.jay: RaiseEvent: Add code to check for null event.
49
50 2005-07-22 Maverson Eduardo Schulze Rosa <maverson@gmail.com>
51         * block.cs: Fix dead code detection
52  
53 2005-07-22 Satya Sudha K <ksathyasudha@novell.com>
54         * mb-tokenizer.cs: Fix for statements ending with ':'
55
56 2005-07-22 Manjula GHM <mmanjula@novell.com>
57         *mb-parser.jay: Check for type before resolving
58         
59 2005-07-22 Ankit Jain <jankit@novell.com>
60
61         * mb-parser.jay: evt_handler_list: New.
62           opt_evt_handler, sub_declaration: Support multiple event handlers.
63
64 2005-07-21 Manjula GHM <mmanjula@novell.com>
65         *assign.cs: Support conversions in "new" assignment statement
66
67 2005-07-21 Satya Sudha K <ksathyasudha@novell.com>
68         * Support method invocation without '()'
69
70 2005-07-21 Manjula GHM <mmanjula@novell.com>
71         *assign.cs: Support conversions in "new" assignment statement
72
73 2005-07-21 Manjula GHM <mmanjula@novell.com>
74         * mb-parser.jay: Support type specifier for "ReDim" statements
75
76 2005-07-18 Satya Sudha K <ksathyasudha@novell.com>
77         * Supported overloading of properties (has to be tested thoroughly)
78
79 2005-07-13 Maverson Eduardo Schulze Rosa <maverson@gmail.com>
80         * mb-parser.jay:
81         * block.cs: Support and successfully find goto target labels
82         declared out of block that contains the goto statement.
83
84 2005-07-13 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
85         *statement.cs: extract class Block into new source block.cs
86         *mbas.exe.sources: added newly extracted block.cs
87         *block.cs: eliminated "block.cs(252) warning CS0219: The variable 'cur' is assigned but its value is never used"
88
89 2005-07-12 Manjula GHM <mmanjula@novell.com>
90         * parameter.cs , ecore.cs : Changed error number and message according to .NET
91
92 2005-07-12 Manjula GHM <mmanjula@novell.com>
93         * cfold.cs: Support 'Nothing' for Constants.
94                  Added exception        
95                 
96 2005-07-07 Manjula GHM <mmanjula@novell.com>
97         * mb-parser.jay: To avoid Array modifiers specified on both a variable and its type
98
99 2005-07-06 Umadevi S <sumadevi@novell.com>
100         * statement.cs - suppressing warnings due to unused variables in mbas compiler.
101
102 2005-07-05 Umadevi S <sumadevi@novell.com>
103         * expression.cs - added support to handle DBNull
104
105 2005-06-30:5 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
106         *ecore.cs: some tentative code preparing to support automatic definition of variables
107         on first usage with Option Explicit Off commented out as it breaks on emit phase, and 
108         guesses wrong what should be automatically defined
109
110 2005-06-30:4 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
111         *statement.cs: some tentative code preparing to support automatic definition of variables
112         on first usage with Option Explicit Off. Converting backticks to apostrophes on messages
113
114 2005-06-30:3 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
115         *mb-parser.jay: small bits preparing to support automatic definition of variables
116         on first usage with Option Explicit Off
117         
118 2005-06-30:2 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
119         *assign.cs: Killed exception occurring when resolving an assignment 
120         to an undefined symbol (Explicit On scenario)
121
122 2005-06-30 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
123         *mb-parser.jay: Eliminating 'reduce/reduce conflicts' and 'rule never reduced'
124         by simplifying the directive_expression rule (formerly directive_exp).
125
126 2005-06-30 Manjula GHM <mmanjula@novell.com>
127         *mb-parser.jay: To support signed exponent
128
129 2005-06-30 Manjula GHM <mmanjula@novell.com>
130         *mb-tokenizer.c : Support hexadecimal literals - supports binary value 
131         of the integer literal - like &H8000S is "-32768" and not an overflow exception
132
133 2005-06-28 Manjula GHM <mmanjula@novell.com>
134         *class.cs : Support suitable property to override
135
136 2005-06-27 Manjula GHM <mmanjula@novell.com>
137         * mb-parser.jay:
138         *statement.cs: Support and successfully find label definition inside child block
139
140 2005-06-23 Manjula GHM <mmanjula@novell.com>
141         *mb-parser.jay: Clear the hashtable in end of block
142
143 2005-06-23 Manjula GHM <mmanjula@novell.com>
144         *mb-parser.jay: To disallow reassignment of object inside 'With...End With' block
145
146 2005-06-13 Manjula GHM <mmanjula@novell.com>
147         *statement.cs: To handle Goto in Try, Catch block
148
149 2005-06-10 Manjula GHM <mmanjula@novell.com>
150         *assign: To Support other types of source in Mid statement
151
152 2005-06-10 Manjula GHM <mmanjula@novell.com>
153         *assign: To Support Optional Max. Insert length value in Mid statement
154
155 2005-06-10 Manjula GHM <mmanjula@novell.com>
156         *assign.cs: Allow New Date assignment to other types
157
158 2005-06-08 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
159         * AssemblyInfo.cs : 
160                 - Added informational attributes that Mono.GetOptions shows in the help screen.
161                 - Bumped up the version number a bit 
162         
163 2005-06-07 Satya Sudha K <ksathyasudha@novell.com>
164         * class.cs : Disallowing default properties without parameters.
165         * Some cleanups in other files to get rid of warnings.
166
167 2005-06-03 Satya Sudha K <ksathyasudha@novell.com>
168         * expression.cs : Allowing '()' for property invocation with no args.
169         * typemanager.cs : 
170                 - Caching a property's arguments (as 'NoTypes') while registering a property
171                 - If a name resolves to a field as well as a property, treat it as a field
172                 - If a name resolves to a field as well as a event, giving preference to event
173         * parameters.cs : Case-insensitive search/comparison of parameter/arg names
174
175 2005-05-30 Satya Sudha K <ksathyasudha@novell.com>
176         * statement.cs : 'For Each' statement : Wrapping the body of the For loop inside an exception block 
177                          if the enumerator implements 'IDisposable' interface
178
179 2005-05-27 Satya Sudha K <ksathyasudha@novell.com>
180         * statement.cs :
181         * mb-parser.jay :
182                 - Supporting all kinds of case clauses (like 'A To B', 'Is >= 30')
183                 - Expressions of all primitive types can now be specified as 'Select' 
184                   and 'Case' expressions
185
186 2005-05-27 Manjula GHM <mmanjula@novell.com>
187         * mb-parser.jay : To support "Sub New()" without modifier       
188
189 2005-05-26 Manjula GHM <mmanjula@novell.com>
190         * typemanager.cs : Fix Enum conversion for two level assignment and added few more cases
191
192 2005-05-26 Manjula GHM <mmanjula@novell.com>
193         * statement.cs : Fix problem w.r.t 'Exit Sub' 
194
195 2005-05-24 Satya Sudha K <ksathyasudha@novell.com>
196         * statement.cs : Added few more members like 'memberName' and 'type_expr' to the 'StatementSequence'
197                          class. Added an appropriate constructor for the same.
198         * expression.cs: Late binding for method invocations involving object arguments
199                          
200
201 2005-05-23 Satya Sudha K <ksathyasudha@novell.com>
202         * statement.cs : Copying back the arguments (matching 'ByRef' parameters) in the reverse 
203                          order (starting with the last argument backwards) as done by vbc
204
205 2005-05-23 Satya Sudha K <ksathyasudha@novell.com>
206         * statement.cs : Support named arguments in late binding
207
208 2005-05-17 Satya Sudha K <ksathyasudha@novell.com>
209         * ecore.cs : Removed char <-> numeric/date conversions as they are not supported in vbc
210
211 2005-05-17 Satya Sudha K <ksathyasudha@novell.com>
212         * expressions.cs :
213                 - Disallowing named arguments for 'ParamArray' parameters
214                 - Creating named arguments (to replace missing arguments), in case other arguments are also named
215
216 2005-05-16 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
217         * driver.cs : correcting/refactoring EntryPoint fixing as per #74955
218                 adjusting references changed by Gonzalo to their new containing namespace.
219                 small renaming refactorings to make things clearer.
220         * CompilerOptions.cs : refactored out all things that now live in 
221                 Mono.GetOptions.Useful.CommonCompilerOptions
222
223 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
224
225         * driver.cs: fix ambiguous reference.
226
227 2005-05-16 Manjula GHM <mmanjula@novell.com>
228         * literal.cs: Declare NullType
229         * typemanager.cs: Invoke proper Decimal constructor
230         * ecore.cs : Support Decimal type in literalized version
231         * const.cs : 
232         * constant.cs :
233         * expression.cs :
234                 Support Decimal constant declaration  and retrieval of Decimal structure 
235                 members from corelib
236
237 2005-05-16 Satya Sudha K <ksathyasudha@novell.com>
238         * parameter.cs : Converting the default value (for optional param) to param type.
239         * ecore.cs     : Fixed string <-> char constant conversions.
240         * expression.cs :
241         * argument.cs   :
242         * mb-parser.jay :
243                         Support for named arguments
244                 
245 2005-05-12:2 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
246         * driver.cs : mcs having C# 2.0 features makes me slip some simplified delegate creation 
247                 code, that breaks with csc in Windows (as pointed by Atsushi)
248         * CompilerOptions.cs : moved some delegate definitions outside the class for shorter name when using.
249
250 2005-05-12 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
251         * driver.cs : slimmed down, most non-specific code moved to new class/source CompilerOptions.
252                 Also steps where individualized and put on a array of delegates for sequencial execution
253                 with stop-on-first-blunder behavior. It is similar to the configurable pipeline of the
254                 boo compiler.
255         * CompilerOptions.cs: added, refactored from inside driver.cs (some code/properties will migrate
256                 further to Mono.GetOptions.Usefull.CommonCompilerOptions)
257         * mbas.exe.sources: added CompilerOptions.cs
258
259 2005-05-11 Ankit Jain  <ankit@corewars.org>
260
261         * expression.cs (Invocation.CheckParameterAgainstArgument): Return ConversionType.Widening
262         for a NoArg argument. Fix earlier patch.
263
264 2005-05-11 Ankit Jain  <ankit@corewars.org>
265
266         * expression.cs (Invocation.CheckParameterAgainstArgument): Return ConversionType.Narrowing
267         for a NoArg argument.
268         (Invocation.IsApplicable): Don't create a REF type argument if it is NoArg.
269         (Invocation.ConstructArgumentList): Create argument with its DefaultValue for a NoArg.
270
271 2005-05-10 Satya Sudha K <ksathyasudha@novell.com>
272         * statement.cs, expression.cs, assign.cs :
273                 Patch to allow latebinding expressions to be specified as ByRef arguments 
274                 
275 2005-05-10  Raja R Harinath  <rharinath@novell.com>
276
277         * driver.cs (InitializeRootContextAndOthersFromOptions):
278         Overwrite RootContext.RootNamespace only if there's a value.
279
280 2005-05-09 Satya Sudha K <ksathyasudha@novell.com>
281         * parameter.cs : Support 'Optional ByRef' parameters
282         * statement.cs : Using 'System.Reflection.Missing.Value' in case of missing argument for 
283                          LateBinding cases
284                 
285 2005-05-07 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
286         * driver.cs : Oops, correcting some find-and-replace mishaps
287
288 2005-05-06 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
289         * driver.cs : Refactored to use Mono.GetOptions.Useful.CommonCompilerOptions
290
291 2005-05-05 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
292         * mb-parser.jay : Correction to allow optional type caracters in some situations.
293         Now 6 more tests under mbas/Test/tests/types compile and 3 more compile and run.
294         Patch contributed by Brazilian MonoBASIC Team:
295                 Aldo Monteiro do Nascimento <aldomonteiro@gmail.com>
296                 Alessandro de Oliveira Binhara <binhara@psl-pr.softwarelivre.org>
297                 Alexandre Rocha Lima e Marcondes <alexandre.marcondes@psl-pr.softwarelivre.org>
298                 Ramiro Batista da Luz <ramiroluz@gmail.com>
299                 Renato Suga <renatos@techresult.com.br>
300
301 2005-05-05 Satya Sudha K <ksathyasudha@novell.com>
302         * statement.cs
303         * mb-parser.jay:
304                 Changed the 'For' class to :
305                 - Handle negative step values
306                 - Supporting all types (numeric/object) of loop control variables
307
308         * expression.cs : Removed some unused methods
309         * ecore.cs      : Added float/double -> decimal conversion to NarrowingConversion
310
311 2005-05-02 Manjula GHM <mmanjula@novell.com>
312         * expression.cs : Support Reference Parameter - when argument and parameter are different.
313
314 2005-04-29 Satya Sudha K <ksathyasudha@novell.com>
315         * argument.cs
316         * statement.cs
317         * expression.cs
318         * assign.cs
319         * mb-parser.jay:
320                 Support for 'LateSet', 'LateIndexGet', 'LateIndexSet'
321
322         * ecore.cs :
323                 Minor fixes in conversions
324
325 2005-04-26 Manjula GHM <mmanjula@novell.com>
326         *statement.cs
327                 "out" is not supported as Parameter Modifier in VB.NET
328
329 2005-04-26 Manjula GHM <mmanjula@novell.com>
330         *support.cs
331         *parameter.cs
332         *argument.cs
333         *expression.cs
334         *statement.cs
335                 "out" is not supported as Parameter Modifier in VB.NET
336 2005-04-21 Satya Sudha K <ksathyasudha@novell.com>
337         * ecore.cs :
338                 Fixed object to bool/float/double conversions
339                 Fixed numeric <--> Enum conversions 
340         * statement.cs :
341         * expression.cs :
342         * mb-parser.jay :
343                 (Initial) Support for 'LateGet'
344
345 2005-04-18 Manjula GHM <mmanjula@novell.com>
346         * mb-parser.jay:
347                 Support expressions for Directives
348 2005-04-19 Satya Sudha K <ksathyasudha@novell.com>
349         * ecore.cs :
350                 Fixed conversions from 'object' to double, float, decimal and long
351
352 2005-04-18 Manjula GHM <mmanjula@novell.com>
353         * mb-parser.jay:
354                 Support Conditional Constant Directives
355
356 2005-04-13 Manjula GHM <mmanjula@novell.com>
357         * expression.cs : To support  'Or' argument of AttributeTargets in AttributeUsage
358 2005-04-12 Satya Sudha K <ksathyasudha@novell.com>
359         * statement.cs :
360                 Introduced a class 'StatementSequence', to translate a late-binding call to a block of statements
361         * expression.cs :
362                 Support for late binding (Not complete yet. Some basic method invocations work as of now)
363         
364 2005-04-06 Ritvik Mayank <mritvik@novell.com>
365            by Sudharsan V <vsudharsan@novell.com>
366         * class.cs: correction for reflecting the correct Line No. in the Error message 
367 2005-04-05 Ritvik Mayank <mritvik@novell.com>
368            Patch Submitted by Sudharsan V <vsudharsan@novell.com>
369         * mb-parser.jay : correction for reflecting the correct Line No. in the Error message   
370
371 2005-03-31 Manjula GHM <mmanjula@novell.com>
372         *mb-tokenizer.cs:To fix make test failure
373 2005-03-31 Manjula GHM <mmanjula@novell.com>
374         *mb-tokenizer.cs: Support declaration of decimal numbers with no digits before point like '.52' instead of '0.52'
375
376 2005-03-29 Manjula GHM <mmanjula@novell.com>
377         *assign.cs: Disallow New Date assignment with types other than date and object type
378
379 2005-03-25:3 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
380         * AssemblyInfo.cs: Small increment in the version number to publicize --codepage support
381
382 2005-03-25:2 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
383         * genericparser.cs: another static Parse overload to support specifying encoding when parsing from a file.
384         * driver.cs: obsoletes --tokenize, record currentEncoding for each source-file to be processed, call the new Parse overload
385                 Implement support for a --codepage option similar to mcs. Example: 
386                         mono mbas.exe --codepage:1252 WindowsANSI.vb --codepage:utf8 UTF8.vb --codepage:reset currentcharset.vb
387
388 2005-03-25:1 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
389         * genericparser.cs: another Parse overload to support specifying encoding when parsing from a file.
390         Preparing to implement support for a /codepage option similar to mcs
391
392 2005-03-24 Manjula GHM <mmanjula@novell.com>
393         * mb-tokenizer.cs: To fix parser error for ExternalSource Directives
394
395 2005-03-24 Satya Sudha K <ksathyasudha@novell.com>
396         * mb-parser.jay : 
397                         - Support for Dictionary Member Access Expressions
398                         - Exponentiation operator in compound assignments
399         * expression.cs : Merged 'Exponentiation' class with 'Binary' class
400         * cfold.cs      : Fixed constant division (both '\' and '/')
401
402 2005-03-24 Manjula GHM <mmanjula@novell.com>
403           * mb-parser.jay,mb-tokenizer.cs: Support 'End Statement' in parser and tokenizer file
404
405 2005-03-24 Manjula GHM <mmanjula@novell.com>
406            Sudharsan V <vsudharsan@novell.com>
407           * mb-parser.jay,mb-tokenizer.cs:
408                 Revamped end of block logic 
409
410 2005-03-24 Manjula GHM <mmanjula@novell.com>
411         * statement.cs: Fix bug in 'Exit Function'
412
413 2005-03-23 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
414         * AssemblyInfo.cs: Some more diligent authors
415         * ecore.cs, cfold.cs, delegate.cs: remove warnings-causing code 
416
417 2005-03-22 Satya Sudha K <ksathyasudha@novell.com>
418         * mb-parser.jay
419         * expression.cs :
420                         Fix for 'MyClass' instance expressions 
421
422 2005-03-22 Satya Sudha K <ksathyasudha@novell.com>
423            Sudharsan V <vsudharsan@novell.com>
424         * mb-parser.jay : 
425                         Removed some conflicts in the grammar
426
427 2005-03-21 Manjula GHM <mmanjula@novell.com>
428         * statement.cs: Implementation of 'End' Statement which terminates execution immediately
429
430 2005-03-18 Satya Sudha K <ksathyasudha@novell.com>
431         * mb-parser.jay :
432         * mb-tokenizer.cs :
433         * expression.cs :
434                 Supported 'Like' operator
435
436 2005-03-18 Manjula GHM <mmanjula@novell.com>
437            Sudharsan V <vsudharsan@novell.com>
438           * mb-parser.jay:
439               Some more fixes related to displaying correct line number
440
441 2005-03-17 Manjula GHM <mmanjula@novell.com>
442         *ecore.cs : rounding the double values before converting to Integer types
443
444 2005-03-17 Manjula GHM <mmanjula@novell.com>
445         *ecore.cs : Support Double in case statement and do necessary conversion to Int Literal
446
447 2005-03-16 Manjula GHM <mmanjula@novell.com>
448         * mb-parser.jay:
449                 Support 'expression TO expression' case clause for select statement
450
451 2005-03-15 Satya Sudha K <ksathyasudha@novell.com>
452         * mb-parser.jay :
453         * expression.cs :
454                 Supported '\' (int division) operator
455
456 2005-03-11 Manjula GHM <mmanjula@novell.com>
457            Sudharsan V <vsudharsan@novell.com>
458           * mb-parser.jay:
459               Fixes related to displaying correct line number,error message and handle End of blocks
460
461 2005-03-11 Satya Sudha K <ksathyasudha@novell.com>
462         * expression.cs :
463                          Support for 'Nothing' with all operators.
464                          A few fixes to the 'DoNumericPromotions' method
465         * ecore.cs      :
466                          Fixed Boolean constant conversions
467                          Supported conversion of 'nothing' to value types
468
469 2005-03-10 Manjula GHM <mmanjula@novell.com>
470         *expression.cs :
471                 Support 'Is' for all reference types
472
473 2005-03-10 Satya Sudha K <sathyasudha@novell.com>
474         * mb-parser.jay :
475         * expression.cs :
476                         Support for 'AndAlso' and 'OrElse' operator
477
478 2005-03-09 Manjula GHM <mmanjula@novell.com>
479         *mb-parser.jay :
480         *expression.cs :
481                 Support 'Is' Expression
482
483 2005-03-08 Satya Sudha K <ksathyasudha@novell.com>
484         * ecore.cs      : Included Decimal -> Single/double conversions in 'WideningConversionExists' method
485         * expression.cs : Fixed the behaviour of some Unary operators
486                           Allowing Exponentiation on object types
487
488 2005-03-08 Manjula GHM <mmanjula@novell.com>
489         *assign.cs : Bug fix - new Object creation and object assignment
490
491 2005-03-07 Satya Sudha K <ksathyasudha@novell.com>
492         * mb-parser.jay : Support for shift operators
493         * assign.cs     : Calling 'RuntimeHelpers.GetObjectValue' during new Object creation 
494                            (to make it consistent with vbc)
495         * ecore.cs      : Implicit constant conversions - rounding the float/double values before 
496                           converting to Integer types
497         * expression.cs : 
498                          Unary class :
499                                 * Corrected the opertor names
500                                 * Allowing unary plus and minus on strings (by converting 
501                                   to double)
502                                 * Allowing 'Not' operator on all numeric/string types 
503                                   (float/double/decimal/strings are converted to long)
504                                 * In case of short/byte operations, changing the end result back to short/byte
505                         Exponentiation class :
506                                 * Disallowing '^' operator on dates/char/ reference types
507                         Binary class :
508                                 * Corrected operator names
509                                 * And-ing the right operand with appropriate mask in case of shift operators
510                                 * In case of short/byte operations, changing the end result back to short/byte
511                                 * Re-organised the code of the 'ResolveOperator' method:
512                                         * code organised according to expression types
513                                         * Performing the required conversions before 'OverloadResolve'
514                                         * Did the following fixes :
515                                                 * Fixed string/bool behaviour with logical/shift operators
516                                                 * Disallow arithmatic operators on char and dates
517                                                 * Fixed DateTime comparisons
518                                                 * Using methods of 'System.Decimal' for all Decimal operations
519                                                 * Supporting all operators with enum types
520                                                 * Allowing arithmatic/relational/shift/logical operators on type 'object'
521
522 2005-03-04 Manjula GHM <mmanjula@novell.com>
523         * mb-parser.jay:
524         * assign.cs:
525                 Support Mid Assignment Statement
526
527 2004-12-01 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
528         * driver.cs: correcting the handling of many options. 
529         * Upgraded to latest Mono.GetOptions that supports vbc style boolean arguments /debug+ /debug-, and /help2 to hide less used options
530
531 2005-02-25 Satya Sudha K <ksathyasudha@novell.com>
532         * ecore.cs 
533         * expression.cs: 
534                 Fix for default properties by Raja Harinath
535
536 2005-02-22 Manjula GHM <mmanjula@novell.com>
537         *expression.cs: Handle String and date before Overloadresolve
538                         Added code for char + char
539                         Handle One of operands is value type in Relational operators 
540                         Handle when both are Object types
541
542 2005-02-22 Manjula GHM <mmanjula@novell.com>
543         *expression.cs: Handle Bool w.r.t Logical operators 
544
545 2005-02-21 Manjula GHM <mmanjula@novell.com>
546         *expression.cs: Handle  all cases of relational Operators w.r.t String types 
547
548 2005-02-21 Manjula GHM <mmanjula@novell.com>
549         *mb-parser.jay: Throws error for missing END statements - by Sudharsan V
550
551 2005-02-18 Satya Sudha K <ksathyasudha@novell.com>
552         * ecore.cs :
553                  Modified Implicit Constant conversions to :
554                  * Handle Long/Float/Double Constants also
555                  * Throw a compile time error if constant cannot be converted to a specified type
556                    (as with vbc)
557         * assign.cs :
558         * expression.cs :
559                 Widening Enum constants to constants of underlying type before doing the conversions
560         * cfold.cs :
561                 Added support for exponentiation operator for constants
562         * enum.cs : Allowing double values to be specified as enum values
563
564
565 2005-02-17 Manjula GHM <mmanjula@novell.com>
566         * expression.cs :
567                  Support relational operator for other types
568
569 2005-02-15 Manjula GHM <mmanjula@novell.com>
570         * ecore.cs :
571                  Fixed conversion from char[] to String
572
573 2005-02-15 Manjula GHM <mmanjula@novell.com>
574         * expression.cs: Fixed concat of string and char using '+" operator 
575
576 2005-02-14 Manjula GHM <mmanjula@novell.com>
577         * ecore.cs :
578                  Fixed all String to char conversions
579
580 2005-02-14 Satya Sudha K <ksathyasudha@novell.com>
581         * expression.cs: 
582                  - Fixed one of my previous checkin, which was breaking some test cases.
583         * ecore.cs :
584                  - Fixed the explicit conversion of float/double to integral types in some places.
585
586 2005-02-11 Ritvik Mayank <mritvik@novell.com>
587         * class.cs
588         * decl.cs
589         * mb-parser.jay
590         * statement.cs
591                 Changed for reflecting correct Error Number
592                                                 
593 2005-02-10 Satya Sudha K <ksathyasudha@novell.com>
594         * expression.cs: 
595                  - Implemented Exponentiation operator (^)
596                  - Fixed the behaviour of strings in arithmatic operations (only addition 
597                    was supported before)
598                  - Fixed Decimal arithmatic with float/double types
599                  - If operation = Division, promoting both operands to double, otherwise
600                    doing numeric promotions
601         * mb-parser.jay : Changes related to the Exponentiation operator
602
603 2005-02-10 Manjula GHM <mmanjula@novell.com>
604         * expression.cs: Fixed concat of date and string using '+" operator 
605
606 2005-02-08  Satya Sudha K  <ksathyasudha@novell.com>
607         * assign.cs: Fix for implicit conversions in Compound Assignments
608         * ecore.cs :
609                 - Fixed the explicit conversion of float/double to integral types
610                   by rounding the float/double values before performing the actual 
611                   conversion
612                 - Using 'ConvCast' instead of 'OpcodeCast' for Narrowing conversions
613
614 2005-02-07  Ritvik Mayank <mritvik@novell.com>
615         * modifiers.cs
616         * class.cs
617         * decl.cs
618         * expression.cs
619         * tree.cs
620         * statement.cs
621                     Changed for reflecting correct Error Number.
622
623 2005-02-07  Manjula GHM  <mmanjula@novell.com>
624         * mb-parser.jay: Some more fixes related to displaying correct line number
625
626 2005-02-04  Satya Sudha K  <ksathyasudha@novell.com>
627         * ecore.cs      : Fixed the implicit conversion of float/double to integral types:
628                                 - Rounding the float/double values before performing the actual conversion
629
630         * expression.cs : 1) Added a class 'StringConcat' to handle string concatenations
631                           2) Fixed string conversions in arithmatic operations
632
633         * mb-parser.jay : Create a new 'StringConcat' object (instead of Binary) for concat_expression
634  
635 2005-02-03  Manjula GHM  <mmanjula@novell.com>
636         *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. 
637  
638 2005-02-03  Manjula GHM  <mmanjula@novell.com>
639         * mbas.csproj
640         * mbas.sln
641         Modified Project and solution files to reflect new changes
642
643 2005-01-29  Ritvik Mayank  <mritvik@novell.com>
644         * ecore.cs : 
645         * class.cs : 
646         * cfold.cs : 
647         * attribute.cs : 
648         * statement.cs : 
649         * mb-parser.jay : 
650                 Changed for reflecting correct Error Number/Message.
651         
652 2005/01/29 Satya Sudha K <ksathyasudha@novell.com>
653         * ecore.cs : Added code for String conversions.
654
655 2005/01/28 Satya Sudha K <ksathyasudha@novell.com>
656         * ecore.cs : Added a few fixes for Boolean to Numeric Conversions
657
658 2005/01/25 Satya Sudha K <ksathyasudha@novell.com>
659         * ecore.cs : Added support for Implicit numeric conversions.
660                 Most of the work on this patch done by Jambunathan K
661
662 2005/01/17 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
663         * driver.cs : correct handling of /imports command-line option.
664                 Patch from Hans Kratz <kratz@omnicore.com>
665
666 2005-01-13  Ritvik Mayank  <mritvik@novell.com>
667         * mb-parser.jay: Changed Error Number for Modifiers.PRIVATE to throw the right ExceptionNumber as 31089 .       
668         * mb-parser.jay: Added Modifiers.PROTECTED to throw the right Error Number as 31047 . 
669                   
670 2005-01-13  Ritvik Mayank  <mritvik@novell.com> 
671         * ecore.cs: Changed the Error Number for setter as 30526 and getter as 30524 in Expression DoResolveLValue .
672         * expression.cs: Changed the Error Number for set == null as 30526 and get == null as 30524 .
673
674 2005-01-13  Ritvik Mayank  <mritvik@novell.com>
675         * statement.cs: For 'if (RedimTarget.Type.GetArrayRank() != args.Count)' changed the Error Number as 3415 .
676
677 2005-01-12 Anirban Bhattacharjee <banirban@novell.com>
678         * mb-parser.jay: Replaced "logical_end_of_line" with "end_of_stmt" in couple of places
679                          to support delemeter ':' along with "EOL" as end of statement
680
681 2005-01-12 Anirban Bhattacharjee <banirban@novell.com>
682         * statement.cs: Another trivial correction 
683
684 2005-01-11 Anirban Bhattacharjee <banirban@novell.com>
685         * statement.cs: A trivial correction in yesterday's check-in
686
687 2005-01-10 Anirban Bhattacharjee <banirban@novell.com>
688         * mb-parser.jay:
689         * class.cs:
690         * statement.cs:
691         * rootcontext.cs:
692         * mb-tokenizer.cs:
693         * decl.cs:
694         * expression.cs:
695         * attribute.cs:
696         * enum.cs:
697         * codegen.cs:
698                 Removed warnings from all the above files which were showing up during make
699
700
701 2005-01-10 Anirban Bhattacharjee <banirban@novell.com>
702         * mb-parser.jay: Check for the overloaded property  
703
704 2005-01-10 Anirban Bhattacharjee <banirban@novell.com>
705         * class.cs: A better check provided before adding a property to TypeContainer
706
707 2004-12-21 Anirban Bhattacharjee <banirban@novell.com>
708         * class.cs:
709         * Attribute.cs
710         * mb-parser.jay
711         * pending.cs:
712         * typemanager.cs:
713                 IndexerName variable is now known as DefaultPropName in the above files
714
715 2004-12-21 Anirban Bhattacharjee <banirban@novell.com>
716         * mb-parser.jay: A check which restrict declaring more than one property
717                         as default within same class
718
719 2004-12-21 Anirban Bhattacharjee <banirban@novell.com>
720         * class.cs: -Mbas will emit DefaultMemberConstuctor attribute for the class
721                     which is having Default Property so that it can be recognized by
722                     other assemblies
723                     - Removed Indexer class and some of the legacy code inherited from mcs
724         * typemanager.cs: Initialized DefaultMemberAttribute constructor info   
725
726 2004-12-01 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
727         Ooops small bits on:
728         * driver.cs: -q --quiet works, inclusive for the "Alpha" message
729         * Test/misc/Makefile : Added dependency on newly compiled compiler for the test executable
730
731 2004-12-01 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
732         * driver.cs: it was "monostyled" and some extract method refactorings to make things clear
733         now -q --quiet works, inclusive for the "Alpha" message
734         * Test/misc/Makefile : Added dependency on newly compiled compiler for the test executable
735
736 2004-11-30 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
737         * Test/misc/Makefile : Compile new RedimPreserve.vb test source
738         * Added Test/misc/RedimPreserve.vb
739     
740 2004-11-30  Alexandre Rocha Lima e Marcondes <alexandremarcondes@psl-pr.softwarelivre.org>
741         * Makefile: Included Microsoft.VisualBasic.dll assembly on LOCAL_MCS_FLAGS.
742         * expression.cs: Created class Preserve to implement REDIM PRESERVE syntax.
743         * statement.cs: Implemented REDIM PRESERVE syntax on Redim.Resolve().
744
745 2004-11-25  Raja R Harinath  <rharinath@novell.com>
746         * Makefile (SUBDIRS): Just list Test.
747         (mb-parser.cs): Depend on jay/skeleton.cs.
748
749 2004-11-25  Raja R Harinath  <rharinath@novell.com>
750
751         Update to changes in jay/skeleton.cs.
752         * genericparser.cs (yacc_verbose_flag): Change to 'int'.
753         * mb-parser.jay (parse): Update to changes.
754         * driver.cs (verbose): Likewise.
755
756 2004-11-24  Jambunathan K  <kjambunathan@novell.com>
757         * class.cs: Factored out classes - 1) GetMethod and SetMethod from
758         Property and 2) AddDelegateMethod and RemoveDelegateMethod from
759         Event respectively.
760         
761         * mb-parser.jay: Related changes.
762
763 2004-11-22  Jambunathan K  <kjambunathan@novell.com>
764         * enum.cs: Factored out a new class EnumMember from the existing
765         class Enum. Much of the functionality that existed in
766         Enum.LookupEnumValue() is now moved in to
767         EnumMember.DoDefineMember().
768
769         One significant departure from the previous Enum implmenentation
770         is that now the resolution of an EnumMember's value happens in the
771         EmitContext set up for the Enum.
772         
773         * attribute.cs: 
774         * expression.cs: Trivial changes related to the above change.
775
776 2004-11-22  Jambunathan K  <kjambunathan@novell.com>
777         * Makefile: Added new make target 'consolidate-test-results'.
778
779 2004-11-22  Jambunathan K  <kjambunathan@novell.com>
780         * Makefile: Run "make run-test" or "make run-test-ondotnet" to
781         exercise mbas test cases.
782
783         * testmbas: Moved the test files under this directory to Test/misc
784         where it rightfully belongs.
785
786 2004-11-17  Jambunathan K  <kjambunathan@novell.com>
787         * attribute.cs: Temporarily made Attribute.UnManagedType public.
788         
789         * class.cs: Removed the instance method
790         MethodCore.LabelParameters() and moved it's functionality to the
791         new instance methods Parameters.LabelParameters() and
792         Parameter.DefineParameter().
793         
794         * parameter.cs: Introduced new instance methods
795         Parameters.LabelParameters() and Parameter.DefineParameter() and
796         slightly improved Parameter.ApplyAttributeBuilder().
797         
798 2004-11-17  Jambunathan K  <kjambunathan@novell.com>
799         * mb-parser.jay: During multi-file compilation, global attributes
800         were not getting parsed properly. Fixed the same.
801         
802 2004/10/22 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
803         * mb-parser.jay : correcting global attributes handling, because it was 
804            issuing wrong warnings for trivial files like testmbas/WriteOK.vb.
805         * Makefile : adding testmbas/AssemblyInfo.vb to some test compilations 
806
807 2004-11-10  Jambunathan K  <kjambunathan@novell.com>
808         * attribute.cs: 1) Replaced the static method
809         Attribute.GetValidPlaces() with an equivalent instance method
810         Attribute.GetValidTargets() 2) Added new methods Attributes.Emit
811         () and Attribute.Emit(). 3) Migrated functionality of
812         ApplyAttributes to ApplyAttributeBuilder of respective classes.
813
814         * class.cs, decl.cs, codegen.cs, const.cs, parameter.cs :
815         Implemented ApplyAttributeBuilder() in the following classes:
816         TypeContainer, Constructor, Field, Property, Event, DeclSpace,
817         AssemblyClass, ModuleClass, Const, Method, Parameter.
818         
819         * codegen.cs: Implemented Emit() in the following classes:
820         AssemblyClass and ModuleClass.
821
822         The ApplyAttributeBuilder() is currently just a placeholder for
823         future code that is yet to come.
824
825 2004-11-09  Jambunathan K  <kjambunathan@novell.com>
826         * class.cs: Coalesced the functionality of Property and
827         PropertyBase in to Property class and removed the class
828         PropertyBase.
829
830
831 2004-11-09  Jambunathan K  <kjambunathan@novell.com>
832
833         * attribute.cs: Injected a new virtual property
834         Attributable.AttributeTargets
835
836         * decl.cs: Made MemeberCore a derived class of
837         Attributable.
838
839         * parameter.cs: Made Parameter a derived class of
840         Attributable.
841         
842         * class.cs: Commented out the "never used" class Indexer. I
843         suspect that the class will never be required in VB.NET context
844         and can possibly be stripped off after careful inspection.
845
846         * tree.cs, module.cs, interface.cs, enum.cs, delegate.cs,
847         const.cs, codegen.cs: Changes necessiated by the above changes.
848
849 2004-11-07  Jambunathan K  <kjambunathan@novell.com>
850         * typemanager.cs: Removed TypeManager.builder_to_attr which was
851         redundant and replaced LookupAttr with LookupClass.
852
853         * rootcontext.cs: 
854         * module.cs: Miscellaneous changes
855
856         * mb-parser.jay: Upadted actions of the attributes grammar
857
858         * codegen.cs: 1) Introduced new classes CommonAssemblyModulClass,
859         AssemblyClass, ModuleClass 2) Introduced following methods
860         CodeGen.AddGlobalAttributes, CodeGen.EmitGlobalAttributes
861
862         * class.cs: Factored out TypeContainer.AttributeUsage
863
864         * attribute.cs: 1) Factored out Attribute.UsageAttribute and
865         Attribute.GetAttributeUsage 2) Introducing the new base class
866         Attributable from which all Attributable types will be derived in
867         the future 3) Added new accessors Attribute.IsAssemblyAttribute
868         and Attribute.IsModuleAttribute
869
870 2004-11-06  Jambunathan K  <kjambunathan@novell.com>
871         * rootcontext.cs: Removed the static field -
872         RootContext:global_attribute.
873
874 2004-11-06  Jambunathan K  <kjambunathan@novell.com>
875         * class.cs: 
876         * attribute.cs: Removed the incomplete and (for now) unnecessary
877         Mono.MonoBASIC.Operator class. Let us bother about this later.
878
879         Stripping off these unused bits will help me in 1) refactoring the
880         mbas Attributes related code 2) reusing the code from the mcs code
881         base.
882         
883 2004-11-06  Jambunathan K  <kjambunathan@novell.com>
884         * class.cs: Removed the incomplete and (for now) unnecessary
885         operator methods. Let us bother about this later.
886
887 2004-11-06  Jambunathan K  <kjambunathan@novell.com>
888         * attribute.cs: Removed the redundant AttributeSection class and
889         moved it's functionality to Attributes class. 
890         * class.cs: 
891         * mb-parser.jay: 
892         * module.cs: Replaced references to AttributeSection with the equivalent constructs.
893         * rootcontext.cs: Removed the following unused methods
894         AddGlobalAttribute and AddGlobalAttributeSection.
895
896 2004-11-03 Anirban Bhattacharjee <banirban@novell.com>
897         * mb-parser.jay: Trivial fix for bug #68985
898
899 2004-11-04  Jambunathan K  <kjambunathan@novell.com>
900         * mb-parser.jay: Syntactic error handling for attribute grammar.
901
902 2004-10-25 Anirban Bhattacharjee <banirban@novell.com>
903         * statement.cs: VB .Net specific exception number
904
905 2004-10-25 Anirban Bhattacharjee <banirban@novell.com>
906         * mb-parser.jay: Enhanced catch grammar to accept
907                         'When' clause
908         * statement.cs: Changed Catch and Try classes accordingly
909                         to emit catch statement conditionally           
910
911 2004/10/22 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
912         * driver.cs : accept also -t:library as vbc does, besides /target:library
913
914 2004-10-21 Anirban Bhattacharjee <banirban@novell.com>
915         * statement.cs: Introduced few specific execptions
916                         Changed exception number
917
918 2004-10-21 Anirban Bhattacharjee <banirban@novell.com>
919         * statement.cs: A trivial fix to get Exit Try working 
920
921 2004-10-21  Jambunathan K  <kjambunathan@novell.com>
922         * typemanager.cs (LookupType, LookupTypeDirect): Added a negative
923         cache for failed type lookups (stolen from mcs' typemanager.cs).
924         mbas gets a performance boost of about 20 times due to this
925         change.
926
927         * driver.cs (MainDriver): Made the warning message a little less
928         scary and more inviting for first time users.
929
930 2004-10-19 Anirban Bhattacharjee <banirban@novell.com>
931         * mb-parser.jay: Enhanced For Each...Next statement grammar
932
933 2004-10-15 Anirban Bhattacharjee <banirban@novell.com>
934         * mb-parser.jay: Little improvement in For...next statement
935
936 2004-10-14 Anirban Bhattacharjee <banirban@novell.com>
937         * mb-parser.jay: For statement is enabled to take
938                 optional declaration of the counter variable.
939                 E.g. now for statement can be declared as
940                 For i as integer = 0 to 5
941                 End For
942
943 2004/10/08 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
944         * Makefile: added target 'profile', changed some sources in testmbas/ to use for that purpose.
945
946 2004-10-11 Anirban Bhattacharjee <banirban@novell.com>
947         * mb-parser.jay: More improvement in 'IF' statement
948
949 2004-10-11 Anirban Bhattacharjee <banirban@novell.com>
950         * mb-parser.jay: If statement is enabled to parse
951                 following type of statement
952                 If <condition> Then <statement> else <statement>
953
954 2004/10/08 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
955         * typemanager.cs: Changing StandardModule to use less memory, by doing string 
956                 concatenation only once. It was wasting 1 MB on the test case.
957
958 2004-10-06 Anirban Bhattacharjee <banirban@novell.com>
959         * mb-parser.jay: Added support for Call keyword in invocation statement
960
961 2004-10-01 Anirban Bhattacharjee <banirban@novell.com>
962         * ecore.cs: Bug fixing - when event raised from other assembly
963
964 2004-09-30 Anirban Bhattacharjee <banirban@novell.com>
965         * mb-parser.jay:
966         * statement.cs:
967                 Removed unused event_target field from
968                 AddHandler and RemoveHandler
969
970 2004-09-30 Anirban Bhattacharjee <banirban@novell.com>
971         * mb-parser.jay: RemoveHandler function made cleaner
972
973 2004-09-30 Anirban Bhattacharjee <banirban@novell.com>
974         * expression.cs:
975         * ecore.cs:
976                 Fix for resolution of event expression 
977                 when we have a AddHandler statement 
978                 like 
979                 AddHandler Me.E, AddressOf Me.EH
980                 Submitted by Raja Harinath<rharinath@novell.com>
981
982 2004-09-30 Anirban Bhattacharjee <banirban@novell.com>
983         * mb-parser.jay: Unnecessary to and fro conversion of types
984                         is removed from AddHandler function
985
986 2004-09-23 Anirban Bhattacharjee <banirban@novell.com>
987         * expression.cs: Enhanced mbas to resolve Default property or indexer
988
989 2004-09-21 Anirban Bhattacharjee <banirban@novell.com>
990         * mb-parser.jay: Fixed bug #66231 -
991          Now, Me.SubName, MyBase.SubName or any other qualified name 
992          is supported by AddressOf operator
993
994 2004-09-15 Anirban Bhattacharjee <banirban@novell.com>
995         * enum.cs: Made Enum member lookup case insensitive
996
997 2004-09-15 Anirban Bhattacharjee <banirban@novell.com>
998         * support.cs: Retrieving default value from another assembly in ReflectionParameters class
999
1000 2004-09-15 Anirban Bhattacharjee <banirban@novell.com>
1001         * class.cs: Support for enum in default constant value for optional parameters
1002
1003 2004-09-14 Anirban Bhattacharjee <banirban@novell.com>
1004         * mb-parser.jay: Fixed exception number for type confliction in method parameter
1005
1006 2004-09-14 Anirban Bhattacharjee <banirban@novell.com>
1007         * class.cs: Set default constant value for optional parameters in ParameterBuilder
1008         * parameter.cs: Setting optional attribute
1009                 These two fixes makes sure that optional parameter with default value get emitted correctly
1010
1011 2004-08-27 Anirban Bhattacharjee <banirban@novell.com>
1012 2004-09-08 Bernie Solomon <bernard@ugsolutions.com>
1013         * mb-parser.jay: fix CopyTo args when parsing parameters
1014
1015 2004-09-08 Bernie Solomon <bernard@ugsolutions.com>
1016         * expression.cs: cope with ParamArray for no args
1017         * mb-parser.jay: dump parsing exception with --stacktrace
1018
1019 2004/08/19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1020         * mb-parser.jay : some changes just not to stumble in global attributes definitions in multiple-lines 
1021                 like we have in VS.NET generated AssemblyInfo.vb files. still need to really process that definitions like mcs does
1022
1023 2004-09-07 Bernie Solomon <bernard@ugsolutions.com>
1024         * mb-parser.jay:
1025         * mb-tokenizer.cs: first cut at implementing
1026         op assign
1027
1028 2004-09-07 Bernie Solomon <bernard@ugsolutions.com>
1029         * ecore.cs:
1030         * enum.cs:
1031         * expression.cs:
1032         * mb-parser.jay:
1033         * support.cs: work on improving overload resolution
1034
1035 2004-08-30 Bernie Solomon <bernard@ugsolutions.com>
1036         * class.cs (FindMembers): filter on modflags
1037         for constructors & constructors are never inherited
1038
1039         * decl.cs (SetupCache): constructors are not
1040         inherited
1041
1042 2004-08-27 Anirban Bhattacharjee <banirban@novell.com>
1043         * driver.cs: bug fixing - #63580
1044
1045 2004/08/19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1046         * testmbas/WriteOk.vb : Use Mono.GetOptions from VB.NET
1047         * Makefile : exercise new option processing in test program [make-run-local target]
1048
1049 2004-08-26 Bernie Solomon <bernard@ugsolutions.com>
1050         * mb-parser.jay: rework parsing of ParamArray parameters
1051
1052 2004-08-23 Bernie Solomon <bernard@ugsolutions.com>
1053         * mb-parser.jay: cope with more varieties of array declarations
1054
1055 2004-08-20 Anirban Bhattacharjee <banirban@novell.com>
1056         * statement.cs: Bug fixing - Prevent AddHandler from getting resolved second time. This is critical for ASP programs with VB.
1057
1058 2004-08-20 Anirban Bhattacharjee <banirban@novell.com>
1059         * expression.cs: Bug fixing - reference to the current type is fixed during BaseAccess resolution
1060
1061 2004/08/19  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1062         * driver.cs : Some cleanup, also renamed checked option as it was removeintchecks in disguise
1063
1064 2004-08-18 Anirban Bhattacharjee <banirban@novell.com>
1065         * mb-parser.jay: MyBase support in Handles clause e.g. 
1066                                 Sub EH() Handles MyBase.E
1067
1068 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
1069         * mb-parser.jay: Trivial fix (#63213)
1070
1071 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
1072         * class.cs:
1073         * typemanager.cs:
1074                 -Bug fixed to resolve the ReadOnly properties from base class
1075                 -Fixed bug in resolving properties from different assembly
1076
1077 2004-08-14 Bernie Solomon <bernard@ugsolutions.com>
1078         * mb-parser.jay: fix block used as body of For Each
1079
1080 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
1081         * expression.cs: Bug fixing for compiling VB script generated by ASP page - AddressOf operator in a method argument will resolve methods outside assembly
1082
1083 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
1084         * class.cs: bug fixing to get PropertyE.vb test running - search of overridable property in base class was failing
1085
1086 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
1087         * typemanager.cs: Little correction in my last checked-in code - removed unnecessary return value from ExpandAllInterfaces function
1088
1089 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
1090         * class.cs: Trivial bug fixing to get test InterfaceB.vb going
1091
1092 2004-08-13 Rob Tillie <Rob.Tillie@student.tul.edu>
1093         * ecore.cs: added runtime conversion from string to DateTime (fixes test 13329).
1094         
1095 2004-08-13 Anirban Bhattacharjee <banirban@novell.com>
1096         * class.cs:
1097         * typemanager.cs:
1098         * pending.cs:
1099                 Multiple interface inheritance implemented - fix for getting InheritanceD.vb working in bteasts         
1100
1101 2004-08-12 Anirban Bhattacharjee <banirban@novell.com>
1102         * mb-parser.jay: Implements support in Abstract methods
1103
1104 2004-08-12 Anirban Bhattacharjee <banirban@novell.com>
1105         * class.cs: Support for abstract method resolution
1106         * pending.cs: Type of pending_implementations is set to base type
1107                       Changed method names IsInterfaceIndexer and IsInterfaceMethod to IsAbstractIndexer and IsAbstractMethod respectively to make them more meaningful
1108
1109 2004-08-11 Bernie Solomon <bernard@ugsolutions.com>
1110         * mb-parser.jay: first cut at TypeOf ... Is
1111
1112 2004-08-11 Bernie Solomon <bernard@ugsolutions.com>
1113         * expression.cs:
1114         * ecore.cs: More enum changes to handle
1115         implicit conversions better
1116
1117 2004-08-11 Anirban Bhattacharjee <banirban@novell.com>
1118         * mb-parser.jay: Interface inheritance made better
1119
1120 2004-08-09  Jambunathan K  <kjambunathan@novell.com>
1121         * mb-parser.jay: Sanitized parser's generic error message 
1122
1123 2004-08-07 Anirban Bhattacharjee <banirban@novell.com>
1124         * enum.cs: Enum members became enum type now, instead of underlying type
1125
1126 2004-08-07 Bernie Solomon <bernard@ugsolutions.com>
1127         * mb-parser.jay: Implement GetType(x) 
1128         implement Is as equals for the moment so it can be used
1129
1130 2004-08-07 Anirban Bhattacharjee <banirban@novell.com>
1131         * mb-parser.jay: Check for empty enum declaration
1132
1133 2004-08-07 Anirban Bhattacharjee <banirban@novell.com>
1134         * class.cs: 
1135         * mb-parser.jay:
1136                 Multiple Implements for a particular type member got implemented
1137
1138 2004-08-06  Bernie Solomon  <bernard@ugsolutions.com>
1139
1140         * support.cs: Make ReflectionParameter behave
1141         like InternalParameter for byref args.
1142         * expression.cs: Cope with byref args in
1143         an imported DLL
1144
1145 2004-08-06  Jambunathan K  <kjambunathan@novell.com>
1146         * mb-parser.jay: Changed expression grammar so that it now has a
1147           better semblance to those defined in section 11 of VB.NET spec.
1148           The 'expression' rule as it is now could possibly be buggy. So
1149           another iteration is a must.
1150
1151 2004-08-06 Anirban Bhattacharjee <banirban@novell.com>
1152         * mb-parser.jay: Small bug fix in Event grammar
1153
1154 2004-08-06 Anirban Bhattacharjee <banirban@novell.com>
1155         * class.cs: Event still needed to have a constructor which takes value of Implements clause.
1156         * mb-parser.jay: Passing Implements clause value to the constructor
1157
1158 2004-08-06 Anirban Bhattacharjee <banirban@novell.com>
1159         * decl.cs:
1160         * rootcontext.cs:
1161                 Exception number made aligned to VB .net
1162
1163 2004-08-06 Anirban Bhattacharjee <banirban@novell.com>
1164         * class.cs: Improvements in the implementation of Implements clause in Type members
1165
1166 2004-08-05 Anirban Bhattacharjee <banirban@novell.com>
1167         * mb-parser,jay: Implements clause added to Event grammar
1168
1169 2004-08-05 Anirban Bhattacharjee <banirban@novell.com>
1170         * mb-parser.jay: Interface event declaration grammar rewritten
1171
1172 2004-08-04 Anirban Bhattacharjee <banirban@novell.com>
1173         * class.cs: Introduced check for valid interface name in Implements clause. 
1174
1175 2004-08-04  Jambunathan K  <kjambunathan@novell.com>
1176         * mb-tokenizer.cs: 
1177         * mb-parser.jay: 
1178
1179         1) Fixed the Attributes grammar starting with
1180            opt_attributes. Introduced new rules starting with
1181            opt_global_attributes rule - section 5.2 of VB.NET spec
1182
1183         2) Introduced new Tokens that correspond to reserved but unused
1184            VB.NET keywords. Added some comments as appropriate in the
1185            keywords hashtable of tokenizer - section 2.3 of VB.NET spec.
1186
1187         3) Corrected 'imports_term' - section 6.3.1 & 6.3.2 of VB.NET
1188            spec.
1189
1190         4) Introduced opt_argument_list - section 5.2 of VB.NET spec
1191
1192         5) Corrected namespace_declaration - section 6.4.1 of VB.NET spec
1193         
1194
1195 2004-08-04 Anirban Bhattacharjee <banirban@novell.com>
1196         * mb-parser.jay: Added support for modifiers and attributes in interface member grammar
1197
1198 2004-08-04 Anirban Bhattacharjee <banirban@novell.com>
1199         * mb-parser.jay: Property types made optional
1200
1201 2004-08-03 Anirban Bhattacharjee <banirban@novell.com>
1202         * mb-parser.jay: Interface method and property grammar got changed
1203                          Support for multiple implements in class 
1204         * interface.cs: Interface class has got changed
1205                         All other interface types have been removed
1206         * class.cs: Property's Define and CheckBase method changed significantly to be in sync with Interface
1207         * pending.cs: few related changes 
1208         * attribute.cs: few related changes
1209
1210 2004/08/01  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1211         * mb-parser.jay : Some correction as pointed by Jambunathan, 
1212                 to allow preprocessor directives after a label that may 
1213                 leave it orphaned (without a explicit statement)
1214         * testmbas/WriteOK.vb : some vb code to test this case
1215
1216 2004/08/01  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1217         * mb-parser.jay : Some correction as pointed by Jambunathan, 
1218                 to allow intermixing preprocessor directives between 
1219                 the label and it's associated statement
1220
1221 2004-08-02  Jambunathan K  <kjambunathan@novell.com>
1222         * mb-tokenizer.cs: Oops. Also pulled out all of the old
1223         pre-processor code that is no more used.
1224
1225 2004-08-02  Jambunathan K  <kjambunathan@novell.com>
1226         * mb-tokenizer.cs: Fixed a bug where line nos were 
1227         failing to get incremented when the line continuation 
1228         character was appearing by itself on contiguous lines.
1229         
1230         * mb-parser.jay: Fixed the #ExternalSource actions
1231         so that ExternalSourceDirectivesC4.vb compiles and 
1232         reports source & line nos as expected.
1233
1234         * location.cs: Replaced the existing unintuitive, not
1235         so efficient implementation of struct Location {} with 
1236         the one available in mcs with one minor difference: The
1237         number of bits reserved for a file index in the Token
1238         is statically fixed at 8 bits.
1239
1240 2004/08/01  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1241         * mb-parser.jay : Revised patch from João Viegas for the labeled_statement accepting integer literals as labels
1242
1243 2004-07-30  Jambunathan K  <kjambunathan@novell.com>
1244         * mb-parser.jay: Oops. Reversed unintended checkin.
1245         * mb-tokenizer.cs: Added comment in Tokenizer() 
1246         * mb-parser.jay: Fixed miscellaneous bugs in handling of 
1247         pre-processor directives. There are two positive test 
1248         cases that fail currently: ExternalSourceDirectivesC4.vb
1249         and RegionDirectivesC1.vb
1250
1251 2004-07-30  Raja R Harinath  <rharinath@novell.com>
1252
1253         * mb-parser.jay (IfElseStateMachine.State, IfElseStateMachine.Token): 
1254         Remove [Flags] attribute.
1255
1256 2004-07-30  Jambunathan K  <kjambunathan@novell.com>
1257         * mb-parser.jay: 
1258         * mb-tokenizer.cs: Added support for #region, #externalsource
1259         and conditional compilation pre-processor directives.
1260         Conditonal directives currently accept only boolean literals
1261         as conditonal expressions. 
1262         
1263         * mb-parser.jay: The original checkin hits a bug in mcs but
1264         compiles fine with csc. This checkin is to workaround the mcs
1265         bug so that cvs builds are not broken.
1266         
1267         
1268 2004/07/26  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1269         * mb-parser.jay : First try at SyncLock Statement #53230
1270
1271 2004-07-22 Anirban Bhattacharjee <banirban@novell.com>
1272         * argument.cs:
1273         * expression.cs:
1274                 Little betterment in resolution of parameter with Addressof operator in method argument
1275
1276 2004-07-20 Anirban Bhattacharjee <banirban@novell.com>
1277         * expression.cs: Resolution of fully qualified type names - bug fixed
1278
1279 2004-07-20 Anirban Bhattacharjee <banirban@novell.com>
1280         * assign.cs: Added new argument to Expression.ConvertExplicit function call
1281
1282 2004-07-20 Anirban Bhattacharjee <banirban@novell.com>
1283         * expression.cs: Fixed resolution of overloaded functions with delegate as parameter
1284         * ecore.cs: Changes made to stop program getting into an endless loop on not able to cast types of source to destination object.
1285         * statement.cs: Added new argument to Expression.ConvertExplicit function call
1286
1287 2004-07-18 Anirban Bhattacharjee <banirban@novell.com>
1288         * argument.cs: Introduced AddressOf argument type for tracking AddressOf operator in method parameter
1289         * expression.cs: A parameter with AddressOf operator will get converted to Delegate before overload resolution
1290         * 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
1291                 This is a fix for bug #59555
1292
1293 2004/07/15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1294         * driver.cs : Implemented support for -pkg to match mcs (bug #58673)
1295
1296 2004/07/15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1297         * driver.cs : started implementing -pkg support to match mcs (bug #58673), also corrected multiplicity for addmodule option
1298
1299 2004-07-13 Anirban Bhattacharjee <banirban@novell.com>
1300         * driver.cs: Added support for AddModule compiler option
1301         * 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.
1302
1303 2004-07-13 Anirban Bhattacharjee <banirban@novell.com>
1304         * driver.cs: Compilation to module is supported now
1305
1306 2004-07-09 Anirban Bhattacharjee <banirban@novell.com>
1307         * mb-parser.jay:
1308         * class.cs:
1309                 Default modifier for constructor is set to Public
1310
1311 2004-07-09 Anirban Bhattacharjee <banirban@novell.com>
1312         * 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"
1313
1314 2004-07-07 Anirban Bhattacharjee <banirban@novell.com>
1315         * expression.cs: bug fixed - 60399
1316
1317 2004-06-13 Anirban Bhattacharjee <banirban@novell.com>
1318         * mb-parser.jay: Small correction in delegate declaration grammar
1319
1320 2004-06-13 Anirban Bhattacharjee <banirban@novell.com>
1321         * mb-parser.jay: modified RemoveHandler function
1322         * statement.cs: Added RemoveHandler statement class
1323
1324 2004-06-13 Anirban Bhattacharjee <banirban@novell.com>
1325         * mb-parser.jay: Modified grammar for several syntax of AddressOf operator
1326
1327 2004/06/10  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1328         * typemanager.cs : GetPertinentStandardModules receives the array now with params modifier to help usage
1329         * ecore.cs : correcting lookup of semi-qualified standard modules members - A little better but not there yet
1330
1331 2004-06-10 Anirban Bhattacharjee <banirban@novell.com>
1332         * mb-parser.jay: Grammar added for RemoveHandler statement
1333
1334 2004-06-10 Anirban Bhattacharjee <banirban@novell.com>
1335         * mb-parser.jay:
1336         * expression.cs:
1337                 Added support for statement like
1338                         delgate_name = AddressOf sub_name
1339
1340 2004-06-09  Raja R Harinath  <rharinath@novell.com>
1341
1342         * Makefile (HAS_TEST): Remove.
1343         (run-test-local): Move rule to and depend on ...
1344         (run-mbas-test): ... this.
1345
1346 2004-06-08 Anirban Bhattacharjee <banirban@novell.com>
1347         * mb-parser.jay:
1348         * statement.cs:
1349                 Few exception checks for Event
1350
1351 2004-06-07 Anirban Bhattacharjee <banirban@novell.com>
1352         * mb-parser.jay: Resolved the problem in Sub statement with Handles cluse
1353         * class.cs: Added a AddEventHandler function and a EventHandler readonly property. Also modified define of constructor to accommodate Handlers clause.          
1354                     If one initialize a event handler as
1355                         Sub Handler() Handles x.Event
1356                     The handler will be initialized by the constructor of the corresponding class by calling AddHandler.
1357
1358 2004-06-04 Anirban Bhattacharjee <banirban@novell.com>
1359         * mb-parser.jay: Modified WithEvents grammar    
1360
1361 2004-06-04 Anirban Bhattacharjee <banirban@novell.com>
1362         * class.cs: - NotOverridable modifier support added to Property
1363                     - Few overriding related checks put on Property
1364  
1365 2004-06-04 Anirban Bhattacharjee <banirban@novell.com>
1366         * decl.cs: Check for duplicate member name within same container
1367
1368 2004-06-04 Anirban Bhattacharjee <banirban@novell.com>
1369         * class.cs: changed exception number in event grammar
1370
1371 2004-06-03 Anirban Bhattacharjee <banirban@novell.com>
1372         * mb-parser.jay: RaiseEvent grammar fixed to get it working
1373
1374 2004-06-03 Anirban Bhattacharjee <banirban@novell.com>
1375         * driver.cs: fixed bug - 59540
1376
1377 2004-06-01 Anirban Bhattacharjee <banirban@novell.com>
1378         * mb-parser.jay: Improved event declaration grammar
1379
1380 2004/05/31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1381         * AssemblyInfo.cs : Anirban is and author too
1382
1383 2004-05-27 Anirban Bhattacharjee <banirban@novell.com>
1384         * delegate.cs:
1385         * expression.cs:
1386                 Few exception checks for delegete
1387
1388 2004-05-27 Anirban Bhattacharjee <banirban@novell.com>
1389         * mb-parser.jay:
1390         * delegate.cs:
1391                 Few more fixes in delegate grammar              
1392
1393 2004-05-27 Anirban Bhattacharjee <banirban@novell.com>
1394         * mb-parser.jay: Changed Delegate instantiation grammar to get it working
1395
1396 2004-05-26 Anirban Bhattacharjee <banirban@novell.com>
1397         * mb-parser.jay:
1398         * class.cs:
1399                 Few property related checks applied
1400
1401 2004-05-24 Anirban Bhattacharjee <banirban@novell.com>
1402         * class.cs: Check for ReadOnly and WriteOnly modifiers added to property
1403
1404 2004-05-24 Anirban Bhattacharjee <banirban@novell.com>
1405         * mb-paresr.jay: Support for abstruct property is added
1406
1407 2004-05-24  Raja R Harinath  <rharinath@novell.com>
1408
1409         * Makefile (PROGRAM_INSTALL_DIR): Install mbas into
1410         $(prefix)/lib/mono/1.0.
1411
1412 2004-05-10 Anirban Bhattacharjee <banirban@novell.com>
1413         * mb-parser.jay: few Property related grammar changes
1414
1415 2004-05-14 Anirban Bhattacharjee <banirban@novell.com>
1416         * mb-tokenizer.cs: Bug fixed - Got Property working
1417
1418 2004-05-10 Anirban Bhattacharjee <banirban@novell.com>
1419         * mb-parser.jay: Support added for attaching Attributes in methods
1420
1421 2004/04/07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1422         * AssemblyInfo.cs : Correcting information and version number
1423
1424 2004-04-29 Anirban Bhattacharjee <banirban@novell.com>
1425         * enum.cs: bug fixing - setting one enum member to another
1426
1427 2004-04-29 Anirban Bhattacharjee <banirban@novell.com>
1428         * enum.cs:
1429         * expression.cs:
1430                 Implemented check for access modifier in enum
1431
1432 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
1433
1434         * typemanager.cs: Property.GetGetMethod() does not return the method if it
1435         is private (it did until now because of a bug). Make sure it works as it 
1436         worked before the fix.
1437
1438 2004-04-28 Anirban Bhattacharjee <banirban@novell.com>
1439         * expression.cs: fixed bug to get enum running
1440         * enum.cs: handling several negative scenarios 
1441                    Changed several exception numbers
1442         * assign.cs: Changed exception number
1443
1444 2004-04-26  Jackson Harper  <jackson@ximian.com>
1445
1446         * Makefile: Get libs from default profile directory.
1447         
1448 2004-04-23 Anirban Bhattacharjee <banirban@novell.com>
1449         * mb-parser.jay: Grammar changes for array
1450         * expression.cs: exception number changed for "Incorrectly structured array initializer" exception
1451
1452 2004-04-17 Anirban Bhattacharjee <banirban@novell.com>
1453         * mb-parser.jay:
1454         * class.cs:
1455         * const.cs
1456                 a little better structure grammar
1457
1458 2004-04-16 Anirban Bhattacharjee <banirban@novell.com>
1459         * mb-parser.jay: few clean-ups
1460
1461 2004-04-16 Anirban Bhattacharjee <banirban@novell.com>
1462         * class.cs: Duplicate entry point exception number changed
1463                     Checked delaration of Types, fields, methods as Protected if they are member of Module type
1464         * const.cs: Checked delaration of constructor as Protected if it is member of Module type
1465         * driver.cs: exception number is changed for "Entry point does not exist" exception
1466
1467 2004-04-15 Anirban Bhattacharjee <banirban@novell.com>
1468         * mb-parser.jay: Classes can't be delared static impicitly as other module members
1469
1470 2004-04-15 Anirban Bhattacharjee <banirban@novell.com>
1471         * class.cs: Couple of bug fixes in defining default static constructor, partially imposed by the fix earlier
1472
1473 2004-04-14 Anirban Bhattacharjee <banirban@novell.com>
1474         * class.cs: Added support for Shadows modifier in Variables
1475
1476 2004-04-14 Anirban Bhattacharjee <banirban@novell.com>
1477         * const.cs: Added support for Shadows modifier in constant
1478
1479 2004-04-14 Anirban Bhattacharjee <banirban@novell.com>
1480         * expression.cs: Removed the check which was stoping type instances to access the shared variables
1481
1482 2004-04-14 Anirban Bhattacharjee <banirban@novell.com>
1483         * modifiers.cs: changed exception number for invalid modifiers exception
1484
1485 2004-04-13 Anirban Bhattacharjee <banirban@novell.com>
1486         * mb-parser.jay: Removed 'static_constructor_declaration' - this is not required as 'constructor_declaration' implementation is good enough to handle static constructors too
1487         * class.cs: Handling couple of negative scenarios related to static constructors and bug fixes
1488
1489 2004-04-13 Anirban Bhattacharjee <banirban@novell.com>
1490         * class.cs: Couple of negative scenario handling
1491
1492 2004-04-13 Anirban Bhattacharjee <banirban@novell.com>
1493         * mb-parser.jay: Few clean-up
1494
1495 2004-04-12 Anirban Bhattacharjee <banirban@novell.com>
1496         * mb-parser.jay: Bug fixed - Base class ctor was getting called twice when called explicitly from the derived class ctor as MyBase.New
1497
1498 2004-04-12 Anirban Bhattacharjee <banirban@novell.com>
1499         * mb-parser.jay: Fixed bugs for calling ctor from another ctor in the same class by using statments like
1500                 Me.New 
1501                 or 
1502                 MyClass.New
1503
1504 2004/04/07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1505         * mb-tokenizer.cs : Better error message when dealing with date literals
1506
1507 2004-04-06 Anirban Bhattacharjee <banirban@novell.com>
1508         * class.cs:
1509         * ecore.cs:
1510         * expression.cs:
1511         * modifiers.cs:
1512         Changed/added serveral Accessibility related expections 
1513
1514 2004-04-05 Anirban Bhattacharjee <banirban@novell.com>
1515         * class.cs:
1516         * decl.cs:
1517         * expression.cs:
1518         * pending.cs: 
1519         Several error messages and numbers are changed in all the above four classes
1520
1521 2004-04-04 AnirbanBhattacharjee <banirban@novell.com>
1522         * delegate.cs: changed default access modifier
1523         * enum.cs: changed default access modifier
1524         * interface.cs: changed default access modifier
1525         * modifiers.cs: extension of bug fixed for getting NotOverridable modifier working for methods
1526
1527 2004-04-04 AnirbanBhattacharjee <banirban@novell.com>
1528         * class.cs: Changed exception messages and their numbers to align better with VB
1529                     Changed default access modifier of method to Public
1530                     Bug fixed to get NotOverridable modifier working
1531         * decl.cs:  Changed exception messages and numbers
1532
1533 2004-03-25 Anirban Bhattacharjee <banirban@novell.com>
1534         * class.cs: bug fixing - creating default constructor when no constructor is specified
1535         Few modifiers are changed to align with Vb
1536
1537 2004/03/22  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1538         * typemanager.cs :  being more carefull with null arguments in some places, 
1539                                                 null checking in GetPertinentStandardModules() loop
1540         * namespace.cs : a helper ToString override 
1541         * ecore.cs : Dealing with finding more than a pertinent standard module having a global member
1542         * testmbas/WriteOk.vb : Exercising correct standard module resolution
1543     NOTE: Almost there for Bug #52067 - just the semi-qualified case isn't working 
1544
1545 2004-03-23 Anirban Bhattacharjee <banirban@novell.com>
1546         * mb-parser.jay: handled implicit static modifier for module members in const
1547         * const.cs: changed supported modifiers
1548
1549 2004-03-23 Anirban Bhattacharjee <banirban@novell.com>
1550         * modifiers.cs: Return name of the modifiers' changed to vb specific
1551
1552 2004/03/22  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1553         * ecore.cs : now it gets the correct list of namespaces in scope (either imported or current) Almost there for Bug #52067 
1554
1555 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1556         * mb-parser.jay: One more negative scenario is addressed in const grammar
1557
1558 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1559         * const.cs: Change type of constant to the type of its value if no explicit type declaration found
1560
1561 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1562         * mb-parser.jay: Grammar for declaring constant inside block is changed
1563
1564 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1565         * const.cs: Changed exception numbers
1566
1567 2004-03-22 Anirban Bhattacharjee <banirban@novell.com>
1568         * mb-parser.jay: Changed grammar for constant
1569
1570 2004/03/02  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1571         * mb-tokenizer.cs : handling better linebreak, specially when delaing with literals and preprocessing directives 
1572
1573 2004-03-16 Anirban Bhattacharjee <banirban@novell.com>
1574         * mb-parser.jay: 
1575                 - changed variable declaration grammar and added support for multiple variables declartion under single type e.g. dim x, y as integer
1576                 - added few exception checks in variables
1577                 - added one exception check in property
1578         
1579 2004/03/02  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1580         * sourcebeingcompiled.cs : new source/class to hold things previously contained in namespaces.cs 
1581                         because in C# they were semantically tied to nested namespaces, and in VB.NET 
1582                         they can occur only once per file.
1583         * mbas.exe.sources: added sourcebeingcompiled.cs
1584         * mb-parser.jay: reference RootContext.Sourcebeingcompiled things
1585         * namespace.cs: move pieces to sourcebeingcompiled
1586         * rootcontext.cs: use SourceBeingCompiled class
1587         * decl.cs: reference RootContext.Sourcebeingcompiled things
1588
1589 2004-03-02 Anirban Bhattacharjee <banirban@novell.com>
1590         * mb-tokenizer.cs: Support for '-' delimiter in DateTime
1591
1592 2004-03-02 Anirban Bhattacharjee <banirban@novell.com>
1593         * report.cs: Formatted warning thrown
1594
1595 2004-03-02 Anirban Bhattacharjee <banirban@novell.com>
1596
1597         * class.cs
1598         * decl.cs
1599         * modifiers.cs
1600         * mb-parser.jay
1601         Added Overloads and Shadows modifiers to Function and Sub
1602         Fixed few other modifier related problems in Function and Sub
1603
1604 2004-01-07  Nick Drochak <ndrochak@ieee.org>
1605
1606         * genericparser.cs:
1607         * mb-tokenizer.cs: 
1608         * row.cs: Eliminate warnings about unused variables.
1609
1610 2004/01/06  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1611         * typemanager.cs :      correcting translation of System types to language types, 
1612                         also temporarily circunventing a exception in ModuleBuilder.GetType inside LookupTypeReflection,
1613                         corrected many ` characters to ' in error messages
1614         * testmbas/WriteOK.vb : testing newly implemented IsNumeric global function
1615
1616 2004-01-04  David Sheldon <dave-mono@earth.li>
1617
1618   * expression.cs: Added matching ")" to error message for 
1619   CS0077
1620
1621 2003/12/23  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1622         * driver.cs : added stubs for options "/netcf /sdkpath:path"
1623         * namespace.cs, decl.cs, rootcontext.cs : use hashtable to avoid duplicate importation of namespaces 
1624           (especially between command-line option /imports and explicit Import clauses), what manifested itself as
1625           error messages for ambiguous names that where in truth identical
1626         * statement.cs : trying to fix the 'exit' statement DoEmit, for "Exit Sub"
1627         * mb-parser.jay, mb-tokenizer.cs : initial support for type_characters (dim az$ = dim az as string)
1628
1629 2003/12/18  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1630         * class.cs : case-sensitiveness when tracking the entry-point removed
1631         * driver.cs : IsSWFApp would try to pass a null 'mainclass' to the hashtable indexer, throwing an exception
1632                 (even for correct programs because of the bug above). Now this condition is tested before
1633
1634 2003/12/06  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1635         * ecore.cs : problems trying to implicit convert OMITTED arguments, solved
1636         * mb-tokenizer.cs, mb-parser.jay, typemanager.cs : support for the date primitive type and date literals
1637         * testmbas/WriteOK.vb: testing date type and date literal
1638
1639 2003/11/12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1640         * driver.cs : /imports option now is implemented
1641         * mb-parser.jay: support for pre-imported namespaces (the default Microsoft.VisualBasic and those from /imports)
1642         
1643 2003/11/12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1644         * mb-tokenizer.cs : integer literal (Hex starts with &H not 0x), handle Octal literals (&O)
1645         *       handle unicode specialized double-quotes in string literals     
1646         *       corrected some mishandling of conversions in numeric literals
1647         *       implemented support for char literals ("z"c)
1648         * Makefile : verbose target uses verbose argument
1649         * testmbas/WriteOK.vb: many tests for literals implemented
1650         * literal.cs: correcting lack of a ShortLiteral class
1651         * mb-parser.jay: removed support for unsigned int literals, added support for short int literals
1652         
1653 2003/11/10  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1654         * *.cs, mb-parser.jay: Switched all from defining/using namespace Mono.CSharp to Mono.MonoBASIC 
1655         * location.cs: SymbolDocument now returns a SymbolDocumentWriter using the right (SymLanguageType.Basic) GUID
1656         
1657 2003/10/17  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1658         * genericparser.cs: 
1659             Don't print exception when a file is not found to be parsed
1660                 File extensions not matched are now processed with the default parser
1661                 Better handle file/directory not found exceptions, and use Report.Error in that case
1662         * added defaultparserattribute.cs
1663         * mb-parser.jay : Mono.MonoBASIC.Parser is now the [DefaultParser]
1664         * location.cs version 1.4 recovered (Marco Ridoni had it overwritten with an older version)
1665         * mb-tokenizer.cs, rootcontext.cs, tree.cs: Location constructor needs column number now
1666
1667 2003/09/17  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1668         * .cvsignore: WHOOPS
1669
1670 2003/09/17  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1671         * .cvsignore: some more files to ignore
1672
1673 2003/09/17  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1674         * mb-tokenizer.cs, driver.cs: Back to Linux line-endings, SORRY
1675
1676 2003/09/16  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1677         * Makefile: corrected testing in Windows/Cygwin (from mbas.exe to ./mbas.exe), because it was getting the installed compiler instead of the compiled one
1678         * mb-tokenizer.cs: Redoing: Preprocessor directives must be case-insensitive (many .ToLower() used)
1679         * driver.cs: No more 'linkpaths' option, use 'libpath' instead
1680
1681 2003/09/15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1682         * driver.cs: Corrected handling of FileNotFoundException in LoadAssembly(), according to Bernie Solomon's patch
1683
1684 2003/08/13  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1685         * mb-parser.jay: ReDim statement parses many variables now (but initializers aren't allowed)
1686                                          Erase statement implemented
1687                                          Lots of garbage (never reduced rules) deleted
1688                                          Reduce/Reduce problems eliminated (where due to having opt_modifiers duplicated inside property_declaration rule)
1689         * statement.cs : class Redim is prepared to have ReDim Preserve copying code called,
1690                                          but we need to check if that code is lying in Microsoft.VisualBasic.dll
1691                                          New class Erase
1692
1693 2003-07-26  Ben Maurer  <bmaurer@users.sourceforge.net>
1694         
1695         * statement.cs: Make Math.XXX System.Math.XXX, to fix the build.
1696         
1697 2003-07-20  Peter Williams  <peter@newton.cx>
1698
1699         * Makefile: Remove the test target which conflicted with
1700         the global target. (Change confirmed with Rafael.)
1701
1702 2003-04-02  Duncan Mak  <duncan@ximian.com>
1703
1704         * mb-parser.jay: Temporarily remove the references to
1705         Class.MustOverride to fix the build.
1706
1707 2003/03/29  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1708         * mb-parser.jay: corrected some module related rules
1709         * location.cs : now handles column information
1710         
1711 2003/03/11  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1712         * makefile.gnu : use $RUNTIME for all targets
1713                                          actually run the compiled program on 'test-gtk' target 
1714         * mb-tokenizer.cs : no escaping of chars allowed in VB.NET (old mcs code removed)
1715                                                 handle doubled-doublequotes (VB idiom to escape a doublequote) 
1716         
1717 2003/03/04  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1718         * mb-parser.jay: added rule for Imports with alias
1719         * mb-parser.jay: Friend (internal) modifier was missing,
1720                                          Shared modifier was expecting Static token erroneously
1721                                          Modules must accept only a static constructor rule added
1722                                          Constant declaration rule added
1723         * makefile & makefile.gnu : actually run the compiled program on test target 
1724
1725 2003/03/03  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1726         * mb-tokenizer.cs : new semi-keywords: Compare, Explicit, Strict, On, Off, Binary, Text
1727         * mb-parser.jay: tokens for above semi-keywords, and rules for option directives
1728         * driver.cs: integrates command line options with parser flags for option directives
1729         * makefile & makefile.gnu : added 'verbose' target that uses --verbose switch to compile 
1730           the test source and pipes it through 'less', also added a Extended Syntax source
1731
1732 2003/02/22  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1733         * class.cs : As, per vbc, there is a rootnamespace now, --main wasn't working anymore, 
1734                                  because it was expecting a fully qualified class name. 
1735                                  We now also test the name passed prepended by the rootnamespace.
1736         * class.cs : Corrected warning "The keyword new is required on `Mono.CSharp.Property.Emit'
1737                                  because it hides inherited member `PropertyBase.Emit'", by making it virtual
1738                                  in PropertyBase and override in Property.
1739         * makefile.gnu : test and test-gtk targets now depend on mbas.exe
1740                                  
1741
1742 2003/02/19  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1743         * mb-parser.jay : eliminated reduce/reduce conflict on duplicated rank_specifier rule
1744           by renaming the one using brackets to bracketed_rank_specifier
1745
1746 2003/02/12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1747         * added argument.cs (extracted from expression.cs) makefiles corrected
1748         * mb-parser.jay : eliminated reduce/reduce conflict on opt_argument_list rule, 
1749           by putting and if to make a argument list with just an empty argument list become an empty list
1750
1751 2003/02/03  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1752         * rootcontext.cs : added RootNamespace member
1753         * mb-parser.jay : use RootContext.RootNamespace to initialize outermost namespace
1754         * driver.cs : 
1755                 - implement rootnamespace parameter, and defaults it to the output file name
1756                 - like vbc if no source file name is provided just show help
1757
1758 2003/01/22  Nick Drochak <ndrochak@gol.com>
1759         * makefile: Use csc compiler in here. makefile.gnu assumes mono/mcs
1760
1761 2003-01-13  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1762         * added cleanup method to tokenizer as needed but modifications made in jay
1763
1764 2003-01-12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1765         * changed test target in makefile work
1766         * corrected authors list to include Marco
1767
1768 2002-10-23  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1769         * merged many sources from mcs/mcs, to resync
1770
1771 2002-10-20  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1772         * using Mono.GetOptions preliminar support for response files, 
1773           changed the makefile target 'test' for use o response file testmbas/filelist
1774
1775 2002-10-20  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1776         * merged many sources from mcs/mcs, to resync
1777
1778 2002-10-05  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1779         * merged many sources from mcs/mcs, to resync
1780
1781 2002-08-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1782         * merged many sources from mcs/mcs, to resync
1783
1784 2002-09-03  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1785         * integrated new version of Mono.GetOptions (reflection/attributes-based)
1786
1787 2002-08-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1788         * merged expression.cs from mcs/mcs, to resync
1789
1790 2002-08-29  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1791         * merged assign.cs, attribute.cs, class.cs, codegen.cs, const.cs, decl.cs, delegate.cs, ecore.cs, enum.cs,
1792         expression.cs, interface.cs, pending.cs, report.cs, rootcontext.cs, statement.cs, support.cs and 
1793         typemanager.cs from mcs/mcs, to resync
1794
1795 2002-08-06  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1796         * added "test" target to makefile
1797         * merged assign.cs, attribute.cs, cfold.cs, class.cs, codegen.cs, const.cs, constant.cs, 
1798           decl.cs, delegate.cs, ecore.cs, enum.cs, expression.cs, interface.cs, modifiers.cs, parameter.cs, 
1799           pending.cs, report.cs, rootcontext.cs, statement.cs, support.cs and typemanager.cs from mcs/mcs, to resync
1800
1801 2002-07-14  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1802         * merged assign.cs, class.cs, ecore.cs, expression.cs, statement.cs and typemanager from mcs/mcs, to resync
1803
1804 2002-07-09  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1805         * merged attribute.cs, ecore.cs, namespace.cs and statement.cs from mcs/mcs, to resync
1806
1807 2002-07-06  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1808         * merged attribute.cs, class.cs, codegen.cs, ecore.cs, expression.cs, 
1809           modifiers.cs, namespace.cs, report.cs, rootcontext.cs, statement.cs and typemanager.cs from mcs/mcs, to resync
1810         * changed driver.cs to follow mcs lead on error/warning counting and reporting
1811
1812 2002-06-23  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1813         * merged attribute.cs, class.cs, ecore.cs, rootcontext.cs, support.cs and typemanager.cs from mcs/mcs, to resync
1814         * makefile makes csc reference a copy of Mono.GetOptions.dll (mbas.sln now compiles to mbas dir instead of mbas/bin/Debug)
1815
1816 2002-06-21  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1817         * merged attribute.cs, class.cs, interface.cs, expression.cs, ecore.cs, 
1818           modifiers.cs, rootcontext.cs, statement.cs and typemanager.cs from mcs/mcs, to resync
1819         * added pending.cs from mcs/mcs, to resync
1820
1821 2002-06-15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1822         * merged assign.cs, attribute.cs, enum.cs and namespace.cs from mcs/mcs, to resync
1823         * namespace.cs needed some fixing, because CSharpParser isn?t available
1824
1825 2002-06-15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1826         * merged delegate.cs, ecore.cs, typemanager.cs and rootcontext.cs from mcs/mcs, to resolve expression.cs blues
1827
1828 2002-06-15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1829         * oops merged expression.cs from mcs/mcs is breaking my make
1830         * driver.cs, assemblyinfo.cs wasn?t ready for prime time (offending lines were commented out)
1831
1832 2002-06-15  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1833         * merged expression.cs from mcs/mcs
1834
1835 2002-06-12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1836         * corrected Module.TypeAttr property getter in module.cs
1837         
1838 2002-06-12  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1839         * merged typemanager.cs from mcs/mcs
1840
1841 2002-06-10  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1842         * merged expression.cs and interface.cs from mcs/mcs
1843
1844 2002-06-09  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1845         * merged const.cs, enum.cs, expression.cs and typemanager.cs from mcs/mcs
1846     * comments on module.cs
1847
1848 2002-06-07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1849         * merged class.cs, attribute.cs from mcs/mcs
1850
1851 2002-06-07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1852         * merged class.cs, enum.cs, expression.cs, interface.cs, rootcontext.cs and typemanager.cs from mcs/mcs
1853         * added module.cs (class Mono.MonoBASIC.Module - derived from Mono.CSharp.Class)
1854         * added System.XML and Microsoft.VisualBasic to the default config (driver.cs)
1855         
1856 2002-06-07  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1857         * merged class.cs and ecore.cs from mcs/mcs
1858
1859 2002-06-02  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1860         * copied methods MakeName and CheckDef from mcs\cs-parser.jay to GenericParser.cs 
1861           where they are inherited by mb-parser.jay/cs
1862         * put some code on the Module rule in mb-parser.jay to at least generate a class in the assembly,
1863           if I jump over the entry-point check code, while debugging
1864         
1865 2002-05-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1866         * class Mono.MonoBASIC.Tokenizer now handles 
1867                 - all valid line-terminators (CR, LF, CRLF, LS and PS)
1868                 - escaped identifiers (like [Integer])
1869                 - old-fashioned comments syntax (REM Blah-Blah)
1870
1871 2002-05-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1872         * modified mbas.ico to be a small version of mono?s logo (see mcs\MonoIcon.png)
1873
1874 2002-05-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1875         * squashed some reduce/reduce conflicts out of mb-parser.jay
1876
1877 2002-05-31  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1878         * merged codegen.cs from mcs
1879         * altered Driver.cs to work with new codegen.cs
1880
1881 2002-05-27  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1882
1883         * merged all I could from mcs source files into mbas
1884         * added VS.NET Solution and Project Files for mbas
1885         * added icon file and a vb-sources-filled testmbas directory
1886         * started this ChangeLog