2007-05-08 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.Compilation / ChangeLog
1 2007-05-08  Marek Habersack  <mhabersack@novell.com>
2
3         * TemplateControlCompiler.cs: BuildTemplateMethod is a delegate,
4         so use a delegate create expression - it may make difference for
5         languages other than C# (e.g. VisualBasic).
6
7 2007-05-07  Marek Habersack  <mhabersack@novell.com>
8
9         * AspGenerator.cs: if the parser's language is implicit (i.e. set
10         from the default configuration), the first script with the
11         language attribute present sets the language of the parser.
12
13 2007-05-04  Marek Habersack  <mhabersack@novell.com>
14
15         * TemplateControlCompiler.cs: do not query the parent for
16         TemplateSourceDirectory if we are generating code for a Master
17         Page.
18
19 2007-04-30  Marek Habersack  <mhabersack@novell.com>
20
21         * ConnectionStringsExpressionBuilder.cs: support expressions with
22         suffixes .ProviderName and .ConnectionString (case-insensitie) and
23         generate a call to GetConnectionStringProviderName in the former
24         case. Fixes bug #81490
25
26         * AppCodeCompiler.cs: support for cases when there exists a custom
27         profile class but there is no App_Code directory or it's
28         empty. Fixes bug #81489. 
29
30         * TemplateControlCompiler.cs: fix generation of code for
31         declarative attribute assignments of the form Font-Size="small"
32         (i.e. when a font size is assigned a symbolic, relative size
33         value). This fixes for example rendering of the 0th level of
34         TreeView controls.
35
36 2007-04-27  Marek Habersack  <mhabersack@novell.com>
37
38         * AppCodeCompiler.cs: do not look at the number of errors, check
39         the compiler return code instead.
40         Resolve assembly names from the global web.config to their
41         locations before passing them to the compiler provider.
42
43         * AssemblyBuilder.cs: as above
44
45         * AppResourcesCompiler.cs: as above
46         
47         * AspComponentFoundry.cs: formatting changes.
48         AssemblyFoundry looks for the specified namespace+type in the
49         top-level assemblies if necessary.
50
51 2007-04-26  Marek Habersack  <mhabersack@novell.com>
52
53         * AssemblyBuilder.cs: handle compilation failures in a better
54         way.
55
56         * PageCompiler.cs: the Master property must be in the partial
57         class if present. Fixes bug #81442
58
59 2007-04-20  Marek Habersack  <mhabersack@novell.com>
60
61         * AppCodeCompiler.cs: fix App_Code build when the directory
62         contains both known and unknown files.
63
64 2007-04-19  Gert Driesen  <drieseng@users.sourceforge.net>
65
66         * AspComponentFoundry.cs: Fixed build on 1.0 profile. Spaces to
67         tabs.
68
69 2007-04-19  Marek Habersack  <mhabersack@novell.com>
70
71         * AppCodeCompiler.cs: yet another method of detecting if we have a
72         custom profile.
73
74         * BaseCompiler.cs: as above
75         
76         * AspComponentFoundry.cs: implemented delayed loading of control
77         assemblies. Fixes bug #81058.
78
79 2007-04-19  Gert Driesen  <drieseng@users.sourceforge.net>
80
81         * BaseCompiler.cs: On 2.0, when ClassName attribute contains namespace
82         then use it instead of the default ASP namespace. Fixes part of bug
83         #81399.
84
85 2007-04-19  Marek Habersack  <mhabersack@novell.com>
86
87         * BaseCompiler.cs: don't look at the number of profile properties
88         when deciding if we have a custom profile. It is possible to have
89         a profile that just inherits from a base class and does not list
90         any custom properties. Fixes bug #81396.
91
92         * AppCodeCompiler.cs: as above
93
94 2007-04-15  Marek Habersack  <mhabersack@novell.com>
95
96         * AppCodeCompiler.cs: properly convert physical file path to
97         virtual path for build providers.
98         Make sure there's actually anything to compile.
99
100 2007-04-11  Marek Habersack  <mhabersack@novell.com>
101
102         * AppCodeCompiler.cs: move custom profile type check till after
103         the App_Code compilation is done. That way we can have custom
104         profile providers in there. Fixes bug #81307.
105
106 2007-04-10  Marek Habersack  <mhabersack@novell.com>
107
108         * AppResourceFilesCollection.cs: watch App_LocalResources for
109         changes.
110
111 2007-04-06  Marek Habersack  <mhabersack@novell.com>
112
113         * BaseCompiler.cs: display the source of the file in which the
114         error actually happened if the file exists, or the unit
115         otherwise.
116
117 2007-04-03  Marek Habersack  <mhabersack@novell.com>
118
119         * AppResourcesCompiler.cs: global resources are put in the
120         "Resources." namespace while local ones are not. Fixes bug #81174
121         which was reopened after r75261.
122
123 2007-03-26  Marek Habersack  <mhabersack@novell.com>
124
125         * TemplateControlCompiler.cs: refactor assining properties from
126         resources a bit to support pages and user controls. Fixes bug
127         #81204.
128         Process meta:resourcekey after all the field/attribute assignments
129         are done. Fixes bug #80809.
130         Clean the code up a bit.
131         Use GetExpressionFromString to generate a correct expression for
132         custom page/control attributes. Fixes bug #81132.
133
134 2007-03-21  Marek Habersack  <mhabersack@novell.com>
135
136         * BaseCompiler.cs: cast 'this' to CodeFileBaseClass in
137         AssignAppRelativeVirtualPath if the attribute was defined.
138
139         * TemplateControlCompiler.cs: added support for setting custom
140         attributes of a base class from the Page or Control directive
141         attributes.
142
143 2007-03-20  Marek Habersack  <mhabersack@novell.com>
144
145         * ResourceExpressionBuilder.cs: if the resource class key is null
146         or empty, call GetLocalResourceObject, if not,
147         GetGlobalResourceObject. Fixes bug #81174.
148
149 2007-03-16  Marek Habersack  <mhabersack@novell.com>
150
151         * AppCodeCompiler.cs: produce message that makes more sense.
152
153 2007-03-15  Marek Habersack  <mhabersack@novell.com>
154
155         * AppResourcesCompiler.cs: handle global resource keys with dots
156         the way MS.NET does. All the dots are replaced with underscores
157         when generating the stronly-typed property.
158
159 2007-03-14  Marek Habersack  <mhabersack@novell.com>
160
161         * AppResourcesCompiler.cs: Fix a bug with global resources file
162         grouping where no translated resources were processed due to base
163         name mismatch.
164
165         * TemplateControlCompiler.cs: hadle situations when there exist a
166         control in the page with id matching the name of a field/property
167         in the parent class. In this case we use 'protected new' to
168         override the parent.
169
170 2007-03-13  Marek Habersack  <mhabersack@novell.com>
171
172         * AspParser.cs: fix an off-by-one parsing bug with server-side
173         includes.
174
175         * PageThemeCompiler.cs: let property builders through, stop the
176         builders that have no control type. Fixes bug #81092
177
178         * PageCompiler.cs: interfaces are to be implemented by the parent
179         partial class, not the generated one.
180
181         * AppResourceFilesCollection.cs: added separate constructor for
182         local resources handling.
183
184         * TemplateControlCompiler.cs: request the local resource object
185         with proper virtual path.
186         Put field declarations for controls in the partial class.
187         Make sure builders are in valid state before trying to use them.
188
189         * BaseCompiler.cs: added code to assing AppRelativeVirtualPath
190         property in the page/control constructor.
191         Change the generated code model for pages/controls to comply with
192         the way MS.NET does (partial class contains only two properties
193         plus declarations of all the controls, the actual control/page
194         class inherits from the partial class). Fixes bug #81001.
195
196         * AppResourcesCompiler.cs: does not require specifying manually
197         whether it's a global or local resource compiler anymore. New
198         constructors take care of that.
199         Changed to compile local resources on demand, when a control/page
200         is parsed.
201
202 2007-03-12  Marek Habersack  <mhabersack@novell.com>
203
204         * AspParser.cs: revert r73587 as it breaks more than it fixes.
205
206         * AspComponentFoundry.cs: try to register foundries from App_Code
207         assemblies if tag prefix and its namespace are defined. Fixes bug
208         #78797.
209
210         * BuildManager.cs, BaseCompiler.cs: CodeAssemblies is a collection
211         of Assembly instances, not strings.
212
213         * CachingCompiler.cs: make sure items in the CodeAssemblies and
214         TopLevelAssemblies are really instances of the Assembly class
215         before trying to use them.
216         CodeAssemblies is a collection of Assembly instances, not
217         strings.
218
219         * AppCodeCompiler.cs: on MS.NET CodeAssemblies is a collection of
220         assemblies, not paths to assemblies.
221
222 2007-03-10  Marek Habersack  <mhabersack@novell.com>
223
224         * PageCompiler.cs, BaseCompiler.cs: refactoring: moved the
225         CreateProfileProperty and InternalCreatePageProperty to
226         BaseCompiler from PageCompiler.
227
228         * GlobalAsaxCompiler.cs: generate the Profile property for the
229         Global_asax class.
230
231 2007-03-09  Marek Habersack  <mhabersack@novell.com>
232
233         * AppCodeCompiler.cs: Add the GetProfile method to the
234         ProfileCommon auto-generated class.
235
236         * AppResourcesCompiler.cs: attempt to load the resource file
237         earlier in the process, to gracefully handle empty files.
238
239         * ThemeDirectoryCompiler.cs: make compiled themes depend on the
240         .skin and .css files composing the theme.
241
242 2007-03-05  Marek Habersack  <mhabersack@novell.com>
243
244         * PageThemeCompiler.cs: Use correct theme path for
245         AppRelativeTemplateSourceDirectory.
246         Do not process builders of type CodeRenderBuilder.
247         Make sure builder.ControlType is not null before depending on it.
248
249         * ThemeDirectoryCompiler.cs: theme parser should be passed the
250         virtual directory of the theme.
251
252 2007-03-03  Marek Habersack  <mhabersack@novell.com>
253
254         * PageCompiler.cs: Added support for setting the
255         MaintainScrollPositionOnPostBack property if the corresponding
256         page directive attribute is found.
257
258         * Directive.cs: added the MaintainScrollPositionOnPostBack and
259         LinePragmas directives.
260
261 2007-03-02  Marek Habersack  <grendello@gmail.com>
262
263         * AppCodeCompiler.cs: Correctly process App_Code directories which
264         have no compilable files in the top-level directory. Fixes bug
265         #80998.
266         Write preservation files for the App_Code assemblies.
267
268 2007-03-01  Marek Habersack  <grendello@gmail.com>
269
270         * AspParser.cs: fix GetVerbatim for cases when the end is
271         e.g. --> or --%> and the string matched is ---> or ---%>
272         respectively. The new code always backs out to make sure the end is
273         matched correctly.
274
275 2007-02-27  Marek Habersack  <grendello@gmail.com>
276
277         * TemplateControlCompiler.cs: ParseExpression returns an object,
278         don't assume any concrete type.
279         Use the current culture when converting the expression to a
280         string.
281
282         * ConnectionStringsExpressionBuilder.cs: Implement support for
283         expressions of the <%$ ConnectionStrings:StringName %> form
284
285 2007-02-19  Marek Habersack  <grendello@gmail.com>
286
287         * ResourceExpressionBuilder.cs: Do not prepend the .Resources prefix here
288
289 2007-02-16  Marek Habersack  <grendello@gmail.com>
290
291         * CachingCompiler.cs, BaseCompiler.cs: Make sure that no assembly
292         is referenced twice by the compiler(s).
293
294         * TemplateControlCompiler.cs: Fix the problem with cultures which
295         have a comma as their decimal separator and font/whatever
296         units. New code does not reparse the text representation of the
297         unit on the runtime (e.g. 0.9em) but instead it constructs the
298         property using the FontUnit/Unit constructors which take,
299         respectively, Unit and double/unittype parameters. This avoids
300         culture-specific parsing.
301         Also fix converting from invariant strings in a culture-aware
302         environment (e.g. in a page that uses Culture="auto") during the
303         page parsing phase.
304
305 2007-02-12  Marek Habersack  <grendello@gmail.com>
306
307         * PreservationFile.cs: Support preservation (assembly mapping)
308         files (the ones with .compiled extension in the ASP.NET temporary
309         directory). This one implements a loader/saver class.
310
311         * AppResourcesCompiler.cs: support for assembly name mapping.
312
313         * AppCodeCompiler.cs: support for assembly name mapping.
314
315 2007-02-08  Marek Habersack  <grendello@gmail.com>
316
317         * TemplateControlCompiler.cs: Fix TemplateSourceDirectory.
318
319         * AspComponentFoundry.cs: Avoid duplicate control registration
320         exception.
321
322         * ResourceExpressionBuilder.cs: Make sure all the global resources
323         are looked up using the "Resources." prefix.
324
325         * AppResourcesCompiler.cs: Make sure all the global resources are
326         embedded with the "Resources." prefix.
327
328 2007-02-02  Marek Habersack  <grendello@gmail.com>
329
330         * AspGenerator.cs: Move the cache insert code to a separate method, for
331         use from other places.
332
333         * AspComponentFoundry.cs: Register controls mentioned in web.config, but
334         defer their compilation to the moment when they are actually requested.
335
336 2007-01-22  Marek Habersack  <grendello@gmail.com>
337
338         * ThemeDirectoryCompiler.cs: Make sure the code works for empty themes.
339
340 2007-01-20  Miguel de Icaza  <miguel@novell.com>
341
342         * ClientBuildManager.cs: Remove unused variable (this could be a
343         real problem, we never use the appPhysicalTargetDir) 
344
345         * AssemblyBuilder.cs: Remove unused field.
346
347         * AppResourceFilesCollection.cs: Remove unused field.
348
349         * TemplateControlCompiler.cs (GetExpressionFromString): Remove
350         unused variable. 
351
352         * AppResourcesCompiler.cs: Remove unused variable.
353
354         * AppSettingsExpressionBuilder.cs (GetAppSetting): remove unused
355         parameter. 
356
357         * PageCompiler.cs: Put InternalCreatePageProperty inside the
358         NET_2_0 block to eliminate warnings.
359
360 2007-01-20  Gert Driesen  <drieseng@users.sourceforge.net>
361
362         * BaseCompiler.cs: Fixed build on 1.0 profile.
363
364 2007-01-20  Marek Habersack  <grendello@gmail.com>
365
366         * BaseCompiler.cs: If the control base type is in the root
367         namespace, make sure global:: is prepended to it.
368
369         * TemplateControlCompiler.cs: AutoHandlers is obsolete in 2.0,
370         mark it as such in the generated code as well.  
371
372         * AppCodeCompiler.cs: Include debug information if configured in
373         web.config. Fixes bug #80096.
374
375 2007-01-17  Marek Habersack  <grendello@gmail.com>
376
377         * AppCodeCompiler.cs: Reference toplevel assemblies (at this stage
378         App_GlobalResources) when compiling App_Code sources.
379
380         * CachingCompiler.cs: Reference toplevel assemblies when compiling
381         e.g. Global.asax
382
383         * AppResourcesCompiler.cs: Close the streams properly.
384
385         * AspGenerator.cs: Don't ignore thead/tbody anymore.
386
387 2007-01-15  Marek Habersack  <grendello@gmail.com>
388
389         * WsdlBuildProvider.cs: New build provider for WSDL files.
390         Compile only when System.Web.Services are present.
391
392         * TemplateControlCompiler.cs: Forgotten in the previous commit -
393         don't pass the current culture to GetLocalResourceObject, let the
394         method figure it out on its own.
395
396 2007-01-05  Marek Habersack  <grendello@gmail.com>
397
398         * AppResourceFilesCollection.cs: new class to keep and manage
399         collection of resource files for the App_{Global,Local}Resources
400         folders.
401
402         * TemplateControlCompiler.cs: rely on
403         HttpContext.GetLocalResourceObject to select the correct culture.
404
405         * AppResourceFileInfo.cs: new class for keeping resource files
406         information.
407
408         * AppResourcesCompiler.cs: new implementation.
409
410 2006-12-20  Marek Habersack  <grendello@gmail.com>
411
412         * AssemblyBuilder.cs: add an internal version of the
413         AddCodeCompileUnit method.
414
415         * AppCodeCompiler.cs: implement support for ProfileCommon
416         generation from properties named in the <profile> element in
417         Web.config.
418
419         * PageCompiler.cs: create the Profile property in 2.0 code.
420
421 2006-12-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
422
423         * ThemeDirectoryCompiler.jvm.cs: fixed virtual path for themes
424
425 2006-12-10 Igor Zelmanovich <igorz@mainsoft.com>
426
427         * ThemeDirectoryCompiler.cs: refactoring.
428
429 2006-11-28  Marek Habersack  <grendello@gmail.com>
430
431         * BuildManager.cs: Add an internal property to signal whether or
432         not we have any resources from App_{Global,Local}Resources
433
434         * AspGenerator.cs: Register controls from
435         system.web/pages/controls collection before parsing.
436
437         * AppResourcesCompiler.cs: Let the build process know if we have
438         compiled any resources from App_{Global,Local}Resources
439
440 2006-11-27  Marek Habersack  <grendello@gmail.com>
441
442         * CachingCompiler.cs: Automatically reference App_Code
443         assemblies.
444
445         * AppCodeCompiler.cs: Add ~/bin/*.dll to the referenced assemblies
446         when compiling.
447
448 2006-11-25  Marek Habersack  <grendello@gmail.com>
449
450         * AppResourcesCompiler.cs: small optimizations.
451
452         * AppResourceFilesCompiler.cs: small optimizations.
453
454 2006-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
455
456         * WebServiceCompiler.cs: add the type to the cache after getting it
457         from the compiled assembly.
458
459 2006-11-20  Marek Habersack  <grendello@gmail.com>
460
461         * AppCodeCompiler.cs: Reference assemblies listed in
462         system.web/compilation/assemblies.
463         Don't create empty assemblies.
464
465 2006-11-19 Igor Zelmanovich <igorz@mainsoft.com>
466
467         * TemplateControlCompiler.cs: fixed:
468         When <%# Bind(...) %>-expression is used more then once for same control
469         The variable associated with this control is declared only once.
470
471 2006-11-18  Marek Habersack  <grendello@gmail.com>
472
473         * AppResourceFilesCompiler.cs: Fixed an exception thrown when
474         files with names like File.resources or File.resx are found in the
475         resource directories.
476
477 2006-11-16  Marek Habersack  <grendello@gmail.com>
478
479         * ForceCopyBuildProvider.cs: Added the build provider for
480         copy-only files.
481
482         * MasterPageBuildProvider.cs: Added the build provider for Master
483         Pages.
484
485         * IgnoreFileBuildProvider.cs: Make the class sealed.
486
487         * AppCodeCompiler.cs: Fixed BuildProvider creation for a path. Now
488         correctly uses the BuildProviderCollection to retrieve the
489         appropriate builder and maps the physical input file path into
490         application relative path when setting the virtual path of the
491         build provider.
492
493 2006-11-13  Marek Habersack  <grendello@gmail.com>
494
495         * AssemblyBuilder.cs: Added referenced assemblies support. Added a
496         constructor with just the CodeDomProvider argument. CreateCodeFile
497         now uses the code provider's file extension. Added internal method
498         to add pre-generated source code files. Added a BuildAssembly
499         overload that takes no virtual path as  the
500         parameter. BuildAssembly now uses an array of source files instead
501         of compile units and also handles embedded resources and
502         referenced assemblies. BuildAssembly deletes the temporary files
503         if MONO_ASPNET_NODELET isn't set in the environment.
504
505         * AppCodeCompiler.cs: Use the FileUtils methods for temporary file
506         creation. Use the build providers collection to build unknown
507         files in App_Code. Use AssemblyBuilder to compile the assembly.
508
509         * AppResourceFilesCompiler.cs: Use the FileUtils methods for
510         temporary file creation.
511
512         * WebHandlerBuildProvider.cs: Added the BuildProviderAppliesTo
513         attribute.
514
515         * UserControlBuildProvider.cs: Added the BuildProviderAppliesTo
516         attribute.
517
518         * PageBuildProvider.cs: Added the BuildProviderAppliesTo
519         attribute.
520
521         * WebServiceBuildProvider.cs: Added the BuildProviderAppliesTo
522         attribute.
523
524         * IgnoreFileBuildProvider.cs: Added the BuildProviderAppliesTo
525         attribute.
526
527 2006-11-08  Marek Habersack  <grendello@gmail.com>
528
529         * BuildProvider.cs: Implemented the GetCustomString
530         method. Removed the necessity to retrieve the CompilationSection
531         twice when GetDefaultCompilerType is called.
532
533         * AppResourcesCompiler.cs: Added resource compiler results
534         handling.
535
536         * AppCodeCompiler.cs: The App_Code compiler classes
537
538         * BuildManager.cs: Implement the CodeAssemblies property.
539         Added an internal TopLevelTypes property to be used in the custom
540         GetType methods. Implemented the GetCompiledCustomString method.
541         Implemented the GetType method overloads. Implemented the
542         GetVirtualPathDependencies method.
543
544         * BaseCompiler.cs: Reference the assemblies from App_Code, if any
545
546 2006-10-18  Marek Habersack  <grendello@gmail.com>
547
548         * TemplateControlCompiler.cs: add support for resource
549         expressions in tag attributes.
550
551         * ResourceExpressionBuilder.cs: add support for resource
552         expressions in tag attributes.
553
554         * BaseCompiler.cs: add global/local resource assemblies to
555         compilation references, if present.
556
557         * AppResourcesCompiler.cs: global/local resources compiler.
558
559         * AppResourceFilesCompiler.cs: compiler of resource files.
560
561 2006-10-03 Igor Zelmanovich <igorz@mainsoft.com>
562
563         * TemplateControlCompiler.cs: fixed: Bind functions (Data-Binding Syntax).
564         At run time, the Bind method calls the Eval method, if there is DataItem
565         != null to bind to.
566         If there is DataItem == null (like InsertItemTemplate in FormView) Bind
567         method don't raise exception and works properly to extract data from
568         bounded controls on postback.
569                 
570 2006-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
571
572         * AspGenerator.cs: if we are tracking non-server tags for
573         well-formedness, handle tags that do not need to be closed (br, img,...)
574         Fixes bug #79437.
575
576 2006-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
577
578         * PageCompiler.cs: support the EnableEventValidation attribute.
579
580 2006-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
581
582         * AspGenerator.cs: after parsing an include file, don't error out if we
583         still have opened tags unless this was the last file to parse. Fixes
584         bug #79318.
585
586 2006-09-05  Konstantin Triger <kostat@mainsoft.com>
587
588         * ParseException.cs: Ensure the source file stream is closed.
589
590 2006-08-25  Kornél Pál  <kornelpal@gmail.com>
591
592         * AppSettingsExpressionBuilder.cs: Use assembly name constants.
593         * ConnectionStringsExpressionBuilder.cs: Use name reference
594           constants.
595         * ResourceExpressionBuilder.cs: Use assembly name constants.
596
597 2006-08-20  Vladimir Krasnov  <vladimirk@mainsoft.com>
598
599         * ThemeDirectoryCompiler.jvm.cs: implemented GetCompiledInstance
600
601 2006-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
602
603         * ClientBuildManager.cs: handle domain shutdown and unload.
604         Implemented some properties. Commented.
605
606 2006-08-10  Andrew Skiba  <andrews@mainsoft.com>
607
608         * ThemeDirectoryCompiler.cs: render css path as a virtual path.
609
610 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
611
612         * added ThemeDirectoryCompiler.jvm.cs
613
614 2006-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
615
616         * PageThemeCompiler.cs: Don't generate a 'Items.Clear ()' call if
617         the property Items does not exist. Patch by Marek Habersack that fixes
618         bug #78971.
619
620 2006-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
621
622         * TemplateControlCompiler.cs: support assigning nullable types.
623         Patch by Marek Habersack that fixes bug #78970.
624
625 2006-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
626
627         * TemplateControlCompiler.cs: make password work again.
628
629 2006-06-21 Juraj Skripsky <js@hotfeet.ch>
630
631         * AspTokenizer.cs (ReadAttValue), AspParser.cs (GetAttributes):
632         MS.NET handles nested quotes differently for server controls and
633         for "normal" controls. Add a property "AlternatingQuotes" to the
634         tokenizer and let the parser decide whether it is well-formed or not.
635
636 2006-06-20 Andrew Skiba <andrews@mainsoft.com>
637
638         * PageThemeCompiler.cs, TemplateControlCompiler.cs: take care of
639         UrlPropertyAttribute.
640
641 2006-06-18 Andrew Skiba <andrews@mainsoft.com>
642
643         * TemplateControlCompiler.cs: check IsWritablePropertyOrField before
644         generating code for assignment statement and DataBind event.
645         
646 2006-06-15 Juraj Skripsky <js@hotfeet.ch>
647
648         * AspTokenizer.cs (ReadAttValue), AspParser.cs (GetAttributes):
649         Don't allow an attribute value to contain the same quote characters
650         as the ones used for delimiting the value itself. Add a token
651         NOTWELLFORMED to signal that case to AspParser. Fixes bug #78643.
652
653 2006-06-08      Konstantin Triger <kostat@mainsoft.com>
654
655         * ThemeDirectoryCompiler.cs: use physical path instead of virtual path.
656
657 2006-04-24  Andrew Skiba  <andrews@mainsoft.com>
658
659         * ThemeDirectoryCompiler.cs: use UrlUtils.Combine to combine pathes
660
661 2006-04-23  Andrew Skiba  <andrews@mainsoft.com>
662
663         * PageThemeCompiler.cs: initialize __linkedStyleSheets field with the
664         array of style sheets from the parser
665         * ThemeDirectoryCompiler.cs: scan *.css files in theme directory and
666         put them in LinkedStyleSheets of PageThemeParser
667
668 2006-04-20  Chris Toshok  <toshok@ximian.com>
669
670         * BaseCompiler.cs: for 2.0, emit the correct namespace and class
671         names in the case where you use "NS.ClassName" in the Inherits
672         attribute.  Fixes bug #78135.
673
674 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
675
676         * CachingCompiler.cs: no need to play the Wait/PulseAll game, as we
677         already acquired the lock even when we might have not created the 'key'
678         to the compilation ticket.
679
680 2006-04-16  Andrew Skiba <andrews@mainsoft.com>
681
682         * ThemeDirectoryCompiler.cs: add to the directory parser all the
683         assemblies found by PageThemeFileParsers
684
685 2006-04-12  Lluis Sanchez Gual <lluis@novell.com>
686
687         * TemplateControlCompiler.cs: Properly read all content of
688         string properties.
689
690 2006-04-11  Andrew Skiba <andrews@mainsoft.com>
691
692         * TemplateControlCompiler.cs : fix for partial parsers
693
694 2006-04-11  Andrew Skiba <andrews@mainsoft.com>
695
696         * ThemeDirectoryCompiler.cs : map the virtual path to the physical
697         path
698
699 2006-04-08  Miguel de Icaza  <miguel@novell.com>
700
701         * TemplateControlCompiler.cs: An attempt to fix the regression
702         introduced in r58505 (a bug fix for 77762).   This was reported in
703         the mailing list with a batch of new 2.0 failures.
704
705         We really need a test suite in NUnit to check on ASP.NET aspx
706         changes.
707
708 2006-03-27  Robert Jordan  <robertj@gmx.net>
709
710         * CachingCompiler.cs:  change the compilation locking scheme
711         from "one mcs per process" to "one mcs per file".
712
713 2006-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
714
715         * System.Web.Compilation/TemplateControlCompiler.cs: handle the new
716         StringPropertyBuilder.
717
718 2006-03-24  Chris Toshok  <toshok@ximian.com>
719
720         * BaseCompiler.cs (GetCompiledType): fall back to CodeDomProvider
721         if system.web/compilation doesn't list a compiler for our
722         language.
723
724 2006-03-13  Chris Toshok  <toshok@ximian.com>
725
726         * TemplateControlCompiler.cs (InitMethod): when generating the
727         call to ApplyStyleSheetSkin, don't just blindly pass "this" as the
728         argument to it.  Only do that if the class we're compiling is
729         actually a subclass of Page.  If it's not, pass this.Page.
730
731 2006-03-07  Chris Toshok  <toshok@ximian.com>
732
733         * AspGenerator.cs: refactor the parsing code so that we can
734         initiate parsing from outside this class.
735
736         * PageCompiler.cs (PrependStatementsToFrameworkInitialize): new
737         method, add our StyleSheetTheme assignment here.
738         (AppendStatementsToFrameworkInitialize): rename AddStatements* to
739         this.
740
741         * TemplateControlCompiler.cs (EnsureID): make protected.
742         (CreateAssignStatementsFromAttributes): same
743         (AddChildCall): same.
744         (CreateControlTree): same.
745         (CreateFrameworkInitializeMethod): change
746         "AddStatementsToFrameworkInitialize" to
747         "AppendStatementsToFrameworkInitialize", and add call to
748         "PrependStatementsToFrameworkInitialize" before the generation of
749         "base.FrameworkInitialize()."
750
751         * PageThemeCompiler.cs (CreateControlSkinMethod): remove spew.
752
753 2006-03-07  Chris Toshok  <toshok@ximian.com>
754
755         * ThemeDirectoryCompiler.cs: new file.
756
757         * PageThemeCompiler.cs: new file.
758
759 2006-03-07  Chris Toshok  <toshok@ximian.com>
760
761         * BaseCompiler.cs: fix typo in "initialize" in multiple places.
762         (Init): move the CreateMethods call here.
763
764 2006-03-02  Chris Toshok  <toshok@ximian.com>
765
766         * TemplateControlCompiler.cs (InitMethod): emit an assignment for
767         SkinID just after the creation of our object, and right after that
768         call "_ctrl.ApplyStyleSheetSkin (page)".
769         (CreateAssignStatementsFromAttributes): split out the majority of
770         this code to CreateAssignStatementFromAttribute, and change this
771         method to simply a loop over the attribute keys.  In the 2.0 case,
772         skip the SkinID property, since that's handled explicitly in
773         InitMethod.
774
775         * PageCompiler.cs (AddStatementsToInitMethod): emit assignments
776         for Theme and StyleSheetTheme.
777
778 2006-02-23  Chris Toshok  <toshok@ximian.com>
779
780         * TemplateControlCompiler.cs (AddContentTemplateInvocation): track
781         change from ContentControlBuilderInternal to
782         ContentBuilderInternal.
783         (AddCodeRender): same.
784
785 2006-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
786
787         * AssemblyBuilder.cs:
788         * BuildManager.cs: compile the assembly from AssemblyBuilder and use
789         GetGeneratedType() on the BuildProvider instead of loading the assembly
790         and trying a wild guess at the type name.
791
792 2006-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
793
794         * GlobalAsaxCompiler.cs:
795         * PageCompiler.cs:
796         * TemplateControlCompiler.cs: CreateMethods is now internal.
797
798         * WebServiceBuildProvider.cs:
799         * PageBuildProvider.cs:
800         * UserControlBuildProvider.cs:
801         * WebHandlerBuildProvider.cs: new build providers.
802
803         * BuildProvider.cs: add assemblies.
804
805         * BaseCompiler.cs: expose the provider and the compile unit through
806         properties.
807
808 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
809
810         * CompilerType.cs: implemented.
811
812         * AssemblyBuilder.cs: implemented most of it.
813
814         * WebServiceCompiler.cs:
815         * CachingCompiler.cs: update 2.0 compiler instance creation code.
816
817         * ClientBuildManager.cs: implemented some of its methods. Not yet
818         ready.
819
820         * BuildManager.cs: the more interesting methods are implemented now.
821
822         * BaseCompiler.cs: delete the temporary files in case of error.
823
824         * BuildProvider.cs: implemented the Get*Compiler* protected methods.
825
826 2006-02-07  Chris Toshok  <toshok@ximian.com>
827
828         * TemplateControlCompiler.cs (AddParsedSubObjectStmt): append the
829         calls to AddParsedSubObject to a special statement collection --
830         builder.flushOutputStatements -- not to builder.method.Statements.
831         (InitMethod): initially, set flushOutputStatements to
832         method.Statements.  If we're dealing with a ContentPlaceHolder,
833         set flushOutputStatements to be the else block of a conditional we
834         create.  This causes the compiled control to fall back to the
835         ContentPlaceHolder's child controls in case there's no
836         corresponding Content template.
837         (AddChildCall): use methodStatements instead of method.Statements.
838         (CreateControlTree): same.
839
840         * PageCompiler.cs (CreatePropertyAssign): factor out the
841         string,string implementation and add one that also takes a
842         CodeExpression; make the string,string implementation call the
843         three arg one with thisRef.
844         (AddStatementsToInitMethod): make use of the 3-arg form of
845         CreatePropertyAssign to reduce code.  Also, add support for
846         setting the page's Title from the parser's Title.
847
848 2006-02-07  Chris Toshok  <toshok@ximian.com>
849
850         * UserControlCompiler.cs (AddStatementsToInitMethod): emit code to
851         assign __ctrl.MasterPageFile to our master page, if we have one.
852
853         * PageCompiler.cs (CreateContructor): remove the MasterPageFile
854         assignment from here.
855         (AddStatementsToInitMethod): and move it here.
856         
857         * TemplateControlCompiler.cs (InitMethod): in the case where
858         builder is a RootBuilder (we're building the __BuildControlTree
859         method), call a virtual method so that subclasses can add their
860         own statements to the method (used by both Page and MasterPage);
861         Also, in the RootBuilder case, the argument should be the
862         parser.ClassName type (the class we're building); lastly, expand
863         the ContentPlaceHolder logic to include all the
864         ContentTemplates/InstantiateIn magic.
865         (AddStatementsToInitMethod): empty virtual method.
866         (AddContentTemplateInvocation): ContentControlBuilder ->
867         ContentControlBuilderInternal.
868         (CreateControlTree): same.
869         (CallBaseFrameworkInitialize): new function, create call to
870         base.FrameworkInitialize.
871         (CreateFrameworkInitializeMethod): call CallBaseFrameworkIniitialize.
872
873 2006-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
874
875         * IgnoreFileBuildProvider.cs: it's not public.
876         * BuildProvider.cs: mostly implemented.
877
878 2006-02-01  Chris Toshok  <toshok@ximian.com>
879
880         * WebServiceCompiler.cs: CONFIGURATION_2_0 => NET_2_0, and use
881         GetSection instead of GetWebApplicationSection.
882
883         * CachingCompiler.cs: same.
884
885         * AspGenerator.cs: same.
886
887         * BaseCompiler.cs: same.
888         
889 2006-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
890
891         * AspGenerator.cs: ignore 'thead'. Fixes bug #77326.
892
893 2006-01-22  Chris Toshok  <toshok@ximian.com>
894
895         * IgnoreFileBuildProvider.cs: build provider which does nothing.
896
897 2006-01-22  Chris Toshok  <toshok@ximian.com>
898
899         * AspComponentFoundry.cs (.ctor): use a 2.0 friendly form of the
900         Hashtable ctor to silence a couple of warning.
901         (CompoundFoundry.ctor): same
902
903         * Directive.cs (InitHash): use a 2.0 friendly form of the
904         Hashtable ctor to silence a couple of warning.
905
906         * TagAttributes.cs (MakeHash): use a 2.0 friendly form of the
907         Hashtable ctor to silence a warning.
908         (GetDictionary): same.
909
910 2006-01-22  Chris Toshok  <toshok@ximian.com>
911
912         * AppSettingsExpressionBuilder.cs: implement this, patterning it
913         after an example on msdn.  Also, enable the ExpressionEditor
914         attribute, but use the string rather than the Type overload so we
915         won't have yet another circular dep.
916
917         * ConnectionStringsExpressionBuilder.cs: partial implementation.
918         Same deal with the ExpressionEditor attribute.
919
920         * ResourceExpressionBuilder.cs: same deal with the
921         ExpressionEditor attribute.
922         
923 2006-01-20  Chris Toshok  <toshok@ximian.com>
924
925         * ResourceExpressionBuilder.cs (ParseExpression): implement.
926
927         * ResourceExpressionFields.cs: implement.
928
929 2006-01-20  Chris Toshok  <toshok@ximian.com>
930
931         * ClientBuildManagerParameter.cs: implement.
932
933         * ClientBuildManagerCallback.cs: this class contains an empty
934         default implementation.
935
936 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
937
938         * AspGenerator.cs: add support for 'src' in <script runat="server">.
939         Fixes bug #77150.
940
941 2006-01-04  Chris Toshok  <toshok@ximian.com>
942
943         * WebServiceCompiler.cs (GetCompiledType): add CONFIGURATION_2_0
944         code.
945
946         * AspGenerator.cs (CheckLanguage): add CONFIGURATION_2_0 code.
947
948 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
949
950         * AspGenerator.cs: fix yesterday's fix.
951
952 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
953
954         * AspGenerator.cs: only do special processing for <script> if it has
955         the runat="server" attribute. Fixes bug #76918.
956
957 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
958
959         * TemplateControlCompiler.cs: treat LightGrey as a synonym of LightGray.
960         Fixes bug #76677.
961
962 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
963
964         * TemplateControlCompiler.cs: handle data bound attributes for html
965         controls. Fixes bug #76785.
966
967 2005-11-28  Chris Toshok  <toshok@ximian.com>
968
969         * CachingCompiler.cs (Compile): CONFIGURATION_2_0 work.
970
971         * BaseCompiler.cs (GetCompiledType): CONFIGURATION_2_0 work.
972
973 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
974
975         * WebServiceCompiler.cs: fixed caching for web handlers.
976
977 2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
978
979         * AspParser.cs: don't change case for verbatim IDs.
980         Fixes bug #76657.
981
982 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
983
984         * AspParser.cs: when processing verbatim input, throw if we reach EOF
985         before the expected end of the data.
986
987 2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
988
989         * CachingCompiler.cs: 
990         * WebServiceCompiler.cs: when caching a type loaded from an assembly
991         that we didn't compile, make it depend on the file itself, not on a
992         non-existing cache key. This problem affected performance of web
993         services and .ashx, making unnecessary extra calls to LoadFrom every
994         time the cache was cleared.
995
996 2005-09-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
997
998         * BaseCompiler.cs: set the domain's DynamicBase property instead of
999         guessing it in BaseCompiler.
1000
1001 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1002
1003         * WebServiceCompiler.cs: apply the same fix as in r45440 that fixed bug
1004         75146 for pages/controls.
1005
1006 2005-08-09  Miguel de Icaza  <miguel@novell.com>
1007
1008         * WebServiceCompiler.cs: Use the new DynamicDir method.
1009
1010         * BaseCompiler.cs: Use the DynamicBase property as a hint, but
1011         since this value is null most of the time, compute the real value.
1012
1013         Added Bonus: if the directory has some kind of permission problem,
1014         try a different directory name.
1015
1016 2005-07-13  Miguel de Icaza  <miguel@novell.com>
1017
1018         * AspGenerator.cs (AspGenerator.CheckLanguage): Use
1019         BaseParser.Context for the context. 
1020
1021 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1022
1023         * TagAttributes.cs:
1024         * AspParser.cs:
1025         * TemplateControlCompiler.cs: use invariant culture versions of starts/
1026         endswith.
1027
1028 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1029
1030         * TemplateControlCompiler.cs: comparison between member name and the
1031         first part of the id provided by the user should also be
1032         case-insensitive. Fixes bug #75379.
1033
1034 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1035
1036         * CachingCompiler.cs: use cache.InsertPrivate.
1037         * AspGenerator.cs: use cache.InsertPrivate. Removed extra call to
1038         AddDependency.
1039
1040 2005-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1041
1042         * CachingCompiler.cs: create the assemly in the DynamicBase directory,
1043         as all the others, when compiling an assembly from a Src file. Fixes
1044         bug #75371.
1045
1046 2005-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1047
1048         * TemplateControlCompiler.cs: if the property is not found, don't forget
1049         about trying the field.
1050
1051 2005-06-13  Lluis Sanchez Gual <lluis@novell.com>
1052
1053         * Directive.cs: Register the MasterType directive.
1054         * PageCompiler.cs: If a MasterType is specified, add a type specific
1055         Master property. All this fixes bug #75192.
1056
1057 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1058
1059         * TemplateControlCompiler.cs: when mapping an attribute name to a field
1060         or property name, there's no need to try with every property and field,
1061         but just the one found when searching by name (no case). There was one
1062         call to ProcessPropertiesAndFields per property or field until found,
1063         now only one if the property/field is found, none otherwise.
1064
1065 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1066
1067         * TemplateControlCompiler.cs: allow more than 2 levels when looking for
1068         properties of fields for an attribute like "Prop1-Prop2-Prop3". Fixes
1069         bug #75234.
1070
1071 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1072
1073         * BaseCompiler.cs: when the OutputAssembly is null, we can still have
1074         the assembly file there and be able to load it. Thanks to Rogerio and
1075         Mark.
1076
1077 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1078
1079         * AspParser.cs: InvariantCulture love.
1080
1081 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1082
1083         * TemplateControlCompiler.cs: use the Page AddContentTemplate method,
1084         as the one in Master is protected. Fixes bug #75157.
1085
1086 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1087
1088         * AspComponentFoundry.cs: tagnames have precedence over types in
1089         assemblies when they use the same prefix. Fixes bug #71855.
1090
1091 2005-05-03  Lluis Sanchez Gual <lluis@novell.com>
1092
1093         * WebServiceCompiler.cs: Create the temp directory before
1094         creating the web service source code file.
1095
1096 2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1097
1098         * AspGenerator.cs: when checking languages, try to match other aliases
1099         too (ie, 'cs' == 'c#').
1100
1101 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1102
1103         * BaseCompiler.cs: check that DynamicBase directory exists before
1104         creating the TempFileCollection.
1105
1106 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1107
1108         * AspGenerator.cs: use a stack for non-server tags even before getting
1109         to a form. Fixes bug #70274.
1110
1111 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1112
1113         * AspParser.cs: don't error out on ill formed tags if it's not a server
1114         tag (ie, allow something like '<table align="left cellpadding="0">' to
1115         work, as MS does. Fixes bug #67909.
1116
1117 2005-04-20 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1118         * BaseCompiler.cs: do the bridge of Explicit/Strict attributes from
1119         @Page/@Control directives to CodeDOM (VB.NET support)
1120
1121 2005-04-19  Lluis Sanchez Gual <lluis@novell.com>
1122
1123         * AspParser.cs: Fixed parsing of data binding tags in server
1124         tag attributes. Allow <%...%> blocks not assigned to
1125         attributes in client tags.
1126         * TagAttributes.cs: Make sure that data binding blocks in server
1127         tags are always assigned to attributes.
1128
1129 2005-04-15  Lluis Sanchez Gual <lluis@novell.com>
1130
1131         * TemplateControlCompiler.cs: Implemented support for two-way
1132         binding.
1133
1134 2005-04-14  Lluis Sanchez Gual <lluis@novell.com>
1135
1136         * TemplateControlCompiler.cs: Use the new BindingContainerType
1137         property to find the type of the binding container. 
1138         
1139 2005-04-07  Lluis Sanchez Gual <lluis@novell.com>
1140
1141         * TemplateControlCompiler.cs: Avoid using the GetConverter() trick
1142         for primitive types. Parse an empty color string as Color.Empty.
1143         Get the converter for a property using its PropertyDescriptor.
1144         
1145 2005-04-05  Lluis Sanchez Gual <lluis@novell.com>
1146
1147         * TemplateControlCompiler.cs: Don't autogenerate IDs for
1148         controls inside Content template.
1149
1150 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1151
1152         * TemplateControlCompiler.cs: make typedesc.aspx work again.
1153
1154 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1155
1156         * ExpressionBuilderContext.cs:
1157         * ExpressionBuilder.cs: implemented.
1158
1159 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1160
1161         * AspGenerator.cs: don't fail on <tbody runat=server>. Fixes bug #71856.
1162
1163 2005-01-28  Lluis Sanchez Gual <lluis@novell.com>
1164
1165         * TemplateControlCompiler.cs: When generating a property value,
1166         check for TypeConverterAttribute in the PropertyInfo, not only in the
1167         property type.
1168         Implemented code generation using InstanceDescriptor, when the type
1169         converter supports conversion to that type.
1170
1171 2005-01-21  Lluis Sanchez Gual <lluis@novell.com>
1172
1173         * Directive.cs: Added MASTER directive.
1174         * AspGenerator.cs: Use UserControlCompiler for compiling master pages.
1175         * PageCompiler.cs: Set the master file name when generating the page.
1176         * TemplateControlCompiler.cs: When generating the method for a
1177         content holder, register the content holder in the base MasterPage.
1178         Added method for registering a Content control for a MasterPage.
1179         Generate code for Content controls.
1180
1181 2005-01-10  Lluis Sanchez Gual <lluis@novell.com>
1182
1183         * TemplateControlCompiler.cs: Get the container type from the
1184         template (if it was defined using TemplateContainerAttribute.
1185
1186 2004-10-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1187
1188         * AspGenerator.cs: correctly process script tags that self-closing.
1189         Fixes bug #69657.
1190
1191 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1192
1193         * CachingCompiler.cs: when compiling a single .cs file, add the file
1194         itself to dependencies. Fixes bug #68788.
1195
1196 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1197
1198         * ControlBuilder.cs: don't close server tags when we get to a closing
1199         tag that is not applied to a server control. Fixes bug #60323.
1200
1201 2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1202
1203         * WebServiceCompiler.cs: fix buglet in my last commit.
1204
1205 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1206
1207         * BaseCompiler.cs:
1208         * CachingCompiler.cs:
1209         * WebServiceCompiler.cs: correctly cache Type instead of the assembly
1210         for ashx/asmx. Otherwise we need to open the file and check for the
1211         class name in there. Thanks to Ben for pointing this out.
1212
1213 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1214
1215         * AspParser.cs:
1216         * AspTokenizer.cs: prevent quotes from being swallowed when we're 
1217         inside a server tag and they are the next non-whitespace character.
1218         Fixes bug #63451.
1219
1220 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1221
1222         * CachingCompiler.cs: don't try to watch for changes in system
1223         assemblies. Fixes bug #64871.
1224
1225 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1226
1227         * AspGenerator.cs: handle builders that need to process inner text
1228         with tags.
1229
1230         * Location.cs: added setters for the properties.
1231
1232 2004-08-02  Duncan Mak  <duncan@ximian.com>
1233
1234         * BuildProviderResultFlags.cs:  
1235         * IImplicitResourceProvider.cs: 
1236         * ImplicitResourceKey.cs:
1237         * IResourceReader.cs: Added.
1238
1239 2004-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1240
1241         * AspGenerator.cs: the path for file was treated as virtual, but it's
1242         physical. Fixes bug #61524.
1243
1244 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1245
1246         * AspParser.cs: fixed case-sensitivity issues with #include and its
1247         attributes. Closes #61429.
1248
1249 2004-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1250
1251         * BaseCompiler.cs:
1252         * WebServiceCompiler.cs: really create the dlls under DynamicBase
1253
1254 2004-06-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1255
1256         * TemplateControlCompiler.cs: for system colors, use SystemColors class
1257         instead of Color. Fixes bug #60249.
1258
1259 2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1260
1261         * BaseCompiler.cs: try getting the Type from the cache before doing the 
1262         real work. Remove temporary files right after successful compilation.
1263
1264         * CachingCompiler.cs: added GetTypeFromCache.
1265
1266         * UserControlCompiler.cs: nothing interesting.
1267
1268         * WebServiceCompiler.cs: try getting the Type from the cache before
1269         doing anything else. Remove temp files on sucessful compilation.
1270
1271 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1272
1273         * AspGenerator.cs:
1274         * CachingCompiler.cs: use a different prefix when caching compiler
1275         results or Types.
1276
1277 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1278
1279         * BaseCompiler.cs: dynamicBase is now protected. Check
1280         MONO_ASPNET_NODELETE here.
1281
1282         * TemplateControlCompiler.cs: if the type is not known but has a 
1283         TypeConverter, invoke ConvertFromString in the generated code.
1284
1285         * WebServiceCompiler.cs: it used a hardcoded C# compiler, now it gets
1286         the compiler from the configuration. Also handle MONO_ASPNET_NODELETE.
1287
1288         * CachingCompiler.cs: updated compilation of web services and simple
1289         web handlers.
1290
1291 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1292
1293         * CSCompiler.cs: removed.
1294
1295         * CachingCompiler.cs: language independent compilation for single files.
1296
1297 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1298
1299         * BaseCompiler.cs:
1300         * WebServiceCompiler.cs: adapted to the 'new' CachingCompiler.
1301         * CachingCompiler.cs: use HttpRuntime.Cache.
1302
1303 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1304
1305         * PageCompiler.cs: fixed Trace and add support for Buffer.
1306
1307 2004-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1308
1309         * PageCompiler.cs: override CreateConstructor to add assignment for
1310         ClientTarget.
1311         
1312 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1313
1314         * TemplateControlCompiler.cs: use CodeDelegateCreateExpression instead
1315         of CodeObjectCreateExpression for the render method delegate. Thanks
1316         to Jochen Wezel.
1317
1318 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1319
1320         * BaseCompiler.cs: use DynamicBase for the output assemblies.
1321
1322 2004-05-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1323
1324         * AspGenerator.cs: ObjectTagBuilder do not override HasBody now.
1325
1326 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1327
1328         * AspParser.cs: indent a few lines.
1329         * AspTokenizer.cs: added ungetc() used when we read a '/' in an unquoted
1330         attribute value. This way we can simulate reading 2 characters ahead
1331         (one in ungetc and the other in Peek) and work with values like
1332         text/javascript. Fixes bug #57302.
1333
1334 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1335
1336         * AspParser.cs: ignore whitespace after directives. Fixes bug #58057.
1337
1338 2004-04-02  Lluis Sanchez Gual  <lluis@ximian.com>
1339
1340         * TemplateControlCompiler.cs: Fixed build for net_1_0 profile.
1341
1342 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1343
1344         * GlobalAsaxCompiler.cs: removed Imports and Assemblies properties.
1345
1346 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1347
1348         * AspGenerator.cs: error out when <object> server tag is not closed.
1349         Ignore any content inside it.
1350
1351 2004-02-10  Jackson Harper <jackson@ximian.com>
1352
1353         * AspTokenizer.cs: Collect discarded characters that might be used
1354         in client side scripts. Patch by Liyu Liu.
1355         * AspParser.cs: Add discarded characters. Patch by Liyu Liu.
1356         
1357 2004-02-10  Jackson Harper <jackson@ximian.com>
1358
1359         * BaseCompiler.cs: Use the TempDirectory for compilation. Fixes
1360         bug #54117.
1361         
1362 2004-01-30  Jackson Harper <jackson@ximian.com>
1363
1364         * TemplateControlCompiler.cs: Call ToString on the types hashcode,
1365         the build method takes strings not ints.
1366         
1367 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1368
1369         * AspGenerator.cs: handle more possible errors in global.asax file.
1370
1371         * BaseCompiler.cs: added utility methods for creating <object> related
1372         properties and fields.
1373
1374         * GlobalAsaxCompiler.cs: keep around applications and session scope
1375         objects builders. Also a list of imports and assemblies added in
1376         global.asax.
1377
1378         * TemplateControlCompiler.cs: use base class methods for <object> stuff.
1379
1380 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1381
1382         * AspGenerator.cs: use the Cache to store compiled Types. Don't parse
1383         pages more than once. Thanks to Eric Lindvall for pointing this out.
1384
1385 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1386
1387         * TemplateControlCompiler.cs: allow handling subproperties for other
1388         types than Style and Font. Fixes bug #53217.
1389
1390 2004-01-16  Jackson Harper <jackson@ximian.com>
1391
1392         * TagAttribute.cs: attributes can be stored as encoded html so we
1393         decode them here.
1394         
1395 2004-01-14  Jackson Harper <jackson@ximian.com>
1396
1397         * TemplateControlCompiler.cs: Is a user control is cached and
1398         shared use the controls type hashcode for the GUID so it will be
1399         the same across instances.
1400         
1401 2004-01-13  Jackson Harper <jackson@ximian.com>
1402         
1403         * TemplateControlCompiler.cs: If an item has the partial caching
1404         attribute build a PartialCachingControl in the parents __Build method.
1405         * BaseCompiler.cs: Add a method for adding class attributes to the
1406         class.
1407         * UserControlCompiler.cs: If caching is enabled on a user control
1408         add the PartialCachingAttribute to it.
1409         
1410 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1411
1412         * PageCompiler.cs: invoke Request.ValidateInput if required.
1413
1414 2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1415
1416         * AspGenerator.cs: don't rely on GC to close the files parsed. Fixes bug
1417         #52521. Patch by liyul@hotmail.com.
1418
1419 2003-12-25  Jackson Harper <jackson@ximian.com>
1420
1421         * AspGenerator.cs: Allow scriptlets in javascript. This fixes bug
1422         #52522.
1423         
1424 2003-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1425
1426         * PageCompiler.cs: assign the ErrorPage property if provided.
1427
1428 2003-12-15  Jackson Harper <jackson@ximian.com>
1429
1430         * PageCompiler.cs: Add Trace and TraceMode to framework initialize
1431         method if they are set.
1432         
1433 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1434
1435         * AspGenerator.cs: ignore <tbody> when we're inside a server table and
1436         fail when runat="server" is applied to <tbody> with a parse error
1437         instead of waiting for a compilation error. Fixes bug #52157.
1438
1439 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1440
1441         * AspGenerator.cs: basic checking of ID validity.  Throw a
1442         ParseException when mixing languages.
1443
1444 2003-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1445
1446         * PageCompiler.cs: assign LCID, Culture and/or UICulture in
1447         FrameworInitialize() if provided in @Page.
1448
1449         Fixes bug #51511.
1450
1451 2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1452
1453         * TemplateControlCompiler.cs: support for expressions of
1454         System.Drawing.Size type. Allow getting Color from comma separated
1455         numbers, which is not allowed by ColorConverter.
1456
1457         This makes http://www.codeproject.com/aspnet/asppopup.asp work.
1458
1459 2003-11-13  Jackson Harper <jackson@ximian.com>
1460
1461         * PageCompiler.cs: Call InitOutputCache when the OutputCache
1462         directive is set.
1463         
1464 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1465
1466         * AspGenerator.cs: use fileEncoding from configuration files.
1467
1468         * PageCompiler.cs: add assign statements for ContentType,
1469         ResponseEncoding and CodePage if supplied.
1470
1471 2003-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1472
1473         * TemplateControlCompiler.cs: fix bug #42994. Now we don't generate
1474         a return statement for user controls with 'void' return type.
1475
1476 2003-10-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1477
1478         * AspParser.cs: fixed bug #49627.
1479
1480 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1481
1482         * BaseCompiler.cs: now gets the CodeCompiler from configuration files.
1483
1484 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1485
1486         * Directive.cs: new attribute for @Page directive in 1.1.
1487
1488 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1489
1490         * AspParser.cs:
1491         * TagAttributes.cs: allow duplicated runat=server attributes and display
1492         error page when duplicated attributes and runat is specified.
1493
1494 2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1495
1496         * AspTokenizer.cs: moved token numbers above unicode.
1497
1498 2003-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1499
1500         * AspGenerator.cs: don't process code render tags inside scripts. Check
1501         the language of the script and treat javascript as verbatim input.
1502         Fixes bug #48592.
1503
1504 2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1505
1506         * TemplateControlCompiler.cs: fixed bug #48212.
1507
1508 2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1509
1510         * WebServiceCompiler.cs: remove the temporary files here too.
1511
1512 2003-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1513
1514         * AspGenerator.cs: fixed bug #46429.
1515
1516 2003-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1517
1518         * Directive.cs: support @WebHandler.
1519         
1520 2003-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1521
1522         * TemplateControlCompiler.cs: support string []. Fixes bug #46415.
1523
1524 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1525
1526         * BaseCompiler.cs: first look for cached items, then generate the tree.
1527         This should speed things up.
1528
1529         * CachingCompiler.cs: when compiling web services, use the full path of
1530         the .asmx file as key when caching.
1531
1532         * WebServiceCompiler.cs: first look for cached items, then generate
1533         the source file.
1534
1535 2003-07-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1536
1537         * AspParser.cs: more useful error information,
1538
1539         * BaseCompiler.cs:
1540         * CachingCompiler.cs: honor the debug="true" option.
1541
1542         * TemplateControlCompiler.cs: small fixes for templates.
1543
1544 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1545
1546         * BaseCompiler.cs: made Compiler property virtual.
1547
1548         * CachingCompiler.cs: added support for compiling web services.
1549
1550         * WebServiceCompiler.cs: implemented.
1551
1552 2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1553
1554         * CachingCompiler.cs: fixed bug #43477.
1555
1556 2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1557
1558         * AspParser.cs:
1559         * AspTokenizer.cs: fixed bugs #43206 and #43371.
1560
1561 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1562
1563         * TemplateControlCompiler.cs: duh! Generate SupportAutoEvents instead
1564         of AutoEventWireup (which is internal). Thanks to Stuart Ballard for
1565         reporting.
1566
1567 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1568
1569         * CompilationException.cs: don't add duplicated lines in the case that
1570         mcs reports several errors for the same one.
1571
1572 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1573
1574         * AspGenerator.cs: fully support including files, ie., treat them just
1575         as C treats #includes.
1576
1577 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1578
1579         * AspGenerator.cs:
1580         * AspParser.cs:
1581         * TagType.cs: Added support for server side includes.
1582
1583 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1584
1585         * CSCompiler.cs: actually add the list of referenced assemblies to the
1586         compiler options. Throw a CompilationException if there's an error.
1587
1588         * CachingCompiler.cs: added a method to compile directly from a source
1589         file.
1590         
1591 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1592
1593         * AspGenerator.cs: copy the location before setting the value for the
1594         control builders.
1595
1596         * BaseCompiler.cs: changed parameters for CompilationException.
1597
1598         * CompilationException.cs: it takes now line numbers and error
1599         descriptions from the CompilerErrorCollection.
1600
1601         * Location.cs: used when a copy of an ILocation is needed.
1602
1603         * ParseException.cs: implemented new methods to provide line numbers
1604         and souce file.
1605
1606         * TemplateControlCompiler.cs: throw a ParseException where appropiate.
1607
1608 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1609
1610         * AspGenerator.cs: also support data bind syntax inside tags not
1611         processed as controls. Added debugging method.
1612
1613         * TemplateControlCompiler.cs: reset the number of data binding handlers 
1614         in the proper place. Small fix when getting the container type.
1615
1616 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1617
1618         * TemplateControlCompiler.cs: correctly set the TemplateSourceDirectory 
1619         value.
1620
1621 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1622
1623         * AspGenerator.cs: handle code render syntax in tag attributes.
1624
1625         * AspParser.cs: the constructor now takes a TextReader.
1626
1627         * TemplateControlCompiler.cs: removed comment.
1628
1629 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1630
1631         * TemplateControlCompiler.cs: added support for data bound properties.
1632
1633 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1634
1635         * AspComponentFoundry.cs: simplified it a lot by using Type and Assembly
1636         instead of their names.
1637
1638         * AspElements.cs: removed. No longer needed.
1639
1640         * AspGenerator.cs: this file is now in charge of interfacing between
1641         the parser and the compiler. It manages the creation of the
1642         ControlBuilder tree and the compilation of the CodeDOM tree.
1643
1644         * AspParser.cs: tag handling is simpler now.  Instead of a whole bunch
1645         of different Types, tags are just and id and a set of attributes.
1646         Implement ILocation interface.
1647         
1648         * AspTokenizer.cs: added a few methods to help the parser implementing
1649         ILocation.
1650
1651         * BaseCompiler.cs: handles the portions of the CodeDOM tree that are
1652         common to appliaction, page and user control, including the actual
1653         compilation and error handling.
1654
1655         * CSCompiler.cs: compiles C# files using CodeDOM interfaces.
1656
1657         * CachingCompiler.cs: simplified to use the new interfaces.
1658
1659         * CompilationException.cs: it's now using CompilationResult to report
1660         errors.
1661
1662         * CompilationResult.cs: Removed file.
1663
1664         * Directive.cs: to check for the validity of a directive.
1665
1666         * GlobalAsaxCompiler.cs: simplified a lot, as most of the work is done
1667         in BaseCompiler.
1668
1669         * ILocation.cs: interface used to now the exact place where a parse
1670         error happens.
1671
1672         * PageCompiler.cs: generates a couple of methods that are only used in
1673         pages.
1674
1675         * ParseException.cs: use the ILocation interface.
1676
1677         * TagAttributes.cs: handles the attributes of the tags parsed.
1678
1679         * TagType.cs: an enum for the different kinds of tags.
1680
1681         * TemplateControlCompiler.cs: this is the one that does most of the
1682         conversion from teh ControlBuilder tree into a CodeDOM tree.
1683
1684         * UserControlCompiler.cs: simplified as most of the work is done in
1685         its base classes.
1686
1687         * WebServiceCompiler.cs: dummy.
1688
1689 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1690
1691         * AspComponentFoundry.cs: added GetComponentType method.
1692
1693 2003-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1694
1695         * AspTokenizer.cs: allow quotes inside server tags that are part of
1696         attribute values.
1697         
1698         * CachingCompiler.cs: no more 'FileNotFound' exceptions when the
1699         compilation fails.
1700
1701 2003-03-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1702
1703         * AspGenerator.cs: generate correct appbase path. It was working with
1704         mcs but not with csc.
1705
1706         * BaseCompiler.cs: quote arguments and removed GetRandomFileName.
1707
1708         * CachingCompiler.cs: quote source file.
1709
1710 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1711
1712         * AspGenerator.cs: now the Inherits attribute works as expected for
1713         global.asax file.
1714
1715 2003-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1716
1717         * CompilationException.cs:
1718         * ParseException.cs: display the correct line number in error messages.
1719
1720         * AspElements.cs: added TargetSchema attribute for control. It's
1721         ignored.
1722
1723 2003-03-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1724
1725         * BaseCompiler.cs: fixed the hack to work under windows.
1726         * CachingCompiler.cs: under windows, try 'mcs.bat' and then 'mcs'.
1727
1728 2003-03-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1729
1730         * BaseCompiler.cs: hacks to work-around our buggy System.Uri.
1731
1732 2003-03-17 George Kodinov <gkodinov@openlinksw.co.uk>
1733
1734         * BaseCompiler.cs: Removed a FIXME: and added a correct calculation of
1735         app's private bin path
1736
1737 2003-03-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1738
1739         * AspGenerator.cs:
1740         * BaseCompiler.cs:
1741         * CachingCompiler.cs:
1742         * CompilationResult.cs:
1743         * GlobalAsaxCompiler.cs:
1744         * PageCompiler.cs:
1745         * UserControlCompiler.cs: recompile the page if dependencies change.
1746
1747 2003-02-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1748
1749         * AspGenerator.cs: corrected typo and wrong fix.
1750
1751 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1752
1753         * AspGenerator.cs: fixed code generation for Table/TableRow/TableCell
1754         when used explicitly.
1755
1756 2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1757
1758         * AspElements.cs: get the property Type for controls that use
1759         ParseChildren with a property name.
1760
1761         * AspGenerator.cs: generate correct signature for the method that
1762         adds controls to the default property in ParseChildren.
1763
1764 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1765
1766         * AspGenerator.cs: rethrow exceptions that may come from parsing or 
1767         compilation if a user control.
1768
1769 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1770
1771         * AspGenerator.cs: throw ParseException on parse
1772         error.
1773
1774         * AspParser.cs: added Line and Column props.
1775
1776         * CompilationException.cs: derives now from HtmlizedException.
1777
1778         * CompilationResult.cs: added fileName field.  Fixed set_ExitCode.
1779
1780         * GlobalAsaxCompiler.cs:
1781         * PageCompiler.cs:
1782         * UserControlCompiler.cs: pass the file name in the CompilationResult.
1783
1784         * ParseException.cs: new exception.
1785
1786
1787 2003-02-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1788
1789         * AspGenerator.cs: remove "file://" from the private bin path. Fixes
1790         bug #37628.
1791
1792 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1793
1794         * AspParser.cs: the parser fires events when it parses an element.
1795
1796         * GlobalAsaxCompiler.cs:
1797         * PageCompiler.cs:
1798         * UserControlCompiler.cs:
1799         * AspElements.cs: modified to use the new parser interface.
1800
1801         * AspGenerator.cs: modified to use the new parser. Merge multiple text
1802         strings into one single LiteralControl.
1803
1804         * AspTokenizer.cs: added Line and Column properties.
1805
1806 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1807
1808         * AspParser.cs: fixed bug #36929.
1809
1810 2003-01-21  Tim Haynes <thaynes@openlinksw.com>
1811
1812         * AspGenerator.cs:
1813         * BaseCompiler.cs:
1814         * CachingCompiler.cs: changes to work around spaces and
1815         directory-separators in the local filesystem.
1816
1817 2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1818
1819         * AspGenerator.cs: make the generated file compile with csc after last
1820         change.
1821
1822 2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1823
1824         * AspGenerator.cs: removed unused variable. Added support for
1825         properties/fields of type string [].
1826
1827 2003-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1828
1829         * AspGenerator.cs: modified loading of the parent type now that
1830         Type.GetType is fixed.
1831
1832 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1833
1834         * AspGenerator.cs: cast to Control if the container does not implement
1835         INamingContainer.
1836
1837 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1838
1839         * AspGenerator.cs: fixed a couple of thinkos related to IsSubclassOf.
1840
1841 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1842
1843         * AspElements.cs: attributes without value lacked a space afterwards.
1844
1845 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1846
1847         * AspGenerator.cs: functions for columns don't return anything. Fixed
1848         typo.
1849
1850 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1851
1852         * AspGenerator.cs: add data bound controls to code render function.
1853
1854 2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1855
1856         * AspComponentFoundry.cs: reworked to allow same prefix for multiple
1857         controls. You can register 1 assembly plus any number of user controls
1858         under the same prefix.
1859
1860         * AspGenerator.cs: don't add duplicate 'using' for the same namespace.
1861         Hack to allow @Register access to assemblies in other places than bin
1862         directory.
1863
1864 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1865
1866         * AspElements.cs: added 'codebehind' attribute for page, control and
1867         application. It's ignored by MS, but allowed. Fixed typo.
1868
1869 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1870
1871         * AspGenerator.cs: fixed EnableSesssionState handling.
1872
1873 2003-01-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1874
1875         * AspGenerator.cs: don't generate instance fields for pages/controls
1876         when the base class specified in the Inherits attribute already has
1877         them. Closes bug #36262.
1878
1879 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1880
1881         * AspGenerator.cs: generate code like 'control.XXX = value' also for
1882         public fields (properties were being handled in that way too).
1883
1884 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1885
1886         * AspGenerator.cs: now it uses the current HttpContext when creating
1887         user controls. TemplateSourceDirectory is no longer a dummy value.
1888
1889         * GlobalAsaxCompiler.cs:
1890         * PageCompiler.cs:
1891         * UserControlCompiler.cs: set the context which will be used to locate
1892         the files.
1893         
1894 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1895
1896         * AspGenerator.cs: added support for AutoEventWireup attribute in
1897         @Page and @Control.
1898
1899         * CompilationResult.cs:
1900         * GlobalAsaxCompiler.cs:
1901         * PageCompiler.cs:
1902         * UserControlCompiler.cs: store the options.
1903
1904 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1905
1906         * AspElements.cs: new method Tag.GetElements
1907         used to parse the inner contents of a tag looking for data binding or 
1908         code render tags.
1909         
1910         New property HtmlControlTag.ParseChildren allows
1911         differentiation of a couple of HtmlControls that has children as
1912         properties (namely HtmlTable and HtmlTableRow).
1913
1914         * AspGenerator.cs: fixed container semantics to
1915         match BindingContainer one. Implemented Inherits attribute for page and
1916         control.
1917
1918         Support HtmlControls that has ChildrenAsProperties.
1919         
1920         Generate code for data binding functions that matches the semantic of
1921         Container.
1922
1923         Handle data bound and code render attribute values.
1924
1925         Set proper value return for TemplateSourceDirectory. Should be relative
1926         to appPath.
1927         
1928         * BaseCompiler.cs: moved CompilerOptions and
1929         References handling here.
1930
1931         * CachingCompiler.cs: copy result of compilation.
1932
1933         * CompilationException.cs: simple ToString () implementation.
1934
1935         * CompilationResult.cs: implemented CopyFrom and ToString.
1936
1937         * GlobalAsaxCompiler.cs:
1938         * PageCompiler.cs:
1939         * UserControlCompiler.cs: removed CompilerOptions as it's now handled
1940         in the base class. Get all the types in the generated assembly and
1941         look for one that derives from the correct Type.
1942         
1943 2002-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1944
1945         * AspElements.cs: added @Application directive.
1946
1947         * AspGenerator.cs: make it work also with application files. We
1948         currently generate an extra private function.
1949
1950 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1951
1952         * GlobalAsaxCompiler.cs: compiler for global.asax file. If the file
1953         exists, it will be compiled into an HttpApplication derived class
1954         (directly or through a user-provided class).
1955
1956 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1957
1958         * AspGenerator.cs: fixed target file name and generated class name.
1959         * BaseCompiler.cs: reference assemblies in PrivateBinPath.
1960
1961 2002-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1962
1963         * AspGenerator.cs: reworked user control
1964         compilation. Provide the options as a Hashtable for use in compilation.
1965         Create the user controls in the private bin path of the domain.
1966
1967         * BaseCompiler.cs: base class for the various compiler types.
1968
1969         * CachingCompiler.cs: actually executes mcs and do some poor caching
1970         (it will use Cache when finished).
1971
1972         * CompilationException.cs: this exception has enough information to
1973         generate a nice error page.
1974         * CompilationResult.cs: used in caching.
1975
1976         * PageCompiler.cs: now derives from BaseCompiler
1977
1978         * TemplateFactory.cs: no longer needed.
1979
1980         * UserControlCompiler.cs: new class used when compiling user controls.
1981         * WebServiceCompiler.cs: derives from BaseCompiler.
1982
1983 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1984
1985         * AspElements.cs: added ServerComment class.
1986         * AspParser.cs: ignore ServerComments tags. Remove server comments when 
1987         in verbatim mode.
1988
1989         Fixes #33482.
1990
1991         * PageCompiler.cs: check if the type is already cached before generating
1992         the C# file.
1993         * TemplateFactory.cs: if csFile parameter is null, only checks if we
1994         already have the page compiled.
1995
1996 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1997
1998         * AspGenerator.cs: undo one-liner change.
1999
2000 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2001
2002         * AspGenerator.cs: removed a few hacks no longer needed.
2003
2004 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2005
2006         * PageCompiler.cs: tracing.
2007         * TemplateFactory.cs: cache compiled types and tracing.
2008         * WebServiceCompiler.cs: new parameter in GetTypeFromsource,
2009
2010 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2011
2012         * AspComponentFoundry.cs: fixed typo.
2013         * TemplateFactory.cs: use csc style options.
2014         * AspGenerator.cs: don't use FileDependencies property of base class.
2015
2016 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2017
2018         * System.Web.Compilation/AspElements.cs:
2019         * System.Web.Compilation/AspGenerator.cs:
2020         * System.Web.Compilation/AspParser.cs:
2021         * System.Web.Compilation/PageCompiler.cs:
2022         * System.Web.Compilation/TemplateFactory.cs: we are now able to compile
2023         pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
2024
2025 2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2026
2027         * AspElements.cs: added WebService directive.
2028         * WebServiceCompiler.cs: New file.
2029
2030 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2031
2032         * PageCompiler.cs: fixed compilation.
2033
2034 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2035
2036         * PageCompiler.cs: generate C# file using AspGenerator.
2037
2038 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2039
2040         * AspComponentFoundry.cs: LookupFoundry now returns bool.
2041         * AspGenerator.cs: New file.
2042
2043 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2044
2045         * AspComponentFoundry.cs: New file.
2046         * AspElements.cs: renamed Component to Aspcomponent.
2047
2048 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2049
2050         * AspElements.cs:
2051         * AspParser.cs:
2052         * AspTokenizer.cs:
2053         * ChangeLog:
2054         * PageCompiler.cs:
2055         * TemplateFactory.cs: first steps to move xsp into System.Web.
2056