2003-10-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.Web / System.Web.Compilation / ChangeLog
1 2003-10-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2
3         * AspParser.cs: fixed bug #49627.
4
5 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6
7         * BaseCompiler.cs: now gets the CodeCompiler from configuration files.
8
9 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
10
11         * Directive.cs: new attribute for @Page directive in 1.1.
12
13 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
14
15         * AspParser.cs:
16         * TagAttributes.cs: allow duplicated runat=server attributes and display
17         error page when duplicated attributes and runat is specified.
18
19 2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
20
21         * AspTokenizer.cs: moved token numbers above unicode.
22
23 2003-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
24
25         * AspGenerator.cs: don't process code render tags inside scripts. Check
26         the language of the script and treat javascript as verbatim input.
27         Fixes bug #48592.
28
29 2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
30
31         * TemplateControlCompiler.cs: fixed bug #48212.
32
33 2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
34
35         * WebServiceCompiler.cs: remove the temporary files here too.
36
37 2003-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
38
39         * AspGenerator.cs: fixed bug #46429.
40
41 2003-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
42
43         * Directive.cs: support @WebHandler.
44         
45 2003-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
46
47         * TemplateControlCompiler.cs: support string []. Fixes bug #46415.
48
49 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
50
51         * BaseCompiler.cs: first look for cached items, then generate the tree.
52         This should speed things up.
53
54         * CachingCompiler.cs: when compiling web services, use the full path of
55         the .asmx file as key when caching.
56
57         * WebServiceCompiler.cs: first look for cached items, then generate
58         the source file.
59
60 2003-07-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
61
62         * AspParser.cs: more useful error information,
63
64         * BaseCompiler.cs:
65         * CachingCompiler.cs: honor the debug="true" option.
66
67         * TemplateControlCompiler.cs: small fixes for templates.
68
69 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
70
71         * BaseCompiler.cs: made Compiler property virtual.
72
73         * CachingCompiler.cs: added support for compiling web services.
74
75         * WebServiceCompiler.cs: implemented.
76
77 2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
78
79         * CachingCompiler.cs: fixed bug #43477.
80
81 2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
82
83         * AspParser.cs:
84         * AspTokenizer.cs: fixed bugs #43206 and #43371.
85
86 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
87
88         * TemplateControlCompiler.cs: duh! Generate SupportAutoEvents instead
89         of AutoEventWireup (which is internal). Thanks to Stuart Ballard for
90         reporting.
91
92 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
93
94         * CompilationException.cs: don't add duplicated lines in the case that
95         mcs reports several errors for the same one.
96
97 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
98
99         * AspGenerator.cs: fully support including files, ie., treat them just
100         as C treats #includes.
101
102 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
103
104         * AspGenerator.cs:
105         * AspParser.cs:
106         * TagType.cs: Added support for server side includes.
107
108 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
109
110         * CSCompiler.cs: actually add the list of referenced assemblies to the
111         compiler options. Throw a CompilationException if there's an error.
112
113         * CachingCompiler.cs: added a method to compile directly from a source
114         file.
115         
116 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
117
118         * AspGenerator.cs: copy the location before setting the value for the
119         control builders.
120
121         * BaseCompiler.cs: changed parameters for CompilationException.
122
123         * CompilationException.cs: it takes now line numbers and error
124         descriptions from the CompilerErrorCollection.
125
126         * Location.cs: used when a copy of an ILocation is needed.
127
128         * ParseException.cs: implemented new methods to provide line numbers
129         and souce file.
130
131         * TemplateControlCompiler.cs: throw a ParseException where appropiate.
132
133 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
134
135         * AspGenerator.cs: also support data bind syntax inside tags not
136         processed as controls. Added debugging method.
137
138         * TemplateControlCompiler.cs: reset the number of data binding handlers 
139         in the proper place. Small fix when getting the container type.
140
141 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
142
143         * TemplateControlCompiler.cs: correctly set the TemplateSourceDirectory 
144         value.
145
146 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
147
148         * AspGenerator.cs: handle code render syntax in tag attributes.
149
150         * AspParser.cs: the constructor now takes a TextReader.
151
152         * TemplateControlCompiler.cs: removed comment.
153
154 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
155
156         * TemplateControlCompiler.cs: added support for data bound properties.
157
158 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
159
160         * AspComponentFoundry.cs: simplified it a lot by using Type and Assembly
161         instead of their names.
162
163         * AspElements.cs: removed. No longer needed.
164
165         * AspGenerator.cs: this file is now in charge of interfacing between
166         the parser and the compiler. It manages the creation of the
167         ControlBuilder tree and the compilation of the CodeDOM tree.
168
169         * AspParser.cs: tag handling is simpler now.  Instead of a whole bunch
170         of different Types, tags are just and id and a set of attributes.
171         Implement ILocation interface.
172         
173         * AspTokenizer.cs: added a few methods to help the parser implementing
174         ILocation.
175
176         * BaseCompiler.cs: handles the portions of the CodeDOM tree that are
177         common to appliaction, page and user control, including the actual
178         compilation and error handling.
179
180         * CSCompiler.cs: compiles C# files using CodeDOM interfaces.
181
182         * CachingCompiler.cs: simplified to use the new interfaces.
183
184         * CompilationException.cs: it's now using CompilationResult to report
185         errors.
186
187         * CompilationResult.cs: Removed file.
188
189         * Directive.cs: to check for the validity of a directive.
190
191         * GlobalAsaxCompiler.cs: simplified a lot, as most of the work is done
192         in BaseCompiler.
193
194         * ILocation.cs: interface used to now the exact place where a parse
195         error happens.
196
197         * PageCompiler.cs: generates a couple of methods that are only used in
198         pages.
199
200         * ParseException.cs: use the ILocation interface.
201
202         * TagAttributes.cs: handles the attributes of the tags parsed.
203
204         * TagType.cs: an enum for the different kinds of tags.
205
206         * TemplateControlCompiler.cs: this is the one that does most of the
207         conversion from teh ControlBuilder tree into a CodeDOM tree.
208
209         * UserControlCompiler.cs: simplified as most of the work is done in
210         its base classes.
211
212         * WebServiceCompiler.cs: dummy.
213
214 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
215
216         * AspComponentFoundry.cs: added GetComponentType method.
217
218 2003-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
219
220         * AspTokenizer.cs: allow quotes inside server tags that are part of
221         attribute values.
222         
223         * CachingCompiler.cs: no more 'FileNotFound' exceptions when the
224         compilation fails.
225
226 2003-03-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
227
228         * AspGenerator.cs: generate correct appbase path. It was working with
229         mcs but not with csc.
230
231         * BaseCompiler.cs: quote arguments and removed GetRandomFileName.
232
233         * CachingCompiler.cs: quote source file.
234
235 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
236
237         * AspGenerator.cs: now the Inherits attribute works as expected for
238         global.asax file.
239
240 2003-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
241
242         * CompilationException.cs:
243         * ParseException.cs: display the correct line number in error messages.
244
245         * AspElements.cs: added TargetSchema attribute for control. It's
246         ignored.
247
248 2003-03-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
249
250         * BaseCompiler.cs: fixed the hack to work under windows.
251         * CachingCompiler.cs: under windows, try 'mcs.bat' and then 'mcs'.
252
253 2003-03-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
254
255         * BaseCompiler.cs: hacks to work-around our buggy System.Uri.
256
257 2003-03-17 George Kodinov <gkodinov@openlinksw.co.uk>
258
259         * BaseCompiler.cs: Removed a FIXME: and added a correct calculation of
260         app's private bin path
261
262 2003-03-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
263
264         * AspGenerator.cs:
265         * BaseCompiler.cs:
266         * CachingCompiler.cs:
267         * CompilationResult.cs:
268         * GlobalAsaxCompiler.cs:
269         * PageCompiler.cs:
270         * UserControlCompiler.cs: recompile the page if dependencies change.
271
272 2003-02-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
273
274         * AspGenerator.cs: corrected typo and wrong fix.
275
276 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
277
278         * AspGenerator.cs: fixed code generation for Table/TableRow/TableCell
279         when used explicitly.
280
281 2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
282
283         * AspElements.cs: get the property Type for controls that use
284         ParseChildren with a property name.
285
286         * AspGenerator.cs: generate correct signature for the method that
287         adds controls to the default property in ParseChildren.
288
289 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
290
291         * AspGenerator.cs: rethrow exceptions that may come from parsing or 
292         compilation if a user control.
293
294 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
295
296         * AspGenerator.cs: throw ParseException on parse
297         error.
298
299         * AspParser.cs: added Line and Column props.
300
301         * CompilationException.cs: derives now from HtmlizedException.
302
303         * CompilationResult.cs: added fileName field.  Fixed set_ExitCode.
304
305         * GlobalAsaxCompiler.cs:
306         * PageCompiler.cs:
307         * UserControlCompiler.cs: pass the file name in the CompilationResult.
308
309         * ParseException.cs: new exception.
310
311
312 2003-02-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
313
314         * AspGenerator.cs: remove "file://" from the private bin path. Fixes
315         bug #37628.
316
317 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
318
319         * AspParser.cs: the parser fires events when it parses an element.
320
321         * GlobalAsaxCompiler.cs:
322         * PageCompiler.cs:
323         * UserControlCompiler.cs:
324         * AspElements.cs: modified to use the new parser interface.
325
326         * AspGenerator.cs: modified to use the new parser. Merge multiple text
327         strings into one single LiteralControl.
328
329         * AspTokenizer.cs: added Line and Column properties.
330
331 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
332
333         * AspParser.cs: fixed bug #36929.
334
335 2003-01-21  Tim Haynes <thaynes@openlinksw.com>
336
337         * AspGenerator.cs:
338         * BaseCompiler.cs:
339         * CachingCompiler.cs: changes to work around spaces and
340         directory-separators in the local filesystem.
341
342 2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
343
344         * AspGenerator.cs: make the generated file compile with csc after last
345         change.
346
347 2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
348
349         * AspGenerator.cs: removed unused variable. Added support for
350         properties/fields of type string [].
351
352 2003-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
353
354         * AspGenerator.cs: modified loading of the parent type now that
355         Type.GetType is fixed.
356
357 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
358
359         * AspGenerator.cs: cast to Control if the container does not implement
360         INamingContainer.
361
362 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
363
364         * AspGenerator.cs: fixed a couple of thinkos related to IsSubclassOf.
365
366 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
367
368         * AspElements.cs: attributes without value lacked a space afterwards.
369
370 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
371
372         * AspGenerator.cs: functions for columns don't return anything. Fixed
373         typo.
374
375 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
376
377         * AspGenerator.cs: add data bound controls to code render function.
378
379 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
380
381         * AspComponentFoundry.cs: reworked to allow same prefix for multiple
382         controls. You can register 1 assembly plus any number of user controls
383         under the same prefix.
384
385         * AspGenerator.cs: don't add duplicate 'using' for the same namespace.
386         Hack to allow @Register access to assemblies in other places than bin
387         directory.
388
389 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
390
391         * AspElements.cs: added 'codebehind' attribute for page, control and
392         application. It's ignored by MS, but allowed. Fixed typo.
393
394 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
395
396         * AspGenerator.cs: fixed EnableSesssionState handling.
397
398 2003-01-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
399
400         * AspGenerator.cs: don't generate instance fields for pages/controls
401         when the base class specified in the Inherits attribute already has
402         them. Closes bug #36262.
403
404 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
405
406         * AspGenerator.cs: generate code like 'control.XXX = value' also for
407         public fields (properties were being handled in that way too).
408
409 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
410
411         * AspGenerator.cs: now it uses the current HttpContext when creating
412         user controls. TemplateSourceDirectory is no longer a dummy value.
413
414         * GlobalAsaxCompiler.cs:
415         * PageCompiler.cs:
416         * UserControlCompiler.cs: set the context which will be used to locate
417         the files.
418         
419 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
420
421         * AspGenerator.cs: added support for AutoEventWireup attribute in
422         @Page and @Control.
423
424         * CompilationResult.cs:
425         * GlobalAsaxCompiler.cs:
426         * PageCompiler.cs:
427         * UserControlCompiler.cs: store the options.
428
429 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
430
431         * AspElements.cs: new method Tag.GetElements
432         used to parse the inner contents of a tag looking for data binding or 
433         code render tags.
434         
435         New property HtmlControlTag.ParseChildren allows
436         differentiation of a couple of HtmlControls that has children as
437         properties (namely HtmlTable and HtmlTableRow).
438
439         * AspGenerator.cs: fixed container semantics to
440         match BindingContainer one. Implemented Inherits attribute for page and
441         control.
442
443         Support HtmlControls that has ChildrenAsProperties.
444         
445         Generate code for data binding functions that matches the semantic of
446         Container.
447
448         Handle data bound and code render attribute values.
449
450         Set proper value return for TemplateSourceDirectory. Should be relative
451         to appPath.
452         
453         * BaseCompiler.cs: moved CompilerOptions and
454         References handling here.
455
456         * CachingCompiler.cs: copy result of compilation.
457
458         * CompilationException.cs: simple ToString () implementation.
459
460         * CompilationResult.cs: implemented CopyFrom and ToString.
461
462         * GlobalAsaxCompiler.cs:
463         * PageCompiler.cs:
464         * UserControlCompiler.cs: removed CompilerOptions as it's now handled
465         in the base class. Get all the types in the generated assembly and
466         look for one that derives from the correct Type.
467         
468 2002-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
469
470         * AspElements.cs: added @Application directive.
471
472         * AspGenerator.cs: make it work also with application files. We
473         currently generate an extra private function.
474
475 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
476
477         * GlobalAsaxCompiler.cs: compiler for global.asax file. If the file
478         exists, it will be compiled into an HttpApplication derived class
479         (directly or through a user-provided class).
480
481 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
482
483         * AspGenerator.cs: fixed target file name and generated class name.
484         * BaseCompiler.cs: reference assemblies in PrivateBinPath.
485
486 2002-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
487
488         * AspGenerator.cs: reworked user control
489         compilation. Provide the options as a Hashtable for use in compilation.
490         Create the user controls in the private bin path of the domain.
491
492         * BaseCompiler.cs: base class for the various compiler types.
493
494         * CachingCompiler.cs: actually executes mcs and do some poor caching
495         (it will use Cache when finished).
496
497         * CompilationException.cs: this exception has enough information to
498         generate a nice error page.
499         * CompilationResult.cs: used in caching.
500
501         * PageCompiler.cs: now derives from BaseCompiler
502
503         * TemplateFactory.cs: no longer needed.
504
505         * UserControlCompiler.cs: new class used when compiling user controls.
506         * WebServiceCompiler.cs: derives from BaseCompiler.
507
508 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
509
510         * AspElements.cs: added ServerComment class.
511         * AspParser.cs: ignore ServerComments tags. Remove server comments when 
512         in verbatim mode.
513
514         Fixes #33482.
515
516         * PageCompiler.cs: check if the type is already cached before generating
517         the C# file.
518         * TemplateFactory.cs: if csFile parameter is null, only checks if we
519         already have the page compiled.
520
521 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
522
523         * AspGenerator.cs: undo one-liner change.
524
525 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
526
527         * AspGenerator.cs: removed a few hacks no longer needed.
528
529 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
530
531         * PageCompiler.cs: tracing.
532         * TemplateFactory.cs: cache compiled types and tracing.
533         * WebServiceCompiler.cs: new parameter in GetTypeFromsource,
534
535 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
536
537         * AspComponentFoundry.cs: fixed typo.
538         * TemplateFactory.cs: use csc style options.
539         * AspGenerator.cs: don't use FileDependencies property of base class.
540
541 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
542
543         * System.Web.Compilation/AspElements.cs:
544         * System.Web.Compilation/AspGenerator.cs:
545         * System.Web.Compilation/AspParser.cs:
546         * System.Web.Compilation/PageCompiler.cs:
547         * System.Web.Compilation/TemplateFactory.cs: we are now able to compile
548         pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
549
550 2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
551
552         * AspElements.cs: added WebService directive.
553         * WebServiceCompiler.cs: New file.
554
555 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
556
557         * PageCompiler.cs: fixed compilation.
558
559 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
560
561         * PageCompiler.cs: generate C# file using AspGenerator.
562
563 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
564
565         * AspComponentFoundry.cs: LookupFoundry now returns bool.
566         * AspGenerator.cs: New file.
567
568 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
569
570         * AspComponentFoundry.cs: New file.
571         * AspElements.cs: renamed Component to Aspcomponent.
572
573 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
574
575         * AspElements.cs:
576         * AspParser.cs:
577         * AspTokenizer.cs:
578         * ChangeLog:
579         * PageCompiler.cs:
580         * TemplateFactory.cs: first steps to move xsp into System.Web.
581