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