2003-11-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.Web / System.Web.Compilation / ChangeLog
index 2b36218344f3de47eee0f91c4720352e6d4756cb..3b967405564d17de66cabf40ebb73d605fa78537 100644 (file)
@@ -1,3 +1,590 @@
+2003-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TemplateControlCompiler.cs: support for expressions of
+       System.Drawing.Size type. Allow getting Color from comma separated
+       numbers, which is not allowed by ColorConverter.
+
+       This makes http://www.codeproject.com/aspnet/asppopup.asp work.
+
+2003-11-13  Jackson Harper <jackson@ximian.com>
+
+       * PageCompiler.cs: Call InitOutputCache when the OutputCache
+       directive is set.
+       
+2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: use fileEncoding from configuration files.
+
+       * PageCompiler.cs: add assign statements for ContentType,
+       ResponseEncoding and CodePage if supplied.
+
+2003-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TemplateControlCompiler.cs: fix bug #42994. Now we don't generate
+       a return statement for user controls with 'void' return type.
+
+2003-10-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspParser.cs: fixed bug #49627.
+
+2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * BaseCompiler.cs: now gets the CodeCompiler from configuration files.
+
+2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Directive.cs: new attribute for @Page directive in 1.1.
+
+2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspParser.cs:
+       * TagAttributes.cs: allow duplicated runat=server attributes and display
+       error page when duplicated attributes and runat is specified.
+
+2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspTokenizer.cs: moved token numbers above unicode.
+
+2003-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: don't process code render tags inside scripts. Check
+       the language of the script and treat javascript as verbatim input.
+       Fixes bug #48592.
+
+2003-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TemplateControlCompiler.cs: fixed bug #48212.
+
+2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * WebServiceCompiler.cs: remove the temporary files here too.
+
+2003-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: fixed bug #46429.
+
+2003-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Directive.cs: support @WebHandler.
+       
+2003-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TemplateControlCompiler.cs: support string []. Fixes bug #46415.
+
+2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * BaseCompiler.cs: first look for cached items, then generate the tree.
+       This should speed things up.
+
+       * CachingCompiler.cs: when compiling web services, use the full path of
+       the .asmx file as key when caching.
+
+       * WebServiceCompiler.cs: first look for cached items, then generate
+       the source file.
+
+2003-07-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspParser.cs: more useful error information,
+
+       * BaseCompiler.cs:
+       * CachingCompiler.cs: honor the debug="true" option.
+
+       * TemplateControlCompiler.cs: small fixes for templates.
+
+2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * BaseCompiler.cs: made Compiler property virtual.
+
+       * CachingCompiler.cs: added support for compiling web services.
+
+       * WebServiceCompiler.cs: implemented.
+
+2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * CachingCompiler.cs: fixed bug #43477.
+
+2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspParser.cs:
+       * AspTokenizer.cs: fixed bugs #43206 and #43371.
+
+2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TemplateControlCompiler.cs: duh! Generate SupportAutoEvents instead
+       of AutoEventWireup (which is internal). Thanks to Stuart Ballard for
+       reporting.
+
+2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * CompilationException.cs: don't add duplicated lines in the case that
+       mcs reports several errors for the same one.
+
+2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: fully support including files, ie., treat them just
+       as C treats #includes.
+
+2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs:
+       * AspParser.cs:
+       * TagType.cs: Added support for server side includes.
+
+2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * CSCompiler.cs: actually add the list of referenced assemblies to the
+       compiler options. Throw a CompilationException if there's an error.
+
+       * CachingCompiler.cs: added a method to compile directly from a source
+       file.
+       
+2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: copy the location before setting the value for the
+       control builders.
+
+       * BaseCompiler.cs: changed parameters for CompilationException.
+
+       * CompilationException.cs: it takes now line numbers and error
+       descriptions from the CompilerErrorCollection.
+
+       * Location.cs: used when a copy of an ILocation is needed.
+
+       * ParseException.cs: implemented new methods to provide line numbers
+       and souce file.
+
+       * TemplateControlCompiler.cs: throw a ParseException where appropiate.
+
+2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: also support data bind syntax inside tags not
+       processed as controls. Added debugging method.
+
+       * TemplateControlCompiler.cs: reset the number of data binding handlers 
+       in the proper place. Small fix when getting the container type.
+
+2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TemplateControlCompiler.cs: correctly set the TemplateSourceDirectory 
+       value.
+
+2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: handle code render syntax in tag attributes.
+
+       * AspParser.cs: the constructor now takes a TextReader.
+
+       * TemplateControlCompiler.cs: removed comment.
+
+2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * TemplateControlCompiler.cs: added support for data bound properties.
+
+2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspComponentFoundry.cs: simplified it a lot by using Type and Assembly
+       instead of their names.
+
+       * AspElements.cs: removed. No longer needed.
+
+       * AspGenerator.cs: this file is now in charge of interfacing between
+       the parser and the compiler. It manages the creation of the
+       ControlBuilder tree and the compilation of the CodeDOM tree.
+
+       * AspParser.cs: tag handling is simpler now.  Instead of a whole bunch
+       of different Types, tags are just and id and a set of attributes.
+       Implement ILocation interface.
+       
+       * AspTokenizer.cs: added a few methods to help the parser implementing
+       ILocation.
+
+       * BaseCompiler.cs: handles the portions of the CodeDOM tree that are
+       common to appliaction, page and user control, including the actual
+       compilation and error handling.
+
+       * CSCompiler.cs: compiles C# files using CodeDOM interfaces.
+
+       * CachingCompiler.cs: simplified to use the new interfaces.
+
+       * CompilationException.cs: it's now using CompilationResult to report
+       errors.
+
+       * CompilationResult.cs: Removed file.
+
+       * Directive.cs: to check for the validity of a directive.
+
+       * GlobalAsaxCompiler.cs: simplified a lot, as most of the work is done
+       in BaseCompiler.
+
+       * ILocation.cs: interface used to now the exact place where a parse
+       error happens.
+
+       * PageCompiler.cs: generates a couple of methods that are only used in
+       pages.
+
+       * ParseException.cs: use the ILocation interface.
+
+       * TagAttributes.cs: handles the attributes of the tags parsed.
+
+       * TagType.cs: an enum for the different kinds of tags.
+
+       * TemplateControlCompiler.cs: this is the one that does most of the
+       conversion from teh ControlBuilder tree into a CodeDOM tree.
+
+       * UserControlCompiler.cs: simplified as most of the work is done in
+       its base classes.
+
+       * WebServiceCompiler.cs: dummy.
+
+2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspComponentFoundry.cs: added GetComponentType method.
+
+2003-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspTokenizer.cs: allow quotes inside server tags that are part of
+       attribute values.
+       
+       * CachingCompiler.cs: no more 'FileNotFound' exceptions when the
+       compilation fails.
+
+2003-03-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: generate correct appbase path. It was working with
+       mcs but not with csc.
+
+       * BaseCompiler.cs: quote arguments and removed GetRandomFileName.
+
+       * CachingCompiler.cs: quote source file.
+
+2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: now the Inherits attribute works as expected for
+       global.asax file.
+
+2003-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * CompilationException.cs:
+       * ParseException.cs: display the correct line number in error messages.
+
+       * AspElements.cs: added TargetSchema attribute for control. It's
+       ignored.
+
+2003-03-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * BaseCompiler.cs: fixed the hack to work under windows.
+       * CachingCompiler.cs: under windows, try 'mcs.bat' and then 'mcs'.
+
+2003-03-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * BaseCompiler.cs: hacks to work-around our buggy System.Uri.
+
+2003-03-17 George Kodinov <gkodinov@openlinksw.co.uk>
+
+        * BaseCompiler.cs: Removed a FIXME: and added a correct calculation of
+       app's private bin path
+
+2003-03-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs:
+       * BaseCompiler.cs:
+       * CachingCompiler.cs:
+       * CompilationResult.cs:
+       * GlobalAsaxCompiler.cs:
+       * PageCompiler.cs:
+       * UserControlCompiler.cs: recompile the page if dependencies change.
+
+2003-02-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: corrected typo and wrong fix.
+
+2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: fixed code generation for Table/TableRow/TableCell
+       when used explicitly.
+
+2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspElements.cs: get the property Type for controls that use
+       ParseChildren with a property name.
+
+       * AspGenerator.cs: generate correct signature for the method that
+       adds controls to the default property in ParseChildren.
+
+2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: rethrow exceptions that may come from parsing or 
+       compilation if a user control.
+
+2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: throw ParseException on parse
+       error.
+
+       * AspParser.cs: added Line and Column props.
+
+       * CompilationException.cs: derives now from HtmlizedException.
+
+       * CompilationResult.cs: added fileName field.  Fixed set_ExitCode.
+
+       * GlobalAsaxCompiler.cs:
+       * PageCompiler.cs:
+       * UserControlCompiler.cs: pass the file name in the CompilationResult.
+
+       * ParseException.cs: new exception.
+
+
+2003-02-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: remove "file://" from the private bin path. Fixes
+       bug #37628.
+
+2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspParser.cs: the parser fires events when it parses an element.
+
+       * GlobalAsaxCompiler.cs:
+       * PageCompiler.cs:
+       * UserControlCompiler.cs:
+       * AspElements.cs: modified to use the new parser interface.
+
+       * AspGenerator.cs: modified to use the new parser. Merge multiple text
+       strings into one single LiteralControl.
+
+       * AspTokenizer.cs: added Line and Column properties.
+
+2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspParser.cs: fixed bug #36929.
+
+2003-01-21  Tim Haynes <thaynes@openlinksw.com>
+
+       * AspGenerator.cs:
+       * BaseCompiler.cs:
+       * CachingCompiler.cs: changes to work around spaces and
+        directory-separators in the local filesystem.
+
+2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: make the generated file compile with csc after last
+       change.
+
+2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: removed unused variable. Added support for
+       properties/fields of type string [].
+
+2003-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: modified loading of the parent type now that
+       Type.GetType is fixed.
+
+2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: cast to Control if the container does not implement
+       INamingContainer.
+
+2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: fixed a couple of thinkos related to IsSubclassOf.
+
+2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspElements.cs: attributes without value lacked a space afterwards.
+
+2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: functions for columns don't return anything. Fixed
+       typo.
+
+2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: add data bound controls to code render function.
+
+2003-01-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspComponentFoundry.cs: reworked to allow same prefix for multiple
+       controls. You can register 1 assembly plus any number of user controls
+       under the same prefix.
+
+       * AspGenerator.cs: don't add duplicate 'using' for the same namespace.
+       Hack to allow @Register access to assemblies in other places than bin
+       directory.
+
+2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspElements.cs: added 'codebehind' attribute for page, control and
+       application. It's ignored by MS, but allowed. Fixed typo.
+
+2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: fixed EnableSesssionState handling.
+
+2003-01-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: don't generate instance fields for pages/controls
+       when the base class specified in the Inherits attribute already has
+       them. Closes bug #36262.
+
+2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: generate code like 'control.XXX = value' also for
+       public fields (properties were being handled in that way too).
+
+2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: now it uses the current HttpContext when creating
+       user controls. TemplateSourceDirectory is no longer a dummy value.
+
+       * GlobalAsaxCompiler.cs:
+       * PageCompiler.cs:
+       * UserControlCompiler.cs: set the context which will be used to locate
+       the files.
+       
+2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: added support for AutoEventWireup attribute in
+       @Page and @Control.
+
+       * CompilationResult.cs:
+       * GlobalAsaxCompiler.cs:
+       * PageCompiler.cs:
+       * UserControlCompiler.cs: store the options.
+
+2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspElements.cs: new method Tag.GetElements
+       used to parse the inner contents of a tag looking for data binding or 
+       code render tags.
+       
+       New property HtmlControlTag.ParseChildren allows
+       differentiation of a couple of HtmlControls that has children as
+       properties (namely HtmlTable and HtmlTableRow).
+
+       * AspGenerator.cs: fixed container semantics to
+       match BindingContainer one. Implemented Inherits attribute for page and
+       control.
+
+       Support HtmlControls that has ChildrenAsProperties.
+       
+       Generate code for data binding functions that matches the semantic of
+       Container.
+
+       Handle data bound and code render attribute values.
+
+       Set proper value return for TemplateSourceDirectory. Should be relative
+       to appPath.
+       
+       * BaseCompiler.cs: moved CompilerOptions and
+       References handling here.
+
+       * CachingCompiler.cs: copy result of compilation.
+
+       * CompilationException.cs: simple ToString () implementation.
+
+       * CompilationResult.cs: implemented CopyFrom and ToString.
+
+       * GlobalAsaxCompiler.cs:
+       * PageCompiler.cs:
+       * UserControlCompiler.cs: removed CompilerOptions as it's now handled
+       in the base class. Get all the types in the generated assembly and
+       look for one that derives from the correct Type.
+       
+2002-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspElements.cs: added @Application directive.
+
+       * AspGenerator.cs: make it work also with application files. We
+       currently generate an extra private function.
+
+2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * GlobalAsaxCompiler.cs: compiler for global.asax file. If the file
+       exists, it will be compiled into an HttpApplication derived class
+       (directly or through a user-provided class).
+
+2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: fixed target file name and generated class name.
+       * BaseCompiler.cs: reference assemblies in PrivateBinPath.
+
+2002-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: reworked user control
+       compilation. Provide the options as a Hashtable for use in compilation.
+       Create the user controls in the private bin path of the domain.
+
+       * BaseCompiler.cs: base class for the various compiler types.
+
+       * CachingCompiler.cs: actually executes mcs and do some poor caching
+       (it will use Cache when finished).
+
+       * CompilationException.cs: this exception has enough information to
+       generate a nice error page.
+       * CompilationResult.cs: used in caching.
+
+       * PageCompiler.cs: now derives from BaseCompiler
+
+       * TemplateFactory.cs: no longer needed.
+
+       * UserControlCompiler.cs: new class used when compiling user controls.
+       * WebServiceCompiler.cs: derives from BaseCompiler.
+
+2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspElements.cs: added ServerComment class.
+       * AspParser.cs: ignore ServerComments tags. Remove server comments when 
+       in verbatim mode.
+
+       Fixes #33482.
+
+       * PageCompiler.cs: check if the type is already cached before generating
+       the C# file.
+       * TemplateFactory.cs: if csFile parameter is null, only checks if we
+       already have the page compiled.
+
+2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: undo one-liner change.
+
+2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspGenerator.cs: removed a few hacks no longer needed.
+
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * PageCompiler.cs: tracing.
+       * TemplateFactory.cs: cache compiled types and tracing.
+       * WebServiceCompiler.cs: new parameter in GetTypeFromsource,
+
+2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspComponentFoundry.cs: fixed typo.
+       * TemplateFactory.cs: use csc style options.
+       * AspGenerator.cs: don't use FileDependencies property of base class.
+
+2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * System.Web.Compilation/AspElements.cs:
+       * System.Web.Compilation/AspGenerator.cs:
+       * System.Web.Compilation/AspParser.cs:
+       * System.Web.Compilation/PageCompiler.cs:
+       * System.Web.Compilation/TemplateFactory.cs: we are now able to compile
+       pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
+
+2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * AspElements.cs: added WebService directive.
+       * WebServiceCompiler.cs: New file.
+
+2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * PageCompiler.cs: fixed compilation.
+
+2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * PageCompiler.cs: generate C# file using AspGenerator.
+
 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * AspComponentFoundry.cs: LookupFoundry now returns bool.