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