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