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