1 2007-09-14 Marek Habersack <mhabersack@novell.com>
3 * AppResourcesCompiler.cs: use _culture and _resourceManager
4 instead of culture and resourceManger in the generated code, to
5 avoid case problems for languages that are case-insensitive.
7 2007-09-10 Marek Habersack <mhabersack@novell.com>
9 * TemplateControlCompiler.cs: cast the expression to the field
10 type whenever appropriate in GetExpressionFromString.
11 When generating an object instance and one of the parameters is
12 System.Type, return a typeof expression.
14 2007-09-07 Marek Habersack <mhabersack@novell.com>
16 * TemplateControlCompiler.cs: another modification to the way
17 TemplateInstance.Single templates are treated. The search for
18 parent with this attribute set stops as soon as the first
19 TemplateBuilder is encountered, no matter what the value of its
20 TemplateInstance attribute is.
22 2007-09-06 Marek Habersack <mhabersack@novell.com>
24 * TemplateControlCompiler.cs: ID must be assigned as soon as
25 possible, before any other attributes of the control are
26 accessed. The control code may rely on ID being set.
27 Extend the process of checking if a control is located within a
28 template with the TemplateInstance.Single attribute set, to all
29 the parents of the current builder.
31 2007-09-05 Marek Habersack <mhabersack@novell.com>
33 * ThemeDirectoryCompiler.cs: all the skin files compiled in one
34 batch must share the same component foundry. Under MS.NET if any
35 earlier .skin file registers a control prefix any later .skin
36 files may use it without registering.
38 2007-09-04 Marek Habersack <mhabersack@novell.com>
40 * TemplateControlCompiler.cs: make sure that base class doesn't
41 contain a field of the same name which is accessible from the
42 current control if we're within a singleton template.
43 When generating code for a property or field, use the name
44 retrieved from the metadata by reflection instead of the one
45 parsed from html. Fixes bug #82687. Patch from SunHo Kim
46 <zsunno@gmail.com>, thanks!
48 2007-08-29 Marek Habersack <mhabersack@novell.com>
50 * CachingCompiler.cs: consider contents of the
51 <compilation><assemblies> section when constructing a list of
52 assemblies during compilation.
54 * TemplateControlCompiler.cs: mark fields corresponding to the
55 controls as global references.
56 When control tree is constructed and the parent of the current
57 builder is a TemplateBuilder marked with the TemplateInstance
58 attribute set to Single, use the control's ID as the field
59 name. This makes it possible to refer to controls inside templates
60 by name instead of by using FindControl.
62 2007-08-23 Marek Habersack <mhabersack@novell.com>
64 * AppCodeCompiler.cs: use HttpApplication.BinDirectoryAssemblies
65 and HttpApplication.LoadTypeFromBin.
67 * BuildProvider.cs: use HttpApplication.BinDirectoryAssemblies in
70 2007-08-21 Marek Habersack <mhabersack@novell.com>
72 * BuildProvider.cs: use HttpApplication.PrivateBinPath enumerator
73 to look up assemblies in the binary path(s).
75 2007-08-19 Juraj Skripsky <js@hotfeet.ch>
77 * GlobalAsaxCompiler.cs (ProcessObjects): Make string comparison
78 for scope case insensitive. Fixes bug #82479.
80 2007-08-14 Marek Habersack <mhabersack@novell.com>
82 * TemplateControlCompiler.cs: remove dead code.
84 * AssemblyBuilder.cs: include actual exception information when
85 reporting inability to load a compiled assembly.
87 * AppCodeCompiler.cs: remove unused variables.
89 * AspComponentFoundry.cs: use an ArrayList to implement LIFO for
90 component collections, instead of the old Queue which implemented
91 FIFO. Fixes situations when a control registered later for a
92 certain prefix would not be used in preference to a previously
93 registered one of the same name.
95 2007-08-06 Marek Habersack <mhabersack@novell.com>
97 * AspComponentFoundry.cs: properly add new foundry if the
98 corresponding entry in the foundries collection is a Queue. Patch
99 from Juraj Skripsky <juraj@hotfeet.ch>, thanks! Fixes bug #82285.
101 2007-07-31 Marek Habersack <mhabersack@novell.com>
103 * AspComponentFoundry.cs: do not overwrite previously registered
104 foundries when a new one is registered with the same prefix. Fixes
107 2007-07-18 Marek Habersack <mhabersack@novell.com>
109 * TemplateControlCompiler.cs: on the 2.0 profile, GetContainerType
110 does not look up the Item/Items properties to determine the
111 container type, instead it just returns the type reported by the
112 builder passed to this method. This change makes the generated
113 code match MS.NET. Fixes bug #82119.
115 2007-07-02 Marek Habersack <mhabersack@novell.com>
117 * TemplateControlCompiler.cs: don't use StartWith to see if a
118 variable's value is a bind expression, as it erroneously renames
119 all calls to methods starting with the string Bind. Use a regular
120 expression now instead. Fixes bug #81928.
122 2007-06-20 Marek Habersack <mhabersack@novell.com>
124 * AppResourcesCompiler.cs: use HttpRuntime.InternalCache to keep
126 * CachingCompiler.cs: as above
127 * AspGenerator.cs: as above
129 2007-06-13 Marek Habersack <mhabersack@novell.com>
131 * TemplateControlCompiler.cs: make sure control has a writable
132 TemplateControl property prior to assigning values to it.
134 2007-06-09 Marek Habersack <mhabersack@novell.com>
136 * TemplateControlCompiler.cs: TemplateControl is assigned for
137 controls that are placed within ContentPlaceHolder and not for the
138 ContentPlaceHolder itself.
139 No longer add the overriden version of TemplateSourceDirectory to
140 the generated source, all the work is now done in
141 Control.TemplateSourceDirectory.
143 * BaseCompiler.cs: AppRelativeVirtualPath shouldn't end with a
144 slash, for compatibility with MS.NET
146 2007-06-05 Marek Habersack <mhabersack@novell.com>
148 * TemplateControlCompiler.cs: TemplateSourceDirectory in the 2.0
149 profile uses the TemplateControl property instead of Parent. This
150 allows to return the correct path.
152 2007-06-01 Marek Habersack <mhabersack@novell.com>
154 * TemplateControlCompiler.cs: be case-insensitive when looking for
157 2007-05-29 Marek Habersack <mhabersack@novell.com>
159 * ThemeDirectoryCompiler.cs: pass the skin file's
160 virtual path to the skin file parser as its first paramenter, and
163 2007-05-28 Marek Habersack <mhabersack@novell.com>
165 * ResourceExpressionBuilder.cs: properly cast
166 GetGlobalResourceObject calls to the type of the property being
169 2007-05-25 Marek Habersack <mhabersack@novell.com>
171 * TemplateControlCompiler.cs: Changed a few incorrect
172 ObjectCreationExpression to the correct DelegateCreationExpression.
175 2007-05-24 Marek Habersack <mhabersack@novell.com>
177 * PageCompiler.cs: added support for the PreviousPageType directive.
179 * Directive.cs: as above.
181 2007-05-22 Marek Habersack <mhabersack@novell.com>
183 * UserControlCompiler.cs: the Profile property should be present
184 also in user controls.
186 2007-05-15 Marek Habersack <mhabersack@novell.com>
188 * ResourceExpressionBuilder.cs: added a static method to generate
189 a GetLocalResourceObject call which properly handles types which
190 cannot be converted from strings.
192 * TemplateControlCompiler.cs: use code described above to generate
193 code for properties assigned from resources.
195 * WsdlBuildProvider.cs: make the code actually work - get the
196 physical path of VirtualPath instead of converting it to absolute
198 Do not generate source, add the code unit to assembly builder
201 * XsdBuildProvider.cs: added
203 2007-05-08 Marek Habersack <mhabersack@novell.com>
205 * TemplateControlCompiler.cs: BuildTemplateMethod is a delegate,
206 so use a delegate create expression - it may make difference for
207 languages other than C# (e.g. VisualBasic).
209 2007-05-07 Marek Habersack <mhabersack@novell.com>
211 * AspGenerator.cs: if the parser's language is implicit (i.e. set
212 from the default configuration), the first script with the
213 language attribute present sets the language of the parser.
215 2007-05-04 Marek Habersack <mhabersack@novell.com>
217 * TemplateControlCompiler.cs: do not query the parent for
218 TemplateSourceDirectory if we are generating code for a Master
221 2007-04-30 Marek Habersack <mhabersack@novell.com>
223 * ConnectionStringsExpressionBuilder.cs: support expressions with
224 suffixes .ProviderName and .ConnectionString (case-insensitie) and
225 generate a call to GetConnectionStringProviderName in the former
226 case. Fixes bug #81490
228 * AppCodeCompiler.cs: support for cases when there exists a custom
229 profile class but there is no App_Code directory or it's
230 empty. Fixes bug #81489.
232 * TemplateControlCompiler.cs: fix generation of code for
233 declarative attribute assignments of the form Font-Size="small"
234 (i.e. when a font size is assigned a symbolic, relative size
235 value). This fixes for example rendering of the 0th level of
238 2007-04-27 Marek Habersack <mhabersack@novell.com>
240 * AppCodeCompiler.cs: do not look at the number of errors, check
241 the compiler return code instead.
242 Resolve assembly names from the global web.config to their
243 locations before passing them to the compiler provider.
245 * AssemblyBuilder.cs: as above
247 * AppResourcesCompiler.cs: as above
249 * AspComponentFoundry.cs: formatting changes.
250 AssemblyFoundry looks for the specified namespace+type in the
251 top-level assemblies if necessary.
253 2007-04-26 Marek Habersack <mhabersack@novell.com>
255 * AssemblyBuilder.cs: handle compilation failures in a better
258 * PageCompiler.cs: the Master property must be in the partial
259 class if present. Fixes bug #81442
261 2007-04-20 Marek Habersack <mhabersack@novell.com>
263 * AppCodeCompiler.cs: fix App_Code build when the directory
264 contains both known and unknown files.
266 2007-04-19 Gert Driesen <drieseng@users.sourceforge.net>
268 * AspComponentFoundry.cs: Fixed build on 1.0 profile. Spaces to
271 2007-04-19 Marek Habersack <mhabersack@novell.com>
273 * AppCodeCompiler.cs: yet another method of detecting if we have a
276 * BaseCompiler.cs: as above
278 * AspComponentFoundry.cs: implemented delayed loading of control
279 assemblies. Fixes bug #81058.
281 2007-04-19 Gert Driesen <drieseng@users.sourceforge.net>
283 * BaseCompiler.cs: On 2.0, when ClassName attribute contains namespace
284 then use it instead of the default ASP namespace. Fixes part of bug
287 2007-04-19 Marek Habersack <mhabersack@novell.com>
289 * BaseCompiler.cs: don't look at the number of profile properties
290 when deciding if we have a custom profile. It is possible to have
291 a profile that just inherits from a base class and does not list
292 any custom properties. Fixes bug #81396.
294 * AppCodeCompiler.cs: as above
296 2007-04-15 Marek Habersack <mhabersack@novell.com>
298 * AppCodeCompiler.cs: properly convert physical file path to
299 virtual path for build providers.
300 Make sure there's actually anything to compile.
302 2007-04-11 Marek Habersack <mhabersack@novell.com>
304 * AppCodeCompiler.cs: move custom profile type check till after
305 the App_Code compilation is done. That way we can have custom
306 profile providers in there. Fixes bug #81307.
308 2007-04-10 Marek Habersack <mhabersack@novell.com>
310 * AppResourceFilesCollection.cs: watch App_LocalResources for
313 2007-04-06 Marek Habersack <mhabersack@novell.com>
315 * BaseCompiler.cs: display the source of the file in which the
316 error actually happened if the file exists, or the unit
319 2007-04-03 Marek Habersack <mhabersack@novell.com>
321 * AppResourcesCompiler.cs: global resources are put in the
322 "Resources." namespace while local ones are not. Fixes bug #81174
323 which was reopened after r75261.
325 2007-03-26 Marek Habersack <mhabersack@novell.com>
327 * TemplateControlCompiler.cs: refactor assining properties from
328 resources a bit to support pages and user controls. Fixes bug
330 Process meta:resourcekey after all the field/attribute assignments
331 are done. Fixes bug #80809.
332 Clean the code up a bit.
333 Use GetExpressionFromString to generate a correct expression for
334 custom page/control attributes. Fixes bug #81132.
336 2007-03-21 Marek Habersack <mhabersack@novell.com>
338 * BaseCompiler.cs: cast 'this' to CodeFileBaseClass in
339 AssignAppRelativeVirtualPath if the attribute was defined.
341 * TemplateControlCompiler.cs: added support for setting custom
342 attributes of a base class from the Page or Control directive
345 2007-03-20 Marek Habersack <mhabersack@novell.com>
347 * ResourceExpressionBuilder.cs: if the resource class key is null
348 or empty, call GetLocalResourceObject, if not,
349 GetGlobalResourceObject. Fixes bug #81174.
351 2007-03-16 Marek Habersack <mhabersack@novell.com>
353 * AppCodeCompiler.cs: produce message that makes more sense.
355 2007-03-15 Marek Habersack <mhabersack@novell.com>
357 * AppResourcesCompiler.cs: handle global resource keys with dots
358 the way MS.NET does. All the dots are replaced with underscores
359 when generating the stronly-typed property.
361 2007-03-14 Marek Habersack <mhabersack@novell.com>
363 * AppResourcesCompiler.cs: Fix a bug with global resources file
364 grouping where no translated resources were processed due to base
367 * TemplateControlCompiler.cs: hadle situations when there exist a
368 control in the page with id matching the name of a field/property
369 in the parent class. In this case we use 'protected new' to
372 2007-03-13 Marek Habersack <mhabersack@novell.com>
374 * AspParser.cs: fix an off-by-one parsing bug with server-side
377 * PageThemeCompiler.cs: let property builders through, stop the
378 builders that have no control type. Fixes bug #81092
380 * PageCompiler.cs: interfaces are to be implemented by the parent
381 partial class, not the generated one.
383 * AppResourceFilesCollection.cs: added separate constructor for
384 local resources handling.
386 * TemplateControlCompiler.cs: request the local resource object
387 with proper virtual path.
388 Put field declarations for controls in the partial class.
389 Make sure builders are in valid state before trying to use them.
391 * BaseCompiler.cs: added code to assing AppRelativeVirtualPath
392 property in the page/control constructor.
393 Change the generated code model for pages/controls to comply with
394 the way MS.NET does (partial class contains only two properties
395 plus declarations of all the controls, the actual control/page
396 class inherits from the partial class). Fixes bug #81001.
398 * AppResourcesCompiler.cs: does not require specifying manually
399 whether it's a global or local resource compiler anymore. New
400 constructors take care of that.
401 Changed to compile local resources on demand, when a control/page
404 2007-03-12 Marek Habersack <mhabersack@novell.com>
406 * AspParser.cs: revert r73587 as it breaks more than it fixes.
408 * AspComponentFoundry.cs: try to register foundries from App_Code
409 assemblies if tag prefix and its namespace are defined. Fixes bug
412 * BuildManager.cs, BaseCompiler.cs: CodeAssemblies is a collection
413 of Assembly instances, not strings.
415 * CachingCompiler.cs: make sure items in the CodeAssemblies and
416 TopLevelAssemblies are really instances of the Assembly class
417 before trying to use them.
418 CodeAssemblies is a collection of Assembly instances, not
421 * AppCodeCompiler.cs: on MS.NET CodeAssemblies is a collection of
422 assemblies, not paths to assemblies.
424 2007-03-10 Marek Habersack <mhabersack@novell.com>
426 * PageCompiler.cs, BaseCompiler.cs: refactoring: moved the
427 CreateProfileProperty and InternalCreatePageProperty to
428 BaseCompiler from PageCompiler.
430 * GlobalAsaxCompiler.cs: generate the Profile property for the
433 2007-03-09 Marek Habersack <mhabersack@novell.com>
435 * AppCodeCompiler.cs: Add the GetProfile method to the
436 ProfileCommon auto-generated class.
438 * AppResourcesCompiler.cs: attempt to load the resource file
439 earlier in the process, to gracefully handle empty files.
441 * ThemeDirectoryCompiler.cs: make compiled themes depend on the
442 .skin and .css files composing the theme.
444 2007-03-05 Marek Habersack <mhabersack@novell.com>
446 * PageThemeCompiler.cs: Use correct theme path for
447 AppRelativeTemplateSourceDirectory.
448 Do not process builders of type CodeRenderBuilder.
449 Make sure builder.ControlType is not null before depending on it.
451 * ThemeDirectoryCompiler.cs: theme parser should be passed the
452 virtual directory of the theme.
454 2007-03-03 Marek Habersack <mhabersack@novell.com>
456 * PageCompiler.cs: Added support for setting the
457 MaintainScrollPositionOnPostBack property if the corresponding
458 page directive attribute is found.
460 * Directive.cs: added the MaintainScrollPositionOnPostBack and
461 LinePragmas directives.
463 2007-03-02 Marek Habersack <grendello@gmail.com>
465 * AppCodeCompiler.cs: Correctly process App_Code directories which
466 have no compilable files in the top-level directory. Fixes bug
468 Write preservation files for the App_Code assemblies.
470 2007-03-01 Marek Habersack <grendello@gmail.com>
472 * AspParser.cs: fix GetVerbatim for cases when the end is
473 e.g. --> or --%> and the string matched is ---> or ---%>
474 respectively. The new code always backs out to make sure the end is
477 2007-02-27 Marek Habersack <grendello@gmail.com>
479 * TemplateControlCompiler.cs: ParseExpression returns an object,
480 don't assume any concrete type.
481 Use the current culture when converting the expression to a
484 * ConnectionStringsExpressionBuilder.cs: Implement support for
485 expressions of the <%$ ConnectionStrings:StringName %> form
487 2007-02-19 Marek Habersack <grendello@gmail.com>
489 * ResourceExpressionBuilder.cs: Do not prepend the .Resources prefix here
491 2007-02-16 Marek Habersack <grendello@gmail.com>
493 * CachingCompiler.cs, BaseCompiler.cs: Make sure that no assembly
494 is referenced twice by the compiler(s).
496 * TemplateControlCompiler.cs: Fix the problem with cultures which
497 have a comma as their decimal separator and font/whatever
498 units. New code does not reparse the text representation of the
499 unit on the runtime (e.g. 0.9em) but instead it constructs the
500 property using the FontUnit/Unit constructors which take,
501 respectively, Unit and double/unittype parameters. This avoids
502 culture-specific parsing.
503 Also fix converting from invariant strings in a culture-aware
504 environment (e.g. in a page that uses Culture="auto") during the
507 2007-02-12 Marek Habersack <grendello@gmail.com>
509 * PreservationFile.cs: Support preservation (assembly mapping)
510 files (the ones with .compiled extension in the ASP.NET temporary
511 directory). This one implements a loader/saver class.
513 * AppResourcesCompiler.cs: support for assembly name mapping.
515 * AppCodeCompiler.cs: support for assembly name mapping.
517 2007-02-08 Marek Habersack <grendello@gmail.com>
519 * TemplateControlCompiler.cs: Fix TemplateSourceDirectory.
521 * AspComponentFoundry.cs: Avoid duplicate control registration
524 * ResourceExpressionBuilder.cs: Make sure all the global resources
525 are looked up using the "Resources." prefix.
527 * AppResourcesCompiler.cs: Make sure all the global resources are
528 embedded with the "Resources." prefix.
530 2007-02-02 Marek Habersack <grendello@gmail.com>
532 * AspGenerator.cs: Move the cache insert code to a separate method, for
533 use from other places.
535 * AspComponentFoundry.cs: Register controls mentioned in web.config, but
536 defer their compilation to the moment when they are actually requested.
538 2007-01-22 Marek Habersack <grendello@gmail.com>
540 * ThemeDirectoryCompiler.cs: Make sure the code works for empty themes.
542 2007-01-20 Miguel de Icaza <miguel@novell.com>
544 * ClientBuildManager.cs: Remove unused variable (this could be a
545 real problem, we never use the appPhysicalTargetDir)
547 * AssemblyBuilder.cs: Remove unused field.
549 * AppResourceFilesCollection.cs: Remove unused field.
551 * TemplateControlCompiler.cs (GetExpressionFromString): Remove
554 * AppResourcesCompiler.cs: Remove unused variable.
556 * AppSettingsExpressionBuilder.cs (GetAppSetting): remove unused
559 * PageCompiler.cs: Put InternalCreatePageProperty inside the
560 NET_2_0 block to eliminate warnings.
562 2007-01-20 Gert Driesen <drieseng@users.sourceforge.net>
564 * BaseCompiler.cs: Fixed build on 1.0 profile.
566 2007-01-20 Marek Habersack <grendello@gmail.com>
568 * BaseCompiler.cs: If the control base type is in the root
569 namespace, make sure global:: is prepended to it.
571 * TemplateControlCompiler.cs: AutoHandlers is obsolete in 2.0,
572 mark it as such in the generated code as well.
574 * AppCodeCompiler.cs: Include debug information if configured in
575 web.config. Fixes bug #80096.
577 2007-01-17 Marek Habersack <grendello@gmail.com>
579 * AppCodeCompiler.cs: Reference toplevel assemblies (at this stage
580 App_GlobalResources) when compiling App_Code sources.
582 * CachingCompiler.cs: Reference toplevel assemblies when compiling
585 * AppResourcesCompiler.cs: Close the streams properly.
587 * AspGenerator.cs: Don't ignore thead/tbody anymore.
589 2007-01-15 Marek Habersack <grendello@gmail.com>
591 * WsdlBuildProvider.cs: New build provider for WSDL files.
592 Compile only when System.Web.Services are present.
594 * TemplateControlCompiler.cs: Forgotten in the previous commit -
595 don't pass the current culture to GetLocalResourceObject, let the
596 method figure it out on its own.
598 2007-01-05 Marek Habersack <grendello@gmail.com>
600 * AppResourceFilesCollection.cs: new class to keep and manage
601 collection of resource files for the App_{Global,Local}Resources
604 * TemplateControlCompiler.cs: rely on
605 HttpContext.GetLocalResourceObject to select the correct culture.
607 * AppResourceFileInfo.cs: new class for keeping resource files
610 * AppResourcesCompiler.cs: new implementation.
612 2006-12-20 Marek Habersack <grendello@gmail.com>
614 * AssemblyBuilder.cs: add an internal version of the
615 AddCodeCompileUnit method.
617 * AppCodeCompiler.cs: implement support for ProfileCommon
618 generation from properties named in the <profile> element in
621 * PageCompiler.cs: create the Profile property in 2.0 code.
623 2006-12-12 Vladimir Krasnov <vladimirk@mainsoft.com>
625 * ThemeDirectoryCompiler.jvm.cs: fixed virtual path for themes
627 2006-12-10 Igor Zelmanovich <igorz@mainsoft.com>
629 * ThemeDirectoryCompiler.cs: refactoring.
631 2006-11-28 Marek Habersack <grendello@gmail.com>
633 * BuildManager.cs: Add an internal property to signal whether or
634 not we have any resources from App_{Global,Local}Resources
636 * AspGenerator.cs: Register controls from
637 system.web/pages/controls collection before parsing.
639 * AppResourcesCompiler.cs: Let the build process know if we have
640 compiled any resources from App_{Global,Local}Resources
642 2006-11-27 Marek Habersack <grendello@gmail.com>
644 * CachingCompiler.cs: Automatically reference App_Code
647 * AppCodeCompiler.cs: Add ~/bin/*.dll to the referenced assemblies
650 2006-11-25 Marek Habersack <grendello@gmail.com>
652 * AppResourcesCompiler.cs: small optimizations.
654 * AppResourceFilesCompiler.cs: small optimizations.
656 2006-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
658 * WebServiceCompiler.cs: add the type to the cache after getting it
659 from the compiled assembly.
661 2006-11-20 Marek Habersack <grendello@gmail.com>
663 * AppCodeCompiler.cs: Reference assemblies listed in
664 system.web/compilation/assemblies.
665 Don't create empty assemblies.
667 2006-11-19 Igor Zelmanovich <igorz@mainsoft.com>
669 * TemplateControlCompiler.cs: fixed:
670 When <%# Bind(...) %>-expression is used more then once for same control
671 The variable associated with this control is declared only once.
673 2006-11-18 Marek Habersack <grendello@gmail.com>
675 * AppResourceFilesCompiler.cs: Fixed an exception thrown when
676 files with names like File.resources or File.resx are found in the
677 resource directories.
679 2006-11-16 Marek Habersack <grendello@gmail.com>
681 * ForceCopyBuildProvider.cs: Added the build provider for
684 * MasterPageBuildProvider.cs: Added the build provider for Master
687 * IgnoreFileBuildProvider.cs: Make the class sealed.
689 * AppCodeCompiler.cs: Fixed BuildProvider creation for a path. Now
690 correctly uses the BuildProviderCollection to retrieve the
691 appropriate builder and maps the physical input file path into
692 application relative path when setting the virtual path of the
695 2006-11-13 Marek Habersack <grendello@gmail.com>
697 * AssemblyBuilder.cs: Added referenced assemblies support. Added a
698 constructor with just the CodeDomProvider argument. CreateCodeFile
699 now uses the code provider's file extension. Added internal method
700 to add pre-generated source code files. Added a BuildAssembly
701 overload that takes no virtual path as the
702 parameter. BuildAssembly now uses an array of source files instead
703 of compile units and also handles embedded resources and
704 referenced assemblies. BuildAssembly deletes the temporary files
705 if MONO_ASPNET_NODELET isn't set in the environment.
707 * AppCodeCompiler.cs: Use the FileUtils methods for temporary file
708 creation. Use the build providers collection to build unknown
709 files in App_Code. Use AssemblyBuilder to compile the assembly.
711 * AppResourceFilesCompiler.cs: Use the FileUtils methods for
712 temporary file creation.
714 * WebHandlerBuildProvider.cs: Added the BuildProviderAppliesTo
717 * UserControlBuildProvider.cs: Added the BuildProviderAppliesTo
720 * PageBuildProvider.cs: Added the BuildProviderAppliesTo
723 * WebServiceBuildProvider.cs: Added the BuildProviderAppliesTo
726 * IgnoreFileBuildProvider.cs: Added the BuildProviderAppliesTo
729 2006-11-08 Marek Habersack <grendello@gmail.com>
731 * BuildProvider.cs: Implemented the GetCustomString
732 method. Removed the necessity to retrieve the CompilationSection
733 twice when GetDefaultCompilerType is called.
735 * AppResourcesCompiler.cs: Added resource compiler results
738 * AppCodeCompiler.cs: The App_Code compiler classes
740 * BuildManager.cs: Implement the CodeAssemblies property.
741 Added an internal TopLevelTypes property to be used in the custom
742 GetType methods. Implemented the GetCompiledCustomString method.
743 Implemented the GetType method overloads. Implemented the
744 GetVirtualPathDependencies method.
746 * BaseCompiler.cs: Reference the assemblies from App_Code, if any
748 2006-10-18 Marek Habersack <grendello@gmail.com>
750 * TemplateControlCompiler.cs: add support for resource
751 expressions in tag attributes.
753 * ResourceExpressionBuilder.cs: add support for resource
754 expressions in tag attributes.
756 * BaseCompiler.cs: add global/local resource assemblies to
757 compilation references, if present.
759 * AppResourcesCompiler.cs: global/local resources compiler.
761 * AppResourceFilesCompiler.cs: compiler of resource files.
763 2006-10-03 Igor Zelmanovich <igorz@mainsoft.com>
765 * TemplateControlCompiler.cs: fixed: Bind functions (Data-Binding Syntax).
766 At run time, the Bind method calls the Eval method, if there is DataItem
768 If there is DataItem == null (like InsertItemTemplate in FormView) Bind
769 method don't raise exception and works properly to extract data from
770 bounded controls on postback.
772 2006-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
774 * AspGenerator.cs: if we are tracking non-server tags for
775 well-formedness, handle tags that do not need to be closed (br, img,...)
778 2006-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
780 * PageCompiler.cs: support the EnableEventValidation attribute.
782 2006-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
784 * AspGenerator.cs: after parsing an include file, don't error out if we
785 still have opened tags unless this was the last file to parse. Fixes
788 2006-09-05 Konstantin Triger <kostat@mainsoft.com>
790 * ParseException.cs: Ensure the source file stream is closed.
792 2006-08-25 Kornél Pál <kornelpal@gmail.com>
794 * AppSettingsExpressionBuilder.cs: Use assembly name constants.
795 * ConnectionStringsExpressionBuilder.cs: Use name reference
797 * ResourceExpressionBuilder.cs: Use assembly name constants.
799 2006-08-20 Vladimir Krasnov <vladimirk@mainsoft.com>
801 * ThemeDirectoryCompiler.jvm.cs: implemented GetCompiledInstance
803 2006-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
805 * ClientBuildManager.cs: handle domain shutdown and unload.
806 Implemented some properties. Commented.
808 2006-08-10 Andrew Skiba <andrews@mainsoft.com>
810 * ThemeDirectoryCompiler.cs: render css path as a virtual path.
812 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
814 * added ThemeDirectoryCompiler.jvm.cs
816 2006-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
818 * PageThemeCompiler.cs: Don't generate a 'Items.Clear ()' call if
819 the property Items does not exist. Patch by Marek Habersack that fixes
822 2006-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
824 * TemplateControlCompiler.cs: support assigning nullable types.
825 Patch by Marek Habersack that fixes bug #78970.
827 2006-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
829 * TemplateControlCompiler.cs: make password work again.
831 2006-06-21 Juraj Skripsky <js@hotfeet.ch>
833 * AspTokenizer.cs (ReadAttValue), AspParser.cs (GetAttributes):
834 MS.NET handles nested quotes differently for server controls and
835 for "normal" controls. Add a property "AlternatingQuotes" to the
836 tokenizer and let the parser decide whether it is well-formed or not.
838 2006-06-20 Andrew Skiba <andrews@mainsoft.com>
840 * PageThemeCompiler.cs, TemplateControlCompiler.cs: take care of
841 UrlPropertyAttribute.
843 2006-06-18 Andrew Skiba <andrews@mainsoft.com>
845 * TemplateControlCompiler.cs: check IsWritablePropertyOrField before
846 generating code for assignment statement and DataBind event.
848 2006-06-15 Juraj Skripsky <js@hotfeet.ch>
850 * AspTokenizer.cs (ReadAttValue), AspParser.cs (GetAttributes):
851 Don't allow an attribute value to contain the same quote characters
852 as the ones used for delimiting the value itself. Add a token
853 NOTWELLFORMED to signal that case to AspParser. Fixes bug #78643.
855 2006-06-08 Konstantin Triger <kostat@mainsoft.com>
857 * ThemeDirectoryCompiler.cs: use physical path instead of virtual path.
859 2006-04-24 Andrew Skiba <andrews@mainsoft.com>
861 * ThemeDirectoryCompiler.cs: use UrlUtils.Combine to combine pathes
863 2006-04-23 Andrew Skiba <andrews@mainsoft.com>
865 * PageThemeCompiler.cs: initialize __linkedStyleSheets field with the
866 array of style sheets from the parser
867 * ThemeDirectoryCompiler.cs: scan *.css files in theme directory and
868 put them in LinkedStyleSheets of PageThemeParser
870 2006-04-20 Chris Toshok <toshok@ximian.com>
872 * BaseCompiler.cs: for 2.0, emit the correct namespace and class
873 names in the case where you use "NS.ClassName" in the Inherits
874 attribute. Fixes bug #78135.
876 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
878 * CachingCompiler.cs: no need to play the Wait/PulseAll game, as we
879 already acquired the lock even when we might have not created the 'key'
880 to the compilation ticket.
882 2006-04-16 Andrew Skiba <andrews@mainsoft.com>
884 * ThemeDirectoryCompiler.cs: add to the directory parser all the
885 assemblies found by PageThemeFileParsers
887 2006-04-12 Lluis Sanchez Gual <lluis@novell.com>
889 * TemplateControlCompiler.cs: Properly read all content of
892 2006-04-11 Andrew Skiba <andrews@mainsoft.com>
894 * TemplateControlCompiler.cs : fix for partial parsers
896 2006-04-11 Andrew Skiba <andrews@mainsoft.com>
898 * ThemeDirectoryCompiler.cs : map the virtual path to the physical
901 2006-04-08 Miguel de Icaza <miguel@novell.com>
903 * TemplateControlCompiler.cs: An attempt to fix the regression
904 introduced in r58505 (a bug fix for 77762). This was reported in
905 the mailing list with a batch of new 2.0 failures.
907 We really need a test suite in NUnit to check on ASP.NET aspx
910 2006-03-27 Robert Jordan <robertj@gmx.net>
912 * CachingCompiler.cs: change the compilation locking scheme
913 from "one mcs per process" to "one mcs per file".
915 2006-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
917 * System.Web.Compilation/TemplateControlCompiler.cs: handle the new
918 StringPropertyBuilder.
920 2006-03-24 Chris Toshok <toshok@ximian.com>
922 * BaseCompiler.cs (GetCompiledType): fall back to CodeDomProvider
923 if system.web/compilation doesn't list a compiler for our
926 2006-03-13 Chris Toshok <toshok@ximian.com>
928 * TemplateControlCompiler.cs (InitMethod): when generating the
929 call to ApplyStyleSheetSkin, don't just blindly pass "this" as the
930 argument to it. Only do that if the class we're compiling is
931 actually a subclass of Page. If it's not, pass this.Page.
933 2006-03-07 Chris Toshok <toshok@ximian.com>
935 * AspGenerator.cs: refactor the parsing code so that we can
936 initiate parsing from outside this class.
938 * PageCompiler.cs (PrependStatementsToFrameworkInitialize): new
939 method, add our StyleSheetTheme assignment here.
940 (AppendStatementsToFrameworkInitialize): rename AddStatements* to
943 * TemplateControlCompiler.cs (EnsureID): make protected.
944 (CreateAssignStatementsFromAttributes): same
945 (AddChildCall): same.
946 (CreateControlTree): same.
947 (CreateFrameworkInitializeMethod): change
948 "AddStatementsToFrameworkInitialize" to
949 "AppendStatementsToFrameworkInitialize", and add call to
950 "PrependStatementsToFrameworkInitialize" before the generation of
951 "base.FrameworkInitialize()."
953 * PageThemeCompiler.cs (CreateControlSkinMethod): remove spew.
955 2006-03-07 Chris Toshok <toshok@ximian.com>
957 * ThemeDirectoryCompiler.cs: new file.
959 * PageThemeCompiler.cs: new file.
961 2006-03-07 Chris Toshok <toshok@ximian.com>
963 * BaseCompiler.cs: fix typo in "initialize" in multiple places.
964 (Init): move the CreateMethods call here.
966 2006-03-02 Chris Toshok <toshok@ximian.com>
968 * TemplateControlCompiler.cs (InitMethod): emit an assignment for
969 SkinID just after the creation of our object, and right after that
970 call "_ctrl.ApplyStyleSheetSkin (page)".
971 (CreateAssignStatementsFromAttributes): split out the majority of
972 this code to CreateAssignStatementFromAttribute, and change this
973 method to simply a loop over the attribute keys. In the 2.0 case,
974 skip the SkinID property, since that's handled explicitly in
977 * PageCompiler.cs (AddStatementsToInitMethod): emit assignments
978 for Theme and StyleSheetTheme.
980 2006-02-23 Chris Toshok <toshok@ximian.com>
982 * TemplateControlCompiler.cs (AddContentTemplateInvocation): track
983 change from ContentControlBuilderInternal to
984 ContentBuilderInternal.
985 (AddCodeRender): same.
987 2006-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
989 * AssemblyBuilder.cs:
990 * BuildManager.cs: compile the assembly from AssemblyBuilder and use
991 GetGeneratedType() on the BuildProvider instead of loading the assembly
992 and trying a wild guess at the type name.
994 2006-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
996 * GlobalAsaxCompiler.cs:
998 * TemplateControlCompiler.cs: CreateMethods is now internal.
1000 * WebServiceBuildProvider.cs:
1001 * PageBuildProvider.cs:
1002 * UserControlBuildProvider.cs:
1003 * WebHandlerBuildProvider.cs: new build providers.
1005 * BuildProvider.cs: add assemblies.
1007 * BaseCompiler.cs: expose the provider and the compile unit through
1010 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1012 * CompilerType.cs: implemented.
1014 * AssemblyBuilder.cs: implemented most of it.
1016 * WebServiceCompiler.cs:
1017 * CachingCompiler.cs: update 2.0 compiler instance creation code.
1019 * ClientBuildManager.cs: implemented some of its methods. Not yet
1022 * BuildManager.cs: the more interesting methods are implemented now.
1024 * BaseCompiler.cs: delete the temporary files in case of error.
1026 * BuildProvider.cs: implemented the Get*Compiler* protected methods.
1028 2006-02-07 Chris Toshok <toshok@ximian.com>
1030 * TemplateControlCompiler.cs (AddParsedSubObjectStmt): append the
1031 calls to AddParsedSubObject to a special statement collection --
1032 builder.flushOutputStatements -- not to builder.method.Statements.
1033 (InitMethod): initially, set flushOutputStatements to
1034 method.Statements. If we're dealing with a ContentPlaceHolder,
1035 set flushOutputStatements to be the else block of a conditional we
1036 create. This causes the compiled control to fall back to the
1037 ContentPlaceHolder's child controls in case there's no
1038 corresponding Content template.
1039 (AddChildCall): use methodStatements instead of method.Statements.
1040 (CreateControlTree): same.
1042 * PageCompiler.cs (CreatePropertyAssign): factor out the
1043 string,string implementation and add one that also takes a
1044 CodeExpression; make the string,string implementation call the
1045 three arg one with thisRef.
1046 (AddStatementsToInitMethod): make use of the 3-arg form of
1047 CreatePropertyAssign to reduce code. Also, add support for
1048 setting the page's Title from the parser's Title.
1050 2006-02-07 Chris Toshok <toshok@ximian.com>
1052 * UserControlCompiler.cs (AddStatementsToInitMethod): emit code to
1053 assign __ctrl.MasterPageFile to our master page, if we have one.
1055 * PageCompiler.cs (CreateContructor): remove the MasterPageFile
1056 assignment from here.
1057 (AddStatementsToInitMethod): and move it here.
1059 * TemplateControlCompiler.cs (InitMethod): in the case where
1060 builder is a RootBuilder (we're building the __BuildControlTree
1061 method), call a virtual method so that subclasses can add their
1062 own statements to the method (used by both Page and MasterPage);
1063 Also, in the RootBuilder case, the argument should be the
1064 parser.ClassName type (the class we're building); lastly, expand
1065 the ContentPlaceHolder logic to include all the
1066 ContentTemplates/InstantiateIn magic.
1067 (AddStatementsToInitMethod): empty virtual method.
1068 (AddContentTemplateInvocation): ContentControlBuilder ->
1069 ContentControlBuilderInternal.
1070 (CreateControlTree): same.
1071 (CallBaseFrameworkInitialize): new function, create call to
1072 base.FrameworkInitialize.
1073 (CreateFrameworkInitializeMethod): call CallBaseFrameworkIniitialize.
1075 2006-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1077 * IgnoreFileBuildProvider.cs: it's not public.
1078 * BuildProvider.cs: mostly implemented.
1080 2006-02-01 Chris Toshok <toshok@ximian.com>
1082 * WebServiceCompiler.cs: CONFIGURATION_2_0 => NET_2_0, and use
1083 GetSection instead of GetWebApplicationSection.
1085 * CachingCompiler.cs: same.
1087 * AspGenerator.cs: same.
1089 * BaseCompiler.cs: same.
1091 2006-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1093 * AspGenerator.cs: ignore 'thead'. Fixes bug #77326.
1095 2006-01-22 Chris Toshok <toshok@ximian.com>
1097 * IgnoreFileBuildProvider.cs: build provider which does nothing.
1099 2006-01-22 Chris Toshok <toshok@ximian.com>
1101 * AspComponentFoundry.cs (.ctor): use a 2.0 friendly form of the
1102 Hashtable ctor to silence a couple of warning.
1103 (CompoundFoundry.ctor): same
1105 * Directive.cs (InitHash): use a 2.0 friendly form of the
1106 Hashtable ctor to silence a couple of warning.
1108 * TagAttributes.cs (MakeHash): use a 2.0 friendly form of the
1109 Hashtable ctor to silence a warning.
1110 (GetDictionary): same.
1112 2006-01-22 Chris Toshok <toshok@ximian.com>
1114 * AppSettingsExpressionBuilder.cs: implement this, patterning it
1115 after an example on msdn. Also, enable the ExpressionEditor
1116 attribute, but use the string rather than the Type overload so we
1117 won't have yet another circular dep.
1119 * ConnectionStringsExpressionBuilder.cs: partial implementation.
1120 Same deal with the ExpressionEditor attribute.
1122 * ResourceExpressionBuilder.cs: same deal with the
1123 ExpressionEditor attribute.
1125 2006-01-20 Chris Toshok <toshok@ximian.com>
1127 * ResourceExpressionBuilder.cs (ParseExpression): implement.
1129 * ResourceExpressionFields.cs: implement.
1131 2006-01-20 Chris Toshok <toshok@ximian.com>
1133 * ClientBuildManagerParameter.cs: implement.
1135 * ClientBuildManagerCallback.cs: this class contains an empty
1136 default implementation.
1138 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1140 * AspGenerator.cs: add support for 'src' in <script runat="server">.
1143 2006-01-04 Chris Toshok <toshok@ximian.com>
1145 * WebServiceCompiler.cs (GetCompiledType): add CONFIGURATION_2_0
1148 * AspGenerator.cs (CheckLanguage): add CONFIGURATION_2_0 code.
1150 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1152 * AspGenerator.cs: fix yesterday's fix.
1154 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1156 * AspGenerator.cs: only do special processing for <script> if it has
1157 the runat="server" attribute. Fixes bug #76918.
1159 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1161 * TemplateControlCompiler.cs: treat LightGrey as a synonym of LightGray.
1164 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1166 * TemplateControlCompiler.cs: handle data bound attributes for html
1167 controls. Fixes bug #76785.
1169 2005-11-28 Chris Toshok <toshok@ximian.com>
1171 * CachingCompiler.cs (Compile): CONFIGURATION_2_0 work.
1173 * BaseCompiler.cs (GetCompiledType): CONFIGURATION_2_0 work.
1175 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1177 * WebServiceCompiler.cs: fixed caching for web handlers.
1179 2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1181 * AspParser.cs: don't change case for verbatim IDs.
1184 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1186 * AspParser.cs: when processing verbatim input, throw if we reach EOF
1187 before the expected end of the data.
1189 2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1191 * CachingCompiler.cs:
1192 * WebServiceCompiler.cs: when caching a type loaded from an assembly
1193 that we didn't compile, make it depend on the file itself, not on a
1194 non-existing cache key. This problem affected performance of web
1195 services and .ashx, making unnecessary extra calls to LoadFrom every
1196 time the cache was cleared.
1198 2005-09-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1200 * BaseCompiler.cs: set the domain's DynamicBase property instead of
1201 guessing it in BaseCompiler.
1203 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1205 * WebServiceCompiler.cs: apply the same fix as in r45440 that fixed bug
1206 75146 for pages/controls.
1208 2005-08-09 Miguel de Icaza <miguel@novell.com>
1210 * WebServiceCompiler.cs: Use the new DynamicDir method.
1212 * BaseCompiler.cs: Use the DynamicBase property as a hint, but
1213 since this value is null most of the time, compute the real value.
1215 Added Bonus: if the directory has some kind of permission problem,
1216 try a different directory name.
1218 2005-07-13 Miguel de Icaza <miguel@novell.com>
1220 * AspGenerator.cs (AspGenerator.CheckLanguage): Use
1221 BaseParser.Context for the context.
1223 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1227 * TemplateControlCompiler.cs: use invariant culture versions of starts/
1230 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1232 * TemplateControlCompiler.cs: comparison between member name and the
1233 first part of the id provided by the user should also be
1234 case-insensitive. Fixes bug #75379.
1236 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1238 * CachingCompiler.cs: use cache.InsertPrivate.
1239 * AspGenerator.cs: use cache.InsertPrivate. Removed extra call to
1242 2005-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1244 * CachingCompiler.cs: create the assemly in the DynamicBase directory,
1245 as all the others, when compiling an assembly from a Src file. Fixes
1248 2005-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1250 * TemplateControlCompiler.cs: if the property is not found, don't forget
1251 about trying the field.
1253 2005-06-13 Lluis Sanchez Gual <lluis@novell.com>
1255 * Directive.cs: Register the MasterType directive.
1256 * PageCompiler.cs: If a MasterType is specified, add a type specific
1257 Master property. All this fixes bug #75192.
1259 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1261 * TemplateControlCompiler.cs: when mapping an attribute name to a field
1262 or property name, there's no need to try with every property and field,
1263 but just the one found when searching by name (no case). There was one
1264 call to ProcessPropertiesAndFields per property or field until found,
1265 now only one if the property/field is found, none otherwise.
1267 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1269 * TemplateControlCompiler.cs: allow more than 2 levels when looking for
1270 properties of fields for an attribute like "Prop1-Prop2-Prop3". Fixes
1273 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1275 * BaseCompiler.cs: when the OutputAssembly is null, we can still have
1276 the assembly file there and be able to load it. Thanks to Rogerio and
1279 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1281 * AspParser.cs: InvariantCulture love.
1283 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1285 * TemplateControlCompiler.cs: use the Page AddContentTemplate method,
1286 as the one in Master is protected. Fixes bug #75157.
1288 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1290 * AspComponentFoundry.cs: tagnames have precedence over types in
1291 assemblies when they use the same prefix. Fixes bug #71855.
1293 2005-05-03 Lluis Sanchez Gual <lluis@novell.com>
1295 * WebServiceCompiler.cs: Create the temp directory before
1296 creating the web service source code file.
1298 2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1300 * AspGenerator.cs: when checking languages, try to match other aliases
1301 too (ie, 'cs' == 'c#').
1303 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1305 * BaseCompiler.cs: check that DynamicBase directory exists before
1306 creating the TempFileCollection.
1308 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1310 * AspGenerator.cs: use a stack for non-server tags even before getting
1311 to a form. Fixes bug #70274.
1313 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1315 * AspParser.cs: don't error out on ill formed tags if it's not a server
1316 tag (ie, allow something like '<table align="left cellpadding="0">' to
1317 work, as MS does. Fixes bug #67909.
1319 2005-04-20 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
1320 * BaseCompiler.cs: do the bridge of Explicit/Strict attributes from
1321 @Page/@Control directives to CodeDOM (VB.NET support)
1323 2005-04-19 Lluis Sanchez Gual <lluis@novell.com>
1325 * AspParser.cs: Fixed parsing of data binding tags in server
1326 tag attributes. Allow <%...%> blocks not assigned to
1327 attributes in client tags.
1328 * TagAttributes.cs: Make sure that data binding blocks in server
1329 tags are always assigned to attributes.
1331 2005-04-15 Lluis Sanchez Gual <lluis@novell.com>
1333 * TemplateControlCompiler.cs: Implemented support for two-way
1336 2005-04-14 Lluis Sanchez Gual <lluis@novell.com>
1338 * TemplateControlCompiler.cs: Use the new BindingContainerType
1339 property to find the type of the binding container.
1341 2005-04-07 Lluis Sanchez Gual <lluis@novell.com>
1343 * TemplateControlCompiler.cs: Avoid using the GetConverter() trick
1344 for primitive types. Parse an empty color string as Color.Empty.
1345 Get the converter for a property using its PropertyDescriptor.
1347 2005-04-05 Lluis Sanchez Gual <lluis@novell.com>
1349 * TemplateControlCompiler.cs: Don't autogenerate IDs for
1350 controls inside Content template.
1352 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1354 * TemplateControlCompiler.cs: make typedesc.aspx work again.
1356 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1358 * ExpressionBuilderContext.cs:
1359 * ExpressionBuilder.cs: implemented.
1361 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1363 * AspGenerator.cs: don't fail on <tbody runat=server>. Fixes bug #71856.
1365 2005-01-28 Lluis Sanchez Gual <lluis@novell.com>
1367 * TemplateControlCompiler.cs: When generating a property value,
1368 check for TypeConverterAttribute in the PropertyInfo, not only in the
1370 Implemented code generation using InstanceDescriptor, when the type
1371 converter supports conversion to that type.
1373 2005-01-21 Lluis Sanchez Gual <lluis@novell.com>
1375 * Directive.cs: Added MASTER directive.
1376 * AspGenerator.cs: Use UserControlCompiler for compiling master pages.
1377 * PageCompiler.cs: Set the master file name when generating the page.
1378 * TemplateControlCompiler.cs: When generating the method for a
1379 content holder, register the content holder in the base MasterPage.
1380 Added method for registering a Content control for a MasterPage.
1381 Generate code for Content controls.
1383 2005-01-10 Lluis Sanchez Gual <lluis@novell.com>
1385 * TemplateControlCompiler.cs: Get the container type from the
1386 template (if it was defined using TemplateContainerAttribute.
1388 2004-10-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1390 * AspGenerator.cs: correctly process script tags that self-closing.
1393 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1395 * CachingCompiler.cs: when compiling a single .cs file, add the file
1396 itself to dependencies. Fixes bug #68788.
1398 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1400 * ControlBuilder.cs: don't close server tags when we get to a closing
1401 tag that is not applied to a server control. Fixes bug #60323.
1403 2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1405 * WebServiceCompiler.cs: fix buglet in my last commit.
1407 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1410 * CachingCompiler.cs:
1411 * WebServiceCompiler.cs: correctly cache Type instead of the assembly
1412 for ashx/asmx. Otherwise we need to open the file and check for the
1413 class name in there. Thanks to Ben for pointing this out.
1415 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1418 * AspTokenizer.cs: prevent quotes from being swallowed when we're
1419 inside a server tag and they are the next non-whitespace character.
1422 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1424 * CachingCompiler.cs: don't try to watch for changes in system
1425 assemblies. Fixes bug #64871.
1427 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1429 * AspGenerator.cs: handle builders that need to process inner text
1432 * Location.cs: added setters for the properties.
1434 2004-08-02 Duncan Mak <duncan@ximian.com>
1436 * BuildProviderResultFlags.cs:
1437 * IImplicitResourceProvider.cs:
1438 * ImplicitResourceKey.cs:
1439 * IResourceReader.cs: Added.
1441 2004-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1443 * AspGenerator.cs: the path for file was treated as virtual, but it's
1444 physical. Fixes bug #61524.
1446 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1448 * AspParser.cs: fixed case-sensitivity issues with #include and its
1449 attributes. Closes #61429.
1451 2004-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1454 * WebServiceCompiler.cs: really create the dlls under DynamicBase
1456 2004-06-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1458 * TemplateControlCompiler.cs: for system colors, use SystemColors class
1459 instead of Color. Fixes bug #60249.
1461 2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1463 * BaseCompiler.cs: try getting the Type from the cache before doing the
1464 real work. Remove temporary files right after successful compilation.
1466 * CachingCompiler.cs: added GetTypeFromCache.
1468 * UserControlCompiler.cs: nothing interesting.
1470 * WebServiceCompiler.cs: try getting the Type from the cache before
1471 doing anything else. Remove temp files on sucessful compilation.
1473 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1476 * CachingCompiler.cs: use a different prefix when caching compiler
1479 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1481 * BaseCompiler.cs: dynamicBase is now protected. Check
1482 MONO_ASPNET_NODELETE here.
1484 * TemplateControlCompiler.cs: if the type is not known but has a
1485 TypeConverter, invoke ConvertFromString in the generated code.
1487 * WebServiceCompiler.cs: it used a hardcoded C# compiler, now it gets
1488 the compiler from the configuration. Also handle MONO_ASPNET_NODELETE.
1490 * CachingCompiler.cs: updated compilation of web services and simple
1493 2004-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1495 * CSCompiler.cs: removed.
1497 * CachingCompiler.cs: language independent compilation for single files.
1499 2004-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1502 * WebServiceCompiler.cs: adapted to the 'new' CachingCompiler.
1503 * CachingCompiler.cs: use HttpRuntime.Cache.
1505 2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1507 * PageCompiler.cs: fixed Trace and add support for Buffer.
1509 2004-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1511 * PageCompiler.cs: override CreateConstructor to add assignment for
1514 2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1516 * TemplateControlCompiler.cs: use CodeDelegateCreateExpression instead
1517 of CodeObjectCreateExpression for the render method delegate. Thanks
1520 2004-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1522 * BaseCompiler.cs: use DynamicBase for the output assemblies.
1524 2004-05-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1526 * AspGenerator.cs: ObjectTagBuilder do not override HasBody now.
1528 2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1530 * AspParser.cs: indent a few lines.
1531 * AspTokenizer.cs: added ungetc() used when we read a '/' in an unquoted
1532 attribute value. This way we can simulate reading 2 characters ahead
1533 (one in ungetc and the other in Peek) and work with values like
1534 text/javascript. Fixes bug #57302.
1536 2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1538 * AspParser.cs: ignore whitespace after directives. Fixes bug #58057.
1540 2004-04-02 Lluis Sanchez Gual <lluis@ximian.com>
1542 * TemplateControlCompiler.cs: Fixed build for net_1_0 profile.
1544 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1546 * GlobalAsaxCompiler.cs: removed Imports and Assemblies properties.
1548 2004-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1550 * AspGenerator.cs: error out when <object> server tag is not closed.
1551 Ignore any content inside it.
1553 2004-02-10 Jackson Harper <jackson@ximian.com>
1555 * AspTokenizer.cs: Collect discarded characters that might be used
1556 in client side scripts. Patch by Liyu Liu.
1557 * AspParser.cs: Add discarded characters. Patch by Liyu Liu.
1559 2004-02-10 Jackson Harper <jackson@ximian.com>
1561 * BaseCompiler.cs: Use the TempDirectory for compilation. Fixes
1564 2004-01-30 Jackson Harper <jackson@ximian.com>
1566 * TemplateControlCompiler.cs: Call ToString on the types hashcode,
1567 the build method takes strings not ints.
1569 2004-01-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1571 * AspGenerator.cs: handle more possible errors in global.asax file.
1573 * BaseCompiler.cs: added utility methods for creating <object> related
1574 properties and fields.
1576 * GlobalAsaxCompiler.cs: keep around applications and session scope
1577 objects builders. Also a list of imports and assemblies added in
1580 * TemplateControlCompiler.cs: use base class methods for <object> stuff.
1582 2004-01-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1584 * AspGenerator.cs: use the Cache to store compiled Types. Don't parse
1585 pages more than once. Thanks to Eric Lindvall for pointing this out.
1587 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1589 * TemplateControlCompiler.cs: allow handling subproperties for other
1590 types than Style and Font. Fixes bug #53217.
1592 2004-01-16 Jackson Harper <jackson@ximian.com>
1594 * TagAttribute.cs: attributes can be stored as encoded html so we
1597 2004-01-14 Jackson Harper <jackson@ximian.com>
1599 * TemplateControlCompiler.cs: Is a user control is cached and
1600 shared use the controls type hashcode for the GUID so it will be
1601 the same across instances.
1603 2004-01-13 Jackson Harper <jackson@ximian.com>
1605 * TemplateControlCompiler.cs: If an item has the partial caching
1606 attribute build a PartialCachingControl in the parents __Build method.
1607 * BaseCompiler.cs: Add a method for adding class attributes to the
1609 * UserControlCompiler.cs: If caching is enabled on a user control
1610 add the PartialCachingAttribute to it.
1612 2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1614 * PageCompiler.cs: invoke Request.ValidateInput if required.
1616 2004-01-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1618 * AspGenerator.cs: don't rely on GC to close the files parsed. Fixes bug
1619 #52521. Patch by liyul@hotmail.com.
1621 2003-12-25 Jackson Harper <jackson@ximian.com>
1623 * AspGenerator.cs: Allow scriptlets in javascript. This fixes bug
1626 2003-12-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1628 * PageCompiler.cs: assign the ErrorPage property if provided.
1630 2003-12-15 Jackson Harper <jackson@ximian.com>
1632 * PageCompiler.cs: Add Trace and TraceMode to framework initialize
1633 method if they are set.
1635 2003-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1637 * AspGenerator.cs: ignore <tbody> when we're inside a server table and
1638 fail when runat="server" is applied to <tbody> with a parse error
1639 instead of waiting for a compilation error. Fixes bug #52157.
1641 2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1643 * AspGenerator.cs: basic checking of ID validity. Throw a
1644 ParseException when mixing languages.
1646 2003-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1648 * PageCompiler.cs: assign LCID, Culture and/or UICulture in
1649 FrameworInitialize() if provided in @Page.
1653 2003-11-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1655 * TemplateControlCompiler.cs: support for expressions of
1656 System.Drawing.Size type. Allow getting Color from comma separated
1657 numbers, which is not allowed by ColorConverter.
1659 This makes http://www.codeproject.com/aspnet/asppopup.asp work.
1661 2003-11-13 Jackson Harper <jackson@ximian.com>
1663 * PageCompiler.cs: Call InitOutputCache when the OutputCache
1666 2003-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1668 * AspGenerator.cs: use fileEncoding from configuration files.
1670 * PageCompiler.cs: add assign statements for ContentType,
1671 ResponseEncoding and CodePage if supplied.
1673 2003-10-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1675 * TemplateControlCompiler.cs: fix bug #42994. Now we don't generate
1676 a return statement for user controls with 'void' return type.
1678 2003-10-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1680 * AspParser.cs: fixed bug #49627.
1682 2003-10-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1684 * BaseCompiler.cs: now gets the CodeCompiler from configuration files.
1686 2003-10-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1688 * Directive.cs: new attribute for @Page directive in 1.1.
1690 2003-10-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1693 * TagAttributes.cs: allow duplicated runat=server attributes and display
1694 error page when duplicated attributes and runat is specified.
1696 2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1698 * AspTokenizer.cs: moved token numbers above unicode.
1700 2003-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1702 * AspGenerator.cs: don't process code render tags inside scripts. Check
1703 the language of the script and treat javascript as verbatim input.
1706 2003-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1708 * TemplateControlCompiler.cs: fixed bug #48212.
1710 2003-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1712 * WebServiceCompiler.cs: remove the temporary files here too.
1714 2003-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1716 * AspGenerator.cs: fixed bug #46429.
1718 2003-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1720 * Directive.cs: support @WebHandler.
1722 2003-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1724 * TemplateControlCompiler.cs: support string []. Fixes bug #46415.
1726 2003-07-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1728 * BaseCompiler.cs: first look for cached items, then generate the tree.
1729 This should speed things up.
1731 * CachingCompiler.cs: when compiling web services, use the full path of
1732 the .asmx file as key when caching.
1734 * WebServiceCompiler.cs: first look for cached items, then generate
1737 2003-07-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1739 * AspParser.cs: more useful error information,
1742 * CachingCompiler.cs: honor the debug="true" option.
1744 * TemplateControlCompiler.cs: small fixes for templates.
1746 2003-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1748 * BaseCompiler.cs: made Compiler property virtual.
1750 * CachingCompiler.cs: added support for compiling web services.
1752 * WebServiceCompiler.cs: implemented.
1754 2003-05-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1756 * CachingCompiler.cs: fixed bug #43477.
1758 2003-05-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1761 * AspTokenizer.cs: fixed bugs #43206 and #43371.
1763 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1765 * TemplateControlCompiler.cs: duh! Generate SupportAutoEvents instead
1766 of AutoEventWireup (which is internal). Thanks to Stuart Ballard for
1769 2003-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1771 * CompilationException.cs: don't add duplicated lines in the case that
1772 mcs reports several errors for the same one.
1774 2003-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1776 * AspGenerator.cs: fully support including files, ie., treat them just
1777 as C treats #includes.
1779 2003-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1783 * TagType.cs: Added support for server side includes.
1785 2003-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1787 * CSCompiler.cs: actually add the list of referenced assemblies to the
1788 compiler options. Throw a CompilationException if there's an error.
1790 * CachingCompiler.cs: added a method to compile directly from a source
1793 2003-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1795 * AspGenerator.cs: copy the location before setting the value for the
1798 * BaseCompiler.cs: changed parameters for CompilationException.
1800 * CompilationException.cs: it takes now line numbers and error
1801 descriptions from the CompilerErrorCollection.
1803 * Location.cs: used when a copy of an ILocation is needed.
1805 * ParseException.cs: implemented new methods to provide line numbers
1808 * TemplateControlCompiler.cs: throw a ParseException where appropiate.
1810 2003-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1812 * AspGenerator.cs: also support data bind syntax inside tags not
1813 processed as controls. Added debugging method.
1815 * TemplateControlCompiler.cs: reset the number of data binding handlers
1816 in the proper place. Small fix when getting the container type.
1818 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1820 * TemplateControlCompiler.cs: correctly set the TemplateSourceDirectory
1823 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1825 * AspGenerator.cs: handle code render syntax in tag attributes.
1827 * AspParser.cs: the constructor now takes a TextReader.
1829 * TemplateControlCompiler.cs: removed comment.
1831 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1833 * TemplateControlCompiler.cs: added support for data bound properties.
1835 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1837 * AspComponentFoundry.cs: simplified it a lot by using Type and Assembly
1838 instead of their names.
1840 * AspElements.cs: removed. No longer needed.
1842 * AspGenerator.cs: this file is now in charge of interfacing between
1843 the parser and the compiler. It manages the creation of the
1844 ControlBuilder tree and the compilation of the CodeDOM tree.
1846 * AspParser.cs: tag handling is simpler now. Instead of a whole bunch
1847 of different Types, tags are just and id and a set of attributes.
1848 Implement ILocation interface.
1850 * AspTokenizer.cs: added a few methods to help the parser implementing
1853 * BaseCompiler.cs: handles the portions of the CodeDOM tree that are
1854 common to appliaction, page and user control, including the actual
1855 compilation and error handling.
1857 * CSCompiler.cs: compiles C# files using CodeDOM interfaces.
1859 * CachingCompiler.cs: simplified to use the new interfaces.
1861 * CompilationException.cs: it's now using CompilationResult to report
1864 * CompilationResult.cs: Removed file.
1866 * Directive.cs: to check for the validity of a directive.
1868 * GlobalAsaxCompiler.cs: simplified a lot, as most of the work is done
1871 * ILocation.cs: interface used to now the exact place where a parse
1874 * PageCompiler.cs: generates a couple of methods that are only used in
1877 * ParseException.cs: use the ILocation interface.
1879 * TagAttributes.cs: handles the attributes of the tags parsed.
1881 * TagType.cs: an enum for the different kinds of tags.
1883 * TemplateControlCompiler.cs: this is the one that does most of the
1884 conversion from teh ControlBuilder tree into a CodeDOM tree.
1886 * UserControlCompiler.cs: simplified as most of the work is done in
1889 * WebServiceCompiler.cs: dummy.
1891 2003-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1893 * AspComponentFoundry.cs: added GetComponentType method.
1895 2003-03-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1897 * AspTokenizer.cs: allow quotes inside server tags that are part of
1900 * CachingCompiler.cs: no more 'FileNotFound' exceptions when the
1903 2003-03-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1905 * AspGenerator.cs: generate correct appbase path. It was working with
1906 mcs but not with csc.
1908 * BaseCompiler.cs: quote arguments and removed GetRandomFileName.
1910 * CachingCompiler.cs: quote source file.
1912 2003-03-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1914 * AspGenerator.cs: now the Inherits attribute works as expected for
1917 2003-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1919 * CompilationException.cs:
1920 * ParseException.cs: display the correct line number in error messages.
1922 * AspElements.cs: added TargetSchema attribute for control. It's
1925 2003-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1927 * BaseCompiler.cs: fixed the hack to work under windows.
1928 * CachingCompiler.cs: under windows, try 'mcs.bat' and then 'mcs'.
1930 2003-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1932 * BaseCompiler.cs: hacks to work-around our buggy System.Uri.
1934 2003-03-17 George Kodinov <gkodinov@openlinksw.co.uk>
1936 * BaseCompiler.cs: Removed a FIXME: and added a correct calculation of
1937 app's private bin path
1939 2003-03-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1943 * CachingCompiler.cs:
1944 * CompilationResult.cs:
1945 * GlobalAsaxCompiler.cs:
1947 * UserControlCompiler.cs: recompile the page if dependencies change.
1949 2003-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1951 * AspGenerator.cs: corrected typo and wrong fix.
1953 2003-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1955 * AspGenerator.cs: fixed code generation for Table/TableRow/TableCell
1956 when used explicitly.
1958 2003-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1960 * AspElements.cs: get the property Type for controls that use
1961 ParseChildren with a property name.
1963 * AspGenerator.cs: generate correct signature for the method that
1964 adds controls to the default property in ParseChildren.
1966 2003-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1968 * AspGenerator.cs: rethrow exceptions that may come from parsing or
1969 compilation if a user control.
1971 2003-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1973 * AspGenerator.cs: throw ParseException on parse
1976 * AspParser.cs: added Line and Column props.
1978 * CompilationException.cs: derives now from HtmlizedException.
1980 * CompilationResult.cs: added fileName field. Fixed set_ExitCode.
1982 * GlobalAsaxCompiler.cs:
1984 * UserControlCompiler.cs: pass the file name in the CompilationResult.
1986 * ParseException.cs: new exception.
1989 2003-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1991 * AspGenerator.cs: remove "file://" from the private bin path. Fixes
1994 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1996 * AspParser.cs: the parser fires events when it parses an element.
1998 * GlobalAsaxCompiler.cs:
2000 * UserControlCompiler.cs:
2001 * AspElements.cs: modified to use the new parser interface.
2003 * AspGenerator.cs: modified to use the new parser. Merge multiple text
2004 strings into one single LiteralControl.
2006 * AspTokenizer.cs: added Line and Column properties.
2008 2003-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2010 * AspParser.cs: fixed bug #36929.
2012 2003-01-21 Tim Haynes <thaynes@openlinksw.com>
2016 * CachingCompiler.cs: changes to work around spaces and
2017 directory-separators in the local filesystem.
2019 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2021 * AspGenerator.cs: make the generated file compile with csc after last
2024 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2026 * AspGenerator.cs: removed unused variable. Added support for
2027 properties/fields of type string [].
2029 2003-01-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2031 * AspGenerator.cs: modified loading of the parent type now that
2032 Type.GetType is fixed.
2034 2003-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2036 * AspGenerator.cs: cast to Control if the container does not implement
2039 2003-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2041 * AspGenerator.cs: fixed a couple of thinkos related to IsSubclassOf.
2043 2003-01-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2045 * AspElements.cs: attributes without value lacked a space afterwards.
2047 2003-01-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2049 * AspGenerator.cs: functions for columns don't return anything. Fixed
2052 2003-01-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2054 * AspGenerator.cs: add data bound controls to code render function.
2056 2003-01-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2058 * AspComponentFoundry.cs: reworked to allow same prefix for multiple
2059 controls. You can register 1 assembly plus any number of user controls
2060 under the same prefix.
2062 * AspGenerator.cs: don't add duplicate 'using' for the same namespace.
2063 Hack to allow @Register access to assemblies in other places than bin
2066 2003-01-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2068 * AspElements.cs: added 'codebehind' attribute for page, control and
2069 application. It's ignored by MS, but allowed. Fixed typo.
2071 2003-01-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2073 * AspGenerator.cs: fixed EnableSesssionState handling.
2075 2003-01-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2077 * AspGenerator.cs: don't generate instance fields for pages/controls
2078 when the base class specified in the Inherits attribute already has
2079 them. Closes bug #36262.
2081 2002-12-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2083 * AspGenerator.cs: generate code like 'control.XXX = value' also for
2084 public fields (properties were being handled in that way too).
2086 2002-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2088 * AspGenerator.cs: now it uses the current HttpContext when creating
2089 user controls. TemplateSourceDirectory is no longer a dummy value.
2091 * GlobalAsaxCompiler.cs:
2093 * UserControlCompiler.cs: set the context which will be used to locate
2096 2002-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2098 * AspGenerator.cs: added support for AutoEventWireup attribute in
2101 * CompilationResult.cs:
2102 * GlobalAsaxCompiler.cs:
2104 * UserControlCompiler.cs: store the options.
2106 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2108 * AspElements.cs: new method Tag.GetElements
2109 used to parse the inner contents of a tag looking for data binding or
2112 New property HtmlControlTag.ParseChildren allows
2113 differentiation of a couple of HtmlControls that has children as
2114 properties (namely HtmlTable and HtmlTableRow).
2116 * AspGenerator.cs: fixed container semantics to
2117 match BindingContainer one. Implemented Inherits attribute for page and
2120 Support HtmlControls that has ChildrenAsProperties.
2122 Generate code for data binding functions that matches the semantic of
2125 Handle data bound and code render attribute values.
2127 Set proper value return for TemplateSourceDirectory. Should be relative
2130 * BaseCompiler.cs: moved CompilerOptions and
2131 References handling here.
2133 * CachingCompiler.cs: copy result of compilation.
2135 * CompilationException.cs: simple ToString () implementation.
2137 * CompilationResult.cs: implemented CopyFrom and ToString.
2139 * GlobalAsaxCompiler.cs:
2141 * UserControlCompiler.cs: removed CompilerOptions as it's now handled
2142 in the base class. Get all the types in the generated assembly and
2143 look for one that derives from the correct Type.
2145 2002-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2147 * AspElements.cs: added @Application directive.
2149 * AspGenerator.cs: make it work also with application files. We
2150 currently generate an extra private function.
2152 2002-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2154 * GlobalAsaxCompiler.cs: compiler for global.asax file. If the file
2155 exists, it will be compiled into an HttpApplication derived class
2156 (directly or through a user-provided class).
2158 2002-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2160 * AspGenerator.cs: fixed target file name and generated class name.
2161 * BaseCompiler.cs: reference assemblies in PrivateBinPath.
2163 2002-11-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2165 * AspGenerator.cs: reworked user control
2166 compilation. Provide the options as a Hashtable for use in compilation.
2167 Create the user controls in the private bin path of the domain.
2169 * BaseCompiler.cs: base class for the various compiler types.
2171 * CachingCompiler.cs: actually executes mcs and do some poor caching
2172 (it will use Cache when finished).
2174 * CompilationException.cs: this exception has enough information to
2175 generate a nice error page.
2176 * CompilationResult.cs: used in caching.
2178 * PageCompiler.cs: now derives from BaseCompiler
2180 * TemplateFactory.cs: no longer needed.
2182 * UserControlCompiler.cs: new class used when compiling user controls.
2183 * WebServiceCompiler.cs: derives from BaseCompiler.
2185 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2187 * AspElements.cs: added ServerComment class.
2188 * AspParser.cs: ignore ServerComments tags. Remove server comments when
2193 * PageCompiler.cs: check if the type is already cached before generating
2195 * TemplateFactory.cs: if csFile parameter is null, only checks if we
2196 already have the page compiled.
2198 2002-11-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2200 * AspGenerator.cs: undo one-liner change.
2202 2002-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2204 * AspGenerator.cs: removed a few hacks no longer needed.
2206 2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2208 * PageCompiler.cs: tracing.
2209 * TemplateFactory.cs: cache compiled types and tracing.
2210 * WebServiceCompiler.cs: new parameter in GetTypeFromsource,
2212 2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2214 * AspComponentFoundry.cs: fixed typo.
2215 * TemplateFactory.cs: use csc style options.
2216 * AspGenerator.cs: don't use FileDependencies property of base class.
2218 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2220 * System.Web.Compilation/AspElements.cs:
2221 * System.Web.Compilation/AspGenerator.cs:
2222 * System.Web.Compilation/AspParser.cs:
2223 * System.Web.Compilation/PageCompiler.cs:
2224 * System.Web.Compilation/TemplateFactory.cs: we are now able to compile
2225 pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
2227 2002-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2229 * AspElements.cs: added WebService directive.
2230 * WebServiceCompiler.cs: New file.
2232 2002-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2234 * PageCompiler.cs: fixed compilation.
2236 2002-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2238 * PageCompiler.cs: generate C# file using AspGenerator.
2240 2002-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2242 * AspComponentFoundry.cs: LookupFoundry now returns bool.
2243 * AspGenerator.cs: New file.
2245 2002-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2247 * AspComponentFoundry.cs: New file.
2248 * AspElements.cs: renamed Component to Aspcomponent.
2250 2002-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2257 * TemplateFactory.cs: first steps to move xsp into System.Web.