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