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