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