Bunch of fixes from HEAD
[mono.git] / mcs / class / System.Web / System.Web.Compilation / ChangeLog
1 2005-09-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2
3         * BaseCompiler.cs: set the domain's DynamicBase property instead of
4         guessing it in BaseCompiler.
5
6 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7
8         * WebServiceCompiler.cs: apply the same fix as in r45440 that fixed bug
9         75146 for pages/controls.
10
11 2005-08-09  Miguel de Icaza  <miguel@novell.com>
12
13         * WebServiceCompiler.cs: Use the new DynamicDir method.
14
15         * BaseCompiler.cs: Use the DynamicBase property as a hint, but
16         since this value is null most of the time, compute the real value.
17
18         Added Bonus: if the directory has some kind of permission problem,
19         try a different directory name.
20
21 2005-07-13  Miguel de Icaza  <miguel@novell.com>
22
23         * AspGenerator.cs (AspGenerator.CheckLanguage): Use
24         BaseParser.Context for the context. 
25
26 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
27
28         * TagAttributes.cs:
29         * AspParser.cs:
30         * TemplateControlCompiler.cs: use invariant culture versions of starts/
31         endswith.
32
33 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
34
35         * TemplateControlCompiler.cs: comparison between member name and the
36         first part of the id provided by the user should also be
37         case-insensitive. Fixes bug #75379.
38
39 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
40
41         * CachingCompiler.cs: use cache.InsertPrivate.
42         * AspGenerator.cs: use cache.InsertPrivate. Removed extra call to
43         AddDependency.
44
45 2005-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
46
47         * CachingCompiler.cs: create the assemly in the DynamicBase directory,
48         as all the others, when compiling an assembly from a Src file. Fixes
49         bug #75371.
50
51 2005-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
52
53         * TemplateControlCompiler.cs: if the property is not found, don't forget
54         about trying the field.
55
56 2005-06-13  Lluis Sanchez Gual <lluis@novell.com>
57
58         * Directive.cs: Register the MasterType directive.
59         * PageCompiler.cs: If a MasterType is specified, add a type specific
60         Master property. All this fixes bug #75192.
61
62 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
63
64         * TemplateControlCompiler.cs: when mapping an attribute name to a field
65         or property name, there's no need to try with every property and field,
66         but just the one found when searching by name (no case). There was one
67         call to ProcessPropertiesAndFields per property or field until found,
68         now only one if the property/field is found, none otherwise.
69
70 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
71
72         * TemplateControlCompiler.cs: allow more than 2 levels when looking for
73         properties of fields for an attribute like "Prop1-Prop2-Prop3". Fixes
74         bug #75234.
75
76 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
77
78         * BaseCompiler.cs: when the OutputAssembly is null, we can still have
79         the assembly file there and be able to load it. Thanks to Rogerio and
80         Mark.
81
82 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
83
84         * AspParser.cs: InvariantCulture love.
85
86 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
87
88         * TemplateControlCompiler.cs: use the Page AddContentTemplate method,
89         as the one in Master is protected. Fixes bug #75157.
90
91 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
92
93         * AspComponentFoundry.cs: tagnames have precedence over types in
94         assemblies when they use the same prefix. Fixes bug #71855.
95
96 2005-05-03  Lluis Sanchez Gual <lluis@novell.com>
97
98         * WebServiceCompiler.cs: Create the temp directory before
99         creating the web service source code file.
100
101 2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
102
103         * AspGenerator.cs: when checking languages, try to match other aliases
104         too (ie, 'cs' == 'c#').
105
106 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
107
108         * BaseCompiler.cs: check that DynamicBase directory exists before
109         creating the TempFileCollection.
110
111 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
112
113         * AspGenerator.cs: use a stack for non-server tags even before getting
114         to a form. Fixes bug #70274.
115
116 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
117
118         * AspParser.cs: don't error out on ill formed tags if it's not a server
119         tag (ie, allow something like '<table align="left cellpadding="0">' to
120         work, as MS does. Fixes bug #67909.
121
122 2005-04-20 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
123         * BaseCompiler.cs: do the bridge of Explicit/Strict attributes from
124         @Page/@Control directives to CodeDOM (VB.NET support)
125
126 2005-04-19  Lluis Sanchez Gual <lluis@novell.com>
127
128         * AspParser.cs: Fixed parsing of data binding tags in server
129         tag attributes. Allow <%...%> blocks not assigned to
130         attributes in client tags.
131         * TagAttributes.cs: Make sure that data binding blocks in server
132         tags are always assigned to attributes.
133
134 2005-04-15  Lluis Sanchez Gual <lluis@novell.com>
135
136         * TemplateControlCompiler.cs: Implemented support for two-way
137         binding.
138
139 2005-04-14  Lluis Sanchez Gual <lluis@novell.com>
140
141         * TemplateControlCompiler.cs: Use the new BindingContainerType
142         property to find the type of the binding container. 
143         
144 2005-04-07  Lluis Sanchez Gual <lluis@novell.com>
145
146         * TemplateControlCompiler.cs: Avoid using the GetConverter() trick
147         for primitive types. Parse an empty color string as Color.Empty.
148         Get the converter for a property using its PropertyDescriptor.
149         
150 2005-04-05  Lluis Sanchez Gual <lluis@novell.com>
151
152         * TemplateControlCompiler.cs: Don't autogenerate IDs for
153         controls inside Content template.
154
155 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
156
157         * TemplateControlCompiler.cs: make typedesc.aspx work again.
158
159 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
160
161         * ExpressionBuilderContext.cs:
162         * ExpressionBuilder.cs: implemented.
163
164 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
165
166         * AspGenerator.cs: don't fail on <tbody runat=server>. Fixes bug #71856.
167
168 2005-01-28  Lluis Sanchez Gual <lluis@novell.com>
169
170         * TemplateControlCompiler.cs: When generating a property value,
171         check for TypeConverterAttribute in the PropertyInfo, not only in the
172         property type.
173         Implemented code generation using InstanceDescriptor, when the type
174         converter supports conversion to that type.
175
176 2005-01-21  Lluis Sanchez Gual <lluis@novell.com>
177
178         * Directive.cs: Added MASTER directive.
179         * AspGenerator.cs: Use UserControlCompiler for compiling master pages.
180         * PageCompiler.cs: Set the master file name when generating the page.
181         * TemplateControlCompiler.cs: When generating the method for a
182         content holder, register the content holder in the base MasterPage.
183         Added method for registering a Content control for a MasterPage.
184         Generate code for Content controls.
185
186 2005-01-10  Lluis Sanchez Gual <lluis@novell.com>
187
188         * TemplateControlCompiler.cs: Get the container type from the
189         template (if it was defined using TemplateContainerAttribute.
190
191 2004-10-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
192
193         * AspGenerator.cs: correctly process script tags that self-closing.
194         Fixes bug #69657.
195
196 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
197
198         * CachingCompiler.cs: when compiling a single .cs file, add the file
199         itself to dependencies. Fixes bug #68788.
200
201 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
202
203         * ControlBuilder.cs: don't close server tags when we get to a closing
204         tag that is not applied to a server control. Fixes bug #60323.
205
206 2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
207
208         * WebServiceCompiler.cs: fix buglet in my last commit.
209
210 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
211
212         * BaseCompiler.cs:
213         * CachingCompiler.cs:
214         * WebServiceCompiler.cs: correctly cache Type instead of the assembly
215         for ashx/asmx. Otherwise we need to open the file and check for the
216         class name in there. Thanks to Ben for pointing this out.
217
218 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
219
220         * AspParser.cs:
221         * AspTokenizer.cs: prevent quotes from being swallowed when we're 
222         inside a server tag and they are the next non-whitespace character.
223         Fixes bug #63451.
224
225 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
226
227         * CachingCompiler.cs: don't try to watch for changes in system
228         assemblies. Fixes bug #64871.
229
230 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
231
232         * AspGenerator.cs: handle builders that need to process inner text
233         with tags.
234
235         * Location.cs: added setters for the properties.
236
237 2004-08-02  Duncan Mak  <duncan@ximian.com>
238
239         * BuildProviderResultFlags.cs:  
240         * IImplicitResourceProvider.cs: 
241         * ImplicitResourceKey.cs:
242         * IResourceReader.cs: Added.
243
244 2004-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
245
246         * AspGenerator.cs: the path for file was treated as virtual, but it's
247         physical. Fixes bug #61524.
248
249 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
250
251         * AspParser.cs: fixed case-sensitivity issues with #include and its
252         attributes. Closes #61429.
253
254 2004-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
255
256         * BaseCompiler.cs:
257         * WebServiceCompiler.cs: really create the dlls under DynamicBase
258
259 2004-06-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
260
261         * TemplateControlCompiler.cs: for system colors, use SystemColors class
262         instead of Color. Fixes bug #60249.
263
264 2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
265
266         * BaseCompiler.cs: try getting the Type from the cache before doing the 
267         real work. Remove temporary files right after successful compilation.
268
269         * CachingCompiler.cs: added GetTypeFromCache.
270
271         * UserControlCompiler.cs: nothing interesting.
272
273         * WebServiceCompiler.cs: try getting the Type from the cache before
274         doing anything else. Remove temp files on sucessful compilation.
275
276 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
277
278         * AspGenerator.cs:
279         * CachingCompiler.cs: use a different prefix when caching compiler
280         results or Types.
281
282 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
283
284         * BaseCompiler.cs: dynamicBase is now protected. Check
285         MONO_ASPNET_NODELETE here.
286
287         * TemplateControlCompiler.cs: if the type is not known but has a 
288         TypeConverter, invoke ConvertFromString in the generated code.
289
290         * WebServiceCompiler.cs: it used a hardcoded C# compiler, now it gets
291         the compiler from the configuration. Also handle MONO_ASPNET_NODELETE.
292
293         * CachingCompiler.cs: updated compilation of web services and simple
294         web handlers.
295
296 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
297
298         * CSCompiler.cs: removed.
299
300         * CachingCompiler.cs: language independent compilation for single files.
301
302 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
303
304         * BaseCompiler.cs:
305         * WebServiceCompiler.cs: adapted to the 'new' CachingCompiler.
306         * CachingCompiler.cs: use HttpRuntime.Cache.
307
308 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
309
310         * PageCompiler.cs: fixed Trace and add support for Buffer.
311
312 2004-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
313
314         * PageCompiler.cs: override CreateConstructor to add assignment for
315         ClientTarget.
316         
317 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
318
319         * TemplateControlCompiler.cs: use CodeDelegateCreateExpression instead
320         of CodeObjectCreateExpression for the render method delegate. Thanks
321         to Jochen Wezel.
322
323 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
324
325         * BaseCompiler.cs: use DynamicBase for the output assemblies.
326
327 2004-05-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
328
329         * AspGenerator.cs: ObjectTagBuilder do not override HasBody now.
330
331 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
332
333         * AspParser.cs: indent a few lines.
334         * AspTokenizer.cs: added ungetc() used when we read a '/' in an unquoted
335         attribute value. This way we can simulate reading 2 characters ahead
336         (one in ungetc and the other in Peek) and work with values like
337         text/javascript. Fixes bug #57302.
338
339 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
340
341         * AspParser.cs: ignore whitespace after directives. Fixes bug #58057.
342
343 2004-04-02  Lluis Sanchez Gual  <lluis@ximian.com>
344
345         * TemplateControlCompiler.cs: Fixed build for net_1_0 profile.
346
347 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
348
349         * GlobalAsaxCompiler.cs: removed Imports and Assemblies properties.
350
351 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
352
353         * AspGenerator.cs: error out when <object> server tag is not closed.
354         Ignore any content inside it.
355
356 2004-02-10  Jackson Harper <jackson@ximian.com>
357
358         * AspTokenizer.cs: Collect discarded characters that might be used
359         in client side scripts. Patch by Liyu Liu.
360         * AspParser.cs: Add discarded characters. Patch by Liyu Liu.
361         
362 2004-02-10  Jackson Harper <jackson@ximian.com>
363
364         * BaseCompiler.cs: Use the TempDirectory for compilation. Fixes
365         bug #54117.
366         
367 2004-01-30  Jackson Harper <jackson@ximian.com>
368
369         * TemplateControlCompiler.cs: Call ToString on the types hashcode,
370         the build method takes strings not ints.
371         
372 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
373
374         * AspGenerator.cs: handle more possible errors in global.asax file.
375
376         * BaseCompiler.cs: added utility methods for creating <object> related
377         properties and fields.
378
379         * GlobalAsaxCompiler.cs: keep around applications and session scope
380         objects builders. Also a list of imports and assemblies added in
381         global.asax.
382
383         * TemplateControlCompiler.cs: use base class methods for <object> stuff.
384
385 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
386
387         * AspGenerator.cs: use the Cache to store compiled Types. Don't parse
388         pages more than once. Thanks to Eric Lindvall for pointing this out.
389
390 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
391
392         * TemplateControlCompiler.cs: allow handling subproperties for other
393         types than Style and Font. Fixes bug #53217.
394
395 2004-01-16  Jackson Harper <jackson@ximian.com>
396
397         * TagAttribute.cs: attributes can be stored as encoded html so we
398         decode them here.
399         
400 2004-01-14  Jackson Harper <jackson@ximian.com>
401
402         * TemplateControlCompiler.cs: Is a user control is cached and
403         shared use the controls type hashcode for the GUID so it will be
404         the same across instances.
405         
406 2004-01-13  Jackson Harper <jackson@ximian.com>
407         
408         * TemplateControlCompiler.cs: If an item has the partial caching
409         attribute build a PartialCachingControl in the parents __Build method.
410         * BaseCompiler.cs: Add a method for adding class attributes to the
411         class.
412         * UserControlCompiler.cs: If caching is enabled on a user control
413         add the PartialCachingAttribute to it.
414         
415 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
416
417         * PageCompiler.cs: invoke Request.ValidateInput if required.
418
419 2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
420
421         * AspGenerator.cs: don't rely on GC to close the files parsed. Fixes bug
422         #52521. Patch by liyul@hotmail.com.
423
424 2003-12-25  Jackson Harper <jackson@ximian.com>
425
426         * AspGenerator.cs: Allow scriptlets in javascript. This fixes bug
427         #52522.
428         
429 2003-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
430
431         * PageCompiler.cs: assign the ErrorPage property if provided.
432
433 2003-12-15  Jackson Harper <jackson@ximian.com>
434
435         * PageCompiler.cs: Add Trace and TraceMode to framework initialize
436         method if they are set.
437         
438 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
439
440         * AspGenerator.cs: ignore <tbody> when we're inside a server table and
441         fail when runat="server" is applied to <tbody> with a parse error
442         instead of waiting for a compilation error. Fixes bug #52157.
443
444 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
445
446         * AspGenerator.cs: basic checking of ID validity.  Throw a
447         ParseException when mixing languages.
448
449 2003-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
450
451         * PageCompiler.cs: assign LCID, Culture and/or UICulture in
452         FrameworInitialize() if provided in @Page.
453
454         Fixes bug #51511.
455
456 2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
457
458         * TemplateControlCompiler.cs: support for expressions of
459         System.Drawing.Size type. Allow getting Color from comma separated
460         numbers, which is not allowed by ColorConverter.
461
462         This makes http://www.codeproject.com/aspnet/asppopup.asp work.
463
464 2003-11-13  Jackson Harper <jackson@ximian.com>
465
466         * PageCompiler.cs: Call InitOutputCache when the OutputCache
467         directive is set.
468         
469 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
470
471         * AspGenerator.cs: use fileEncoding from configuration files.
472
473         * PageCompiler.cs: add assign statements for ContentType,
474         ResponseEncoding and CodePage if supplied.
475
476 2003-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
477
478         * TemplateControlCompiler.cs: fix bug #42994. Now we don't generate
479         a return statement for user controls with 'void' return type.
480
481 2003-10-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
482
483         * AspParser.cs: fixed bug #49627.
484
485 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
486
487         * BaseCompiler.cs: now gets the CodeCompiler from configuration files.
488
489 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
490
491         * Directive.cs: new attribute for @Page directive in 1.1.
492
493 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
494
495         * AspParser.cs:
496         * TagAttributes.cs: allow duplicated runat=server attributes and display
497         error page when duplicated attributes and runat is specified.
498
499 2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
500
501         * AspTokenizer.cs: moved token numbers above unicode.
502
503 2003-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
504
505         * AspGenerator.cs: don't process code render tags inside scripts. Check
506         the language of the script and treat javascript as verbatim input.
507         Fixes bug #48592.
508
509 2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
510
511         * TemplateControlCompiler.cs: fixed bug #48212.
512
513 2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
514
515         * WebServiceCompiler.cs: remove the temporary files here too.
516
517 2003-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
518
519         * AspGenerator.cs: fixed bug #46429.
520
521 2003-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
522
523         * Directive.cs: support @WebHandler.
524         
525 2003-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
526
527         * TemplateControlCompiler.cs: support string []. Fixes bug #46415.
528
529 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
530
531         * BaseCompiler.cs: first look for cached items, then generate the tree.
532         This should speed things up.
533
534         * CachingCompiler.cs: when compiling web services, use the full path of
535         the .asmx file as key when caching.
536
537         * WebServiceCompiler.cs: first look for cached items, then generate
538         the source file.
539
540 2003-07-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
541
542         * AspParser.cs: more useful error information,
543
544         * BaseCompiler.cs:
545         * CachingCompiler.cs: honor the debug="true" option.
546
547         * TemplateControlCompiler.cs: small fixes for templates.
548
549 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
550
551         * BaseCompiler.cs: made Compiler property virtual.
552
553         * CachingCompiler.cs: added support for compiling web services.
554
555         * WebServiceCompiler.cs: implemented.
556
557 2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
558
559         * CachingCompiler.cs: fixed bug #43477.
560
561 2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
562
563         * AspParser.cs:
564         * AspTokenizer.cs: fixed bugs #43206 and #43371.
565
566 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
567
568         * TemplateControlCompiler.cs: duh! Generate SupportAutoEvents instead
569         of AutoEventWireup (which is internal). Thanks to Stuart Ballard for
570         reporting.
571
572 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
573
574         * CompilationException.cs: don't add duplicated lines in the case that
575         mcs reports several errors for the same one.
576
577 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
578
579         * AspGenerator.cs: fully support including files, ie., treat them just
580         as C treats #includes.
581
582 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
583
584         * AspGenerator.cs:
585         * AspParser.cs:
586         * TagType.cs: Added support for server side includes.
587
588 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
589
590         * CSCompiler.cs: actually add the list of referenced assemblies to the
591         compiler options. Throw a CompilationException if there's an error.
592
593         * CachingCompiler.cs: added a method to compile directly from a source
594         file.
595         
596 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
597
598         * AspGenerator.cs: copy the location before setting the value for the
599         control builders.
600
601         * BaseCompiler.cs: changed parameters for CompilationException.
602
603         * CompilationException.cs: it takes now line numbers and error
604         descriptions from the CompilerErrorCollection.
605
606         * Location.cs: used when a copy of an ILocation is needed.
607
608         * ParseException.cs: implemented new methods to provide line numbers
609         and souce file.
610
611         * TemplateControlCompiler.cs: throw a ParseException where appropiate.
612
613 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
614
615         * AspGenerator.cs: also support data bind syntax inside tags not
616         processed as controls. Added debugging method.
617
618         * TemplateControlCompiler.cs: reset the number of data binding handlers 
619         in the proper place. Small fix when getting the container type.
620
621 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
622
623         * TemplateControlCompiler.cs: correctly set the TemplateSourceDirectory 
624         value.
625
626 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
627
628         * AspGenerator.cs: handle code render syntax in tag attributes.
629
630         * AspParser.cs: the constructor now takes a TextReader.
631
632         * TemplateControlCompiler.cs: removed comment.
633
634 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
635
636         * TemplateControlCompiler.cs: added support for data bound properties.
637
638 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
639
640         * AspComponentFoundry.cs: simplified it a lot by using Type and Assembly
641         instead of their names.
642
643         * AspElements.cs: removed. No longer needed.
644
645         * AspGenerator.cs: this file is now in charge of interfacing between
646         the parser and the compiler. It manages the creation of the
647         ControlBuilder tree and the compilation of the CodeDOM tree.
648
649         * AspParser.cs: tag handling is simpler now.  Instead of a whole bunch
650         of different Types, tags are just and id and a set of attributes.
651         Implement ILocation interface.
652         
653         * AspTokenizer.cs: added a few methods to help the parser implementing
654         ILocation.
655
656         * BaseCompiler.cs: handles the portions of the CodeDOM tree that are
657         common to appliaction, page and user control, including the actual
658         compilation and error handling.
659
660         * CSCompiler.cs: compiles C# files using CodeDOM interfaces.
661
662         * CachingCompiler.cs: simplified to use the new interfaces.
663
664         * CompilationException.cs: it's now using CompilationResult to report
665         errors.
666
667         * CompilationResult.cs: Removed file.
668
669         * Directive.cs: to check for the validity of a directive.
670
671         * GlobalAsaxCompiler.cs: simplified a lot, as most of the work is done
672         in BaseCompiler.
673
674         * ILocation.cs: interface used to now the exact place where a parse
675         error happens.
676
677         * PageCompiler.cs: generates a couple of methods that are only used in
678         pages.
679
680         * ParseException.cs: use the ILocation interface.
681
682         * TagAttributes.cs: handles the attributes of the tags parsed.
683
684         * TagType.cs: an enum for the different kinds of tags.
685
686         * TemplateControlCompiler.cs: this is the one that does most of the
687         conversion from teh ControlBuilder tree into a CodeDOM tree.
688
689         * UserControlCompiler.cs: simplified as most of the work is done in
690         its base classes.
691
692         * WebServiceCompiler.cs: dummy.
693
694 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
695
696         * AspComponentFoundry.cs: added GetComponentType method.
697
698 2003-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
699
700         * AspTokenizer.cs: allow quotes inside server tags that are part of
701         attribute values.
702         
703         * CachingCompiler.cs: no more 'FileNotFound' exceptions when the
704         compilation fails.
705
706 2003-03-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
707
708         * AspGenerator.cs: generate correct appbase path. It was working with
709         mcs but not with csc.
710
711         * BaseCompiler.cs: quote arguments and removed GetRandomFileName.
712
713         * CachingCompiler.cs: quote source file.
714
715 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
716
717         * AspGenerator.cs: now the Inherits attribute works as expected for
718         global.asax file.
719
720 2003-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
721
722         * CompilationException.cs:
723         * ParseException.cs: display the correct line number in error messages.
724
725         * AspElements.cs: added TargetSchema attribute for control. It's
726         ignored.
727
728 2003-03-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
729
730         * BaseCompiler.cs: fixed the hack to work under windows.
731         * CachingCompiler.cs: under windows, try 'mcs.bat' and then 'mcs'.
732
733 2003-03-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
734
735         * BaseCompiler.cs: hacks to work-around our buggy System.Uri.
736
737 2003-03-17 George Kodinov <gkodinov@openlinksw.co.uk>
738
739         * BaseCompiler.cs: Removed a FIXME: and added a correct calculation of
740         app's private bin path
741
742 2003-03-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
743
744         * AspGenerator.cs:
745         * BaseCompiler.cs:
746         * CachingCompiler.cs:
747         * CompilationResult.cs:
748         * GlobalAsaxCompiler.cs:
749         * PageCompiler.cs:
750         * UserControlCompiler.cs: recompile the page if dependencies change.
751
752 2003-02-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
753
754         * AspGenerator.cs: corrected typo and wrong fix.
755
756 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
757
758         * AspGenerator.cs: fixed code generation for Table/TableRow/TableCell
759         when used explicitly.
760
761 2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
762
763         * AspElements.cs: get the property Type for controls that use
764         ParseChildren with a property name.
765
766         * AspGenerator.cs: generate correct signature for the method that
767         adds controls to the default property in ParseChildren.
768
769 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
770
771         * AspGenerator.cs: rethrow exceptions that may come from parsing or 
772         compilation if a user control.
773
774 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
775
776         * AspGenerator.cs: throw ParseException on parse
777         error.
778
779         * AspParser.cs: added Line and Column props.
780
781         * CompilationException.cs: derives now from HtmlizedException.
782
783         * CompilationResult.cs: added fileName field.  Fixed set_ExitCode.
784
785         * GlobalAsaxCompiler.cs:
786         * PageCompiler.cs:
787         * UserControlCompiler.cs: pass the file name in the CompilationResult.
788
789         * ParseException.cs: new exception.
790
791
792 2003-02-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
793
794         * AspGenerator.cs: remove "file://" from the private bin path. Fixes
795         bug #37628.
796
797 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
798
799         * AspParser.cs: the parser fires events when it parses an element.
800
801         * GlobalAsaxCompiler.cs:
802         * PageCompiler.cs:
803         * UserControlCompiler.cs:
804         * AspElements.cs: modified to use the new parser interface.
805
806         * AspGenerator.cs: modified to use the new parser. Merge multiple text
807         strings into one single LiteralControl.
808
809         * AspTokenizer.cs: added Line and Column properties.
810
811 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
812
813         * AspParser.cs: fixed bug #36929.
814
815 2003-01-21  Tim Haynes <thaynes@openlinksw.com>
816
817         * AspGenerator.cs:
818         * BaseCompiler.cs:
819         * CachingCompiler.cs: changes to work around spaces and
820         directory-separators in the local filesystem.
821
822 2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
823
824         * AspGenerator.cs: make the generated file compile with csc after last
825         change.
826
827 2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
828
829         * AspGenerator.cs: removed unused variable. Added support for
830         properties/fields of type string [].
831
832 2003-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
833
834         * AspGenerator.cs: modified loading of the parent type now that
835         Type.GetType is fixed.
836
837 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
838
839         * AspGenerator.cs: cast to Control if the container does not implement
840         INamingContainer.
841
842 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
843
844         * AspGenerator.cs: fixed a couple of thinkos related to IsSubclassOf.
845
846 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
847
848         * AspElements.cs: attributes without value lacked a space afterwards.
849
850 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
851
852         * AspGenerator.cs: functions for columns don't return anything. Fixed
853         typo.
854
855 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
856
857         * AspGenerator.cs: add data bound controls to code render function.
858
859 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
860
861         * AspComponentFoundry.cs: reworked to allow same prefix for multiple
862         controls. You can register 1 assembly plus any number of user controls
863         under the same prefix.
864
865         * AspGenerator.cs: don't add duplicate 'using' for the same namespace.
866         Hack to allow @Register access to assemblies in other places than bin
867         directory.
868
869 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
870
871         * AspElements.cs: added 'codebehind' attribute for page, control and
872         application. It's ignored by MS, but allowed. Fixed typo.
873
874 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
875
876         * AspGenerator.cs: fixed EnableSesssionState handling.
877
878 2003-01-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
879
880         * AspGenerator.cs: don't generate instance fields for pages/controls
881         when the base class specified in the Inherits attribute already has
882         them. Closes bug #36262.
883
884 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
885
886         * AspGenerator.cs: generate code like 'control.XXX = value' also for
887         public fields (properties were being handled in that way too).
888
889 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
890
891         * AspGenerator.cs: now it uses the current HttpContext when creating
892         user controls. TemplateSourceDirectory is no longer a dummy value.
893
894         * GlobalAsaxCompiler.cs:
895         * PageCompiler.cs:
896         * UserControlCompiler.cs: set the context which will be used to locate
897         the files.
898         
899 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
900
901         * AspGenerator.cs: added support for AutoEventWireup attribute in
902         @Page and @Control.
903
904         * CompilationResult.cs:
905         * GlobalAsaxCompiler.cs:
906         * PageCompiler.cs:
907         * UserControlCompiler.cs: store the options.
908
909 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
910
911         * AspElements.cs: new method Tag.GetElements
912         used to parse the inner contents of a tag looking for data binding or 
913         code render tags.
914         
915         New property HtmlControlTag.ParseChildren allows
916         differentiation of a couple of HtmlControls that has children as
917         properties (namely HtmlTable and HtmlTableRow).
918
919         * AspGenerator.cs: fixed container semantics to
920         match BindingContainer one. Implemented Inherits attribute for page and
921         control.
922
923         Support HtmlControls that has ChildrenAsProperties.
924         
925         Generate code for data binding functions that matches the semantic of
926         Container.
927
928         Handle data bound and code render attribute values.
929
930         Set proper value return for TemplateSourceDirectory. Should be relative
931         to appPath.
932         
933         * BaseCompiler.cs: moved CompilerOptions and
934         References handling here.
935
936         * CachingCompiler.cs: copy result of compilation.
937
938         * CompilationException.cs: simple ToString () implementation.
939
940         * CompilationResult.cs: implemented CopyFrom and ToString.
941
942         * GlobalAsaxCompiler.cs:
943         * PageCompiler.cs:
944         * UserControlCompiler.cs: removed CompilerOptions as it's now handled
945         in the base class. Get all the types in the generated assembly and
946         look for one that derives from the correct Type.
947         
948 2002-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
949
950         * AspElements.cs: added @Application directive.
951
952         * AspGenerator.cs: make it work also with application files. We
953         currently generate an extra private function.
954
955 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
956
957         * GlobalAsaxCompiler.cs: compiler for global.asax file. If the file
958         exists, it will be compiled into an HttpApplication derived class
959         (directly or through a user-provided class).
960
961 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
962
963         * AspGenerator.cs: fixed target file name and generated class name.
964         * BaseCompiler.cs: reference assemblies in PrivateBinPath.
965
966 2002-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
967
968         * AspGenerator.cs: reworked user control
969         compilation. Provide the options as a Hashtable for use in compilation.
970         Create the user controls in the private bin path of the domain.
971
972         * BaseCompiler.cs: base class for the various compiler types.
973
974         * CachingCompiler.cs: actually executes mcs and do some poor caching
975         (it will use Cache when finished).
976
977         * CompilationException.cs: this exception has enough information to
978         generate a nice error page.
979         * CompilationResult.cs: used in caching.
980
981         * PageCompiler.cs: now derives from BaseCompiler
982
983         * TemplateFactory.cs: no longer needed.
984
985         * UserControlCompiler.cs: new class used when compiling user controls.
986         * WebServiceCompiler.cs: derives from BaseCompiler.
987
988 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
989
990         * AspElements.cs: added ServerComment class.
991         * AspParser.cs: ignore ServerComments tags. Remove server comments when 
992         in verbatim mode.
993
994         Fixes #33482.
995
996         * PageCompiler.cs: check if the type is already cached before generating
997         the C# file.
998         * TemplateFactory.cs: if csFile parameter is null, only checks if we
999         already have the page compiled.
1000
1001 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1002
1003         * AspGenerator.cs: undo one-liner change.
1004
1005 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1006
1007         * AspGenerator.cs: removed a few hacks no longer needed.
1008
1009 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1010
1011         * PageCompiler.cs: tracing.
1012         * TemplateFactory.cs: cache compiled types and tracing.
1013         * WebServiceCompiler.cs: new parameter in GetTypeFromsource,
1014
1015 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1016
1017         * AspComponentFoundry.cs: fixed typo.
1018         * TemplateFactory.cs: use csc style options.
1019         * AspGenerator.cs: don't use FileDependencies property of base class.
1020
1021 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1022
1023         * System.Web.Compilation/AspElements.cs:
1024         * System.Web.Compilation/AspGenerator.cs:
1025         * System.Web.Compilation/AspParser.cs:
1026         * System.Web.Compilation/PageCompiler.cs:
1027         * System.Web.Compilation/TemplateFactory.cs: we are now able to compile
1028         pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
1029
1030 2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1031
1032         * AspElements.cs: added WebService directive.
1033         * WebServiceCompiler.cs: New file.
1034
1035 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1036
1037         * PageCompiler.cs: fixed compilation.
1038
1039 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1040
1041         * PageCompiler.cs: generate C# file using AspGenerator.
1042
1043 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1044
1045         * AspComponentFoundry.cs: LookupFoundry now returns bool.
1046         * AspGenerator.cs: New file.
1047
1048 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1049
1050         * AspComponentFoundry.cs: New file.
1051         * AspElements.cs: renamed Component to Aspcomponent.
1052
1053 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1054
1055         * AspElements.cs:
1056         * AspParser.cs:
1057         * AspTokenizer.cs:
1058         * ChangeLog:
1059         * PageCompiler.cs:
1060         * TemplateFactory.cs: first steps to move xsp into System.Web.
1061