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