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