diff options
Diffstat (limited to 'mcs/class/System.Web/System.Web.Compilation/ChangeLog')
-rw-r--r-- | mcs/class/System.Web/System.Web.Compilation/ChangeLog | 4006 |
1 files changed, 0 insertions, 4006 deletions
diff --git a/mcs/class/System.Web/System.Web.Compilation/ChangeLog b/mcs/class/System.Web/System.Web.Compilation/ChangeLog deleted file mode 100644 index 004d73979fc..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ChangeLog +++ /dev/null @@ -1,4006 +0,0 @@ -2010-07-16 Marek Habersack <mhabersack@novell.com> - - * FolderLevelBuildProviderAppliesTo.cs, - FolderLevelBuildProviderAppliesToAttribute.cs: added - -2010-07-02 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: added support for ClientIDMode 4.0 - property - - * PageCompiler.cs, UserControlCompiler.cs: AddStatementsToInitTop - must call the base implementation. - -2010-06-15 Marek Habersack <mhabersack@novell.com> - - * ResourceExpressionBuilder.cs: cast the return value of - GetLocalResourceObject to appropriate type. Fixes bug #607766 - - * TemplateControlCompiler.cs: made CreateConvertToCall internal - static, so that it can be used from ResourceExpressionBuilder - -2010-06-05 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: expression evaluation results are - wrapped in a Convert.ConvertTo* call or a typecast. - - * RouteValueExpressionBuilder.cs: implemented - - * RouteUrlExpressionBuilder.cs: added missing custom attributes - -2010-06-01 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: added new virtual method, - AddStatementsToInitMethodBottom and renamed - AddStatementsToInitMethod to AddStatementsToInitMethodTop. - - * PageCompiler.cs: code to set Meta{Description,Keywords} - properties, if present. - -2010-05-19 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: IsDirective, IsExpression and - IsDataBound methods moved to System.Web.UI.BaseParser. - Made CompileExpression and GetFieldOrProperty methods internal. - - * PageCompiler.cs: check several of the Page directive attributes - for expressions. Fixes bug #603532 - - * AspGenerator.cs, TagAttributes.cs: use IDictionary instead of - Hashtable - -2010-05-17 Marek Habersack <mhabersack@novell.com> - - * BuildProvider.cs: implemented a 4.0 method RegisterBuildProvider - - * BuildManager.cs: separated dynamically registered assemblies - store from the referenced assemblies cache. - -2010-05-16 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: do not cache referenced assemblies until it's - safe. - -2010-05-15 Marek Habersack <mhabersack@novell.com> - - * RouteValueExpressionBuilder.cs: added - - * RouteUrlExpressionBuilder.cs: implemented - -2010-05-12 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: implemented a 4.0 feature - pre-application - start methods. - -2010-05-07 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: implemented 4.0 methods {Create,Read}CacheFile. - Fixed signature of the GetVirtualPathDependencies method. - Implemented 4.0 methods GetGlobalAsaxType, AddReferencedAssembly, - GetObjectFactory, GetCachedBuildDependencySet and properties - BatchCompilationEnabled, TargetFramework - -2010-04-29 Marek Habersack <mhabersack@novell.com> - - * AppResourcesAssemblyBuilder.cs: when running on windows, - SetAlPath must return al.exe path with a trailing space, or - otherwise the process won't start. Fixes bug #600691 - -2010-04-12 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: if EnableViewStateMac is set in the page - source, generate relevant code. - -2010-03-17 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs, AspParser.cs, TemplateControlCompiler.cs, TagType.cs, CodeRenderBuilder.cs: implemented the new <%: %> 4.0 html-encoded code render expression. - -2010-03-06 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: AssignPropertyForResources localizes - a property even if the Localized attribute is absent. If the - attribute is present, it checks its IsLocalizable property to - decide if localization should be performed. Fixes bug #585933 - -2010-03-04 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: do less work in the static constructor - -2010-02-27 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: count only builds of updated files before - unloading the app domain. Fixes bug #581459 - -2010-02-19 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: GetConverterForMember now completely - relies on TypeDescriptor and description providers to retrieve - converter for a property. Fixes bug #578586 - If UrlPropertyAttribute is found for a member, - GetExpressionFromString uses the preconverted value, if any, as - parameter to HandleUrlProperty. - -2010-02-11 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: explicitly dispose all the streams and - readers+writers in CompileResource. - -2010-02-04 Marek Habersack <mhabersack@novell.com> - - * PreservationFile.cs: updated the BuildResulTypeCode enum - - * BuildManager.cs: LoadCompiled now adds all the assemblies built - from the App_Code directory to the BuildManager.CodeAssemblies - collection. Fixes bug #576810 - -2010-01-19 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: modified the runatServer regex to correctly - match embedded server tags which end in a sequence like: "%>"/> - Fixes bug #568631 - -2010-01-06 Marek Habersack <mhabersack@novell.com> - - * BuildManagerDirectoryBuilder.cs: AddVirtualDir properly caches - processed directories to prevent endless loops. Fixes bug #568366 - Patch from Hubert FONGARNAND <informatique.internet@fiducial.fr>, - thanks! - -2010-01-05 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: improved CreatePropertyAssign, it doesn't - always use CodePrimitiveExpression now. - - * BuildManager.cs: in GenerateAssembly, if compilation fails for - the requested path and exception thrown is of type - CompilationException or ParseException, do not wrap it in - HttpException, just rethrow. - - * AppResourcesCompiler.cs: the culture files dictionary is - case-insensitive now. Otherwise culture files with culture name - cased differently will cause overlapped i/o on response files - while building satellite assemblies and, in effect, compilation - will fail. - -2009-12-14 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: RemoveFailedAssemblies ignores warnings to - avoid throwing exceptions when the requested virtual path - compilation produces warnings and no errors. Fixes bug #561723 - - * AspParser.cs: PlainText should calculate the boundaries of - text using character offset, not line offset. Fixes bug #562286 - InternalLineOffset and Internal properties need not exist. - - * AspGenerator.cs: AspParser inner parser constructor takes 5 - parameters now - accepts character offset of the current outer - parser's position. - -2009-12-08 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: GetConverterForMember looks up - member type converters using type description providers in - addition to custom attributes. - Result of GenerateInstance isn't cast to the target type if the - type isn't public. - -2009-11-13 Marek Habersack <mhabersack@novell.com> - - * TemplateBuildProvider.cs: if directive has empty string as a - value and it represents a path, do not create a VirtualPath. - -2009-11-10 Marek Habersack <mhabersack@novell.com> - - * BaseCompiler.cs: parser.Imports is a Dictionary <>/Hashtable - now. - - * AspComponentFoundry.cs: system.web/pages section is not confined - to the top-level web.config - -2009-11-03 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: put default culture resources in a - separate collection, exposed by the DefaultCultureFiles property. - - * AppResourcesAssemblyBuilder.cs: compile the default assembly - before the satellite ones. Use the default assembly as template - for generation of the satellite ones. - -2009-10-22 Marek Habersack <mhabersack@novell.com> - - * WsdlBuildProvider.cs: a different way to generate code from - wsdl. Code is generated in the top-level namespace to match .NET - -2009-10-12 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: make sure to construct correct physical path - for every precompiled key in FixVirtualPaths. Fixes bug #546053 - -2009-09-30 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * BuildManager.cs: load/set the global resources assembly for - precompiled and merged sites correctly. - -2009-09-30 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: if precompilation file contains virtual path - with trailing slash (e.g. for themes), remove the slash. Fixes bug - #541271 - -2009-09-28 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: ResourceProviderHasObject calls - HttpContext.GetResourceProvider with the current file's path, not - current request's. Fixes situations when localized control lives - in a master page or user control. Fixes bug #542484 - - * BaseCompiler.cs: introduced a helper property InputVirtualPath - which returns a VirtualPath object for the current control's - virtual path. - -2009-09-22 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: ResourceProviderHasObject needs to - close ResourceReader instance obtained from resource provider. - - * DefaultResourceProvider.cs: implemented the ResourceReader - property. Fixes bug #520397 - -2009-09-08 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: HaveCustomProfile returns true for profiles - which don't contain top-level properties. Fixes bug #535655 - - * BuildManager.cs: added IsPrecompiled internal property. - - * AppResourcesCompiler.cs: load precompiled site local and global - resource assemblies from static constructor. Fixes bugs #536138 - and #536143 - -2009-09-03 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: SanitizeResourceName uses VB/C# rules - to attempt to create valid identifiers from resource - names. Identifier is also escaped by the CodeDOM provider before - returning. Possible fix for bug #536364 - -2009-08-27 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: when HttpRequest.FilePath is '/' in - GetAbsoluteVirtualPath, don't try to use - VirtualPathUtility.GetDirectory on it. Fixes bug #532679 - -2009-08-26 Marek Habersack <mhabersack@novell.com> - - * AspTokenizer.cs: when there's put back record and we're in - verbatim mode, get_token must be careful with what it returns - it - can't return Token.* values, instead it should look at Value and - retrieve the next token from it. Fixes bug #400807 - -2009-08-25 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: correctly parse server-side tags nested in - client-side ones. Fixes bug #323719 - Detect IE conditional comments when processing comment blocks in - TextParsed. Fixes bug #367273 - -2009-08-24 Marek Habersack <mhabersack@novell.com> - - * PageBuildProvider.cs: MapPath now takes a VirtualPath - instance. Part of fix for bug #463813 - - * BuildManager.cs: public APIs which take virtual path strings as - their parameters got internal counterparts accepting a VirtualPath - instance in place of string. Part of fix for bug #463813 - - * TemplateBuildProvider.cs: ExtractDependencies checks if the - input has already been parsed/compiled and, if yes, adds - dependencies from the TemplateParser to the list of the ones - extracted locally. Fixes bug #377915 - - * GenericBuildProvider.cs: added Parsed property. - MapPath now takes a VirtualPath instance. Part of fix for bug - #463813 - -2009-08-21 Marek Habersack <mhabersack@novell.com> - - * GenericBuildProvider.cs: added internal property LanguageName - override which calls GetParserLanguage to get language name - instead of using the application default one. - - * BuildManagerDirectoryBuilder.cs: removed CodeDOM provider cache, - provider types are retrieved from build providers while assigning - them to groups. Fixes bug #533166 - -2009-08-18 Marek Habersack <mhabersack@novell.com> - - * AspParser.cs: added a constructor which creates an internal - parser, nested within the outer one, and adjusts its ILocation - members to report correct locations in the outer parser for better - error reporting. Inner parser also returns the outer's FileText, - if available. - - * AspGenerator.cs: restored part of r138474 reverted in r138657, - r138658 and r138659 to fix bug #525104 - BuilderLocation creates a copy of Location for its own use (since - the ILocation passed is actually AspParser, the line numbers - change between creating a BuilderLocation and using its Location - member). - The end of tag, expression and client comment regular expressions - now use lazy quantifiers. This fixes bugs #525104 and #517656 - Client side comment blocks aren't ignored anymore, they are parsed - just as the other parts of the document. Fixes bug #524358 - -2009-08-15 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: CodeRenderParser.DoParseExpressions - match - newline characters inside expressions. Fixes bug #526449 - -2009-08-14 Marek Habersack <mhabersack@novell.com> - - * BuildManagerDirectoryBuilder.cs: when VirtualPathProvider - reports a virtual directory doesn't exist, try to get the - requested virtual path using VirtualPathProvider.GetFile. Fixes - #525974 - -2009-07-30 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * BuildManager.cs: path fixup should work now for /foo running on - /foo. Fixes bug #526563. - -2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * BuildManager.cs: precompilation setup failed if the precompiled - virtual directory was / and it was deployed somewhere else. - -2009-07-21 Veerapuram Varadhan <vvaradhan@novell.com> - - * XsdBuildProvider.cs: Use System.Data.Design version of - TypedDataSetGenerator instead of System.Data's. - -2009-07-21 Marek Habersack <mhabersack@novell.com> - - * AspTokenizer.cs: in put_back, store inTag value as well. - - * AspParser.cs: correctly parse code like "<asp:tag> < </asp:tag>" - - * BuildManager.cs: GetReferencedAssemblies unconditionally - includes all assemblies from bin/ for precompiled sites. Fixes bug - #502016 - -2009-07-18 Marek Habersack <mhabersack@novell.com> - - * DefaultResourceProvider.cs: if GetResourceObject is passed a - null or empty classKey it just returns null. - - * AppResourcesAssemblyBuilder.cs: satellite assemblies are now - built using al instead of gmcs - makes the build slightly faster. - -2009-07-13 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: wrap HttpApplication.LoadTypeFromBin call in - try/catch, so that we can wrap the possible exception in - HttpException. - -2009-07-09 Marek Habersack <mhabersack@novell.com> - - * DefaultResourceProvider.cs, DefaultResourceProviderFactory.cs: - added - -2009-07-08 Marek Habersack <mhabersack@novell.com> - - * AspParser.cs: GetServerTag mustn't treat <% # ... %> as - data-binding directives. Fixes bug #520024 - - * AssemblyBuilder.cs: if debugging information is on, append - /d:DEBUG to the compiler's command line. - -2009-06-30 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: TextParsed must remove client-side comments - from the passed text before attempting to parse the text for - server side controls and expressions. Fixes bug #517656 - -2009-06-29 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * TemplateControlCompiler.cs: use the 'Empty' field for Unit and - FontUnit. - -2009-06-15 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: CreateRootBuilder quits when root builder - already exist. This can happen when recursively parsing an include - file. Fixes bug #512028 - -2009-06-12 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: avoid a NREX in FixVirtualPath - -2009-06-11 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: if generating code to assign output cache - parameters, use special case for generating OutputCacheLocation - enum reference. Fixes bug #512037 - -2009-06-04 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: if plain text is parsed and it contains - server-side controls, parse and process them. Fixes bug #508888 - -2009-06-02 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * BuildManager.cs: allow deployment of precompiled applications under - any virtual path, not just the default one used when precompiling. - Fixes bug #483268. - -2009-06-01 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: when throwing a 404 exception, pass the virtual - path to the exception constructor. - - * AspGenerator.cs: fix mapping of our tag types into - CodeConstructType. Fixes bug #508570 - -2009-05-26 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: before including a file specified with the - <!--#include file="" --> directive, check if it's within the - current application's root. - -2009-05-18 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: GetPrecompiledApplicationType () uses - VirtualPathUtility.Combine to build global.asax virtual - path. Patch from Robert Jordan <robertj@gmx.net>, thanks! Fixes - bug #504615 - -2009-05-10 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: keep processing the tag if it is not a server - one and contains expressions and no code render blocks. - -2009-05-05 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: RemoveFailedAssemblies wraps the compilation - exception to be rethrown in a HttpException instance. - - * AspGenerator.cs: create a Location and pass it to the parser - before calling AddDirective from GetInheritedType, so that we get - meaningful exception messages with source, line information etc. - -2009-05-04 Marek Habersack <mhabersack@novell.com> - - * ThemeDirectoryBuildProvider.cs: use new AspGenerator constructor - which takes AspComponentFoundery as its - parameter. AspGenerator.RootBuilder isn't initialized until after - the parser is initialized. - - * TemplateControlCompiler.cs: make sure to call - ProcessGeneratedCode on each instance of ControlBuilder after it's - fully generated. Fixes bug #500075 - - * TemplateBuildProvider.cs: moved the directive regex to - AspGenerator - - * BaseCompiler.cs: added two internal properties, BaseType and - DerivedType, which are used in calls to - ControlBuilder.ProcessGeneratedCode. Fixes bug #500075 - - * AspGenerator.cs: implemented a work around for our parser - limitation which is unable to extract the page/control's base type - before parsing the actual file contents. This is necessary to - support ASP.NET MVC's "generic" Inherits attribute. The reason we - need to find out what the base type is before parsing the file is - that we need to look at the type's custom attributes to see if a - root control builder type is specified (which is what ASP.NET MVC - does) and, if yes, use it instead of the default type. Fixes bug - #500075 - -2009-04-30 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: when BuildInner catches a compilation - exception, wrap it in HttpException before re-throwing. - -2009-04-28 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: ProcessTag doesn't process a tag which is not - server-side and which has declarative expressions embedded. Fixes - bug #498637 - -2009-04-24 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: ProcessCode should _not_ stop processing the - passed code string if the filter's ProcessCodeConstruct returns - false. Fixes bug #497775 - -2009-04-21 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: implemented new way of setting output cache - parameters in the 2.0 profile. The generated code is now the same - as on .NET and uses the OutputCacheParameters class to pass - settings to InitOutputCache. - -2009-04-17 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: if thead/tbody are parsed as children of a - server-side table control, ignore them. Fixes bug #481622 - -2009-04-16 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: using a regexp to check whether an - expression is a Bind one. Fixes bug #493639 - AssignPropertyFromResources now checks whether the field/property - passed to it is decorated with the Localizable custom attribute - and whether the resource provider contains an entry for that - property. - -2009-04-15 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: do not add all assemblies in bin/ when serving - a precompiled site. Fixes bug #493873 - When serving a precompiled site, check if the bin/ directory - contains certain well-known assemblies and load them if present. - -2009-04-07 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: GenerateExpressionFromString doesn't - assume that the passed member is a property anymore. Fixes bug - #492252 - -2009-04-06 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: make sure that precompiled is not null before - using it in GetPrecompiledType. - -2009-04-03 Marek Habersack <mhabersack@novell.com> - - * AspParser.cs: local copy of checksum generated by the tokenizer - is made right after parsing is done. - - * AspGenerator.cs: set tparser.MD5Checksum in Parse instead of in - InitParser. Avoids empty checksums in #pragma checksum. - -2009-04-02 Marek Habersack <mhabersack@novell.com> - - * CompilationException.cs: skip warnings in ErrorMessage and - ErrorLines - - * BuildManager.cs: when an error occurs while compiling the - requested virtual path, throw the exception, do not attempt to - build again. - - * TemplateControlCompiler.cs: implemented missing converter for - the ExpandDepth property. Fixes bug #490860 - -2009-04-01 Marek Habersack <mhabersack@novell.com> - - * AssemblyBuilder.cs: CSharpCodePragmaGenerator.ReserveSpace: - added the 2 extra chars to pragmaChecksumStaticCount constant (the - ones added by Gonzalo below) and removed one NewLine to account - for Martin's change below. - VBCodePragmaGenerator.ReserveSpace - one newline follows - #ExternalSource. - VBCodePragmaGenerator.DecorateFile - one newline follows - #ExternalSource. - -2009-04-01 Martin Baulig <martin@ximian.com> - - * AssemblyBuilder.cs: Don't emit a blank line after the #line as - thid'd cause all line numbers to be off by 1. - -2009-03-31 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * AssemblyBuilder.cs: the guid has to be quoted. - -2009-03-31 Marek Habersack <mhabersack@novell.com> - - * All of the below are part of the fix for bug #489687 - - * ThemeDirectoryCompiler.cs: pass VirtualPath instances to parser - constructors. - - * BuildProvider.cs: associated virtual path is stored internally - as an instance of VirtualPath, accessible via new - VirtualPathInternal property. - - * BuildManagerDirectoryBuilder.cs: VirtualPath.IsFake is used to - detect fake virtual paths. - GetBuildProvider now takes a VirtualPath instead of string for the - virtualPath parameter. The passed VirtualPath instance is passed - unchanged to BuildProvider. - - * BuildManager.cs: AssertVirtualPathExists now uses - VirtualPath.IsFake to check for fake virtual paths. - - * ApplicationFileBuildProvider.cs, GenericBuildProvider.cs, - MasterPageBuildProvider.cs, PageBuildProvider.cs, - ThemeBuildProvider.cs, UserControlBuildProvider.cs, - WebHandlerBuildProvider.cs, WebServiceBuildProvider.cs: - CreateParser overloads now take a VirtualPath instead of a string - for the virtualPath parameter. - - * ThemeBuildProvider.cs: use new parser constructors which take - VirtualPath instances instead of strings. - -2009-03-30 Marek Habersack <mhabersack@novell.com> - - * AspTokenizer.cs: UpdateChecksum - fixed off-by-one bug when - processing the checksum buffer. - - * AssemblyBuilder.cs: introduced a kludge to add #pragma checksum - and #pragma lines (or its vb equivalent - #ExternalSource) to - code-behind files named in the CodeFile/Src directives while - copying them to the dynamic directory for compilation. The kludge - works by recognizing the .cs and .vb extensions and wrapping the - file contents in the appropriate directives. This is done in this - way because the other possible way, using the - CodeSnippetCompileUnit, requires the entire file to be read in - memory and then passed to CodeDOM. We fall back to this way when - the file being copied is neither C# or VB. - -2009-03-25 Marek Habersack <mhabersack@novell.com> - - * AspTokenizer.cs: MD5 checksum calculation happens here. It's - done incrementally as characters are read. - - * AspParser.cs: the MD5 checksum is no longer computed here. Moved - to AspTokenizer. - After parsing, both the tokenizer and the string reader are - disposed of. - - * AssemblyBuilder.cs: renamed CopyFile to CopyFileWithChecksum, in - prepration for future inclusion of checksum and line pragmas in - the file being copied. - Files are copied chunk by chunk, not by reading the entire - contents. - -2009-03-23 Zoltan Varga <vargaz@gmail.com> - - * PageCompiler.cs: Fix the build. - -2009-03-23 Marek Habersack <mhabersack@novell.com> - - * TemplateBuildProvider.cs: add values of the CodeFile and Src - page/master/control directives to the list of file dependencies. - Extract language also for master/page, not only for controls. - - * PageCompiler.cs: CreateConstructors now triggers master page - build, if the current page is using one. Fixes bug #487857 - -2009-03-16 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: when parsing nested tags (includes tags inside - client-side javascript script blocks) pass the closing tag up to - the containing parser. - Instead of parsing the whole plain text contents, plus the two - constructs we're interested in from it using regexs. This is - necessary as we might be passed JavaScript code and without - understanding its syntax we'll confuse the '<' character for the - start of a tag. - TagParsed now better handles <script> tags. For both server and - client tags ProcessScript is called and the input text, in case of - client tags, is read verbatim to be processed when ProcessScript - is called to close the tag. At this point the verbatim text is - checked whether it contains server-side tags and/or expressions. - -2009-03-12 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs, BuildManagerDirectoryBuilder.cs, - BuildProvider.cs, TemplateBuildProvider.cs: dependencies are - returned as an IDictionary <string, bool>. Dependencies must be - compared case-insensitively. - - * TemplateBuildProvider.cs: ExtractReferenceDependencies must also - extract the value of the Page attribute. - -2009-02-28 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * AppResourcesAssemblyBuilder.cs: - * BuildManagerDirectoryBuilder.cs: - * AspComponentFoundry.cs: - * AssemblyBuilder.cs: - * CachingCompiler.cs: - * AspGenerator.cs: - * WsdlBuildProvider.cs: - * BaseCompiler.cs: - * BuildProvider.cs: - * AppWebReferencesCompiler.cs: - * TemplateControlCompiler.cs: - * BuildManager.cs: - * AppCodeCompiler.cs: settings that have to be in - machine.config or the root level web.config now call - GetWebApplicationSection. - -2009-02-26 Marek Habersack <mhabersack@novell.com> - - * TagAttributes.cs: modified ToString to return string formatted - in a more helpful way. - - * AspParser.cs: added ToString, helpful when debugging. - - * AspGenerator.cs: properly print leading and trailing plain text - when looking for embedded tags in ProcessTagsInAttributes. - -2009-02-25 Marek Habersack <mhabersack@novell.com> - - * AspTokenizer.cs: put_back now uses a stack and allows more than - one invocation when called inside a tag. - - * AspGenerator.cs: when a nested parser is used, pay attention to - server tags found inside client tags and add them to the control - tree. - -2009-02-24 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: Path.Combine must not be passed null first - parameter. - -2009-02-20 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * System.Web.Compilation/BuildManager.cs: updated comment. - -2009-02-18 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * TemplateControlCompiler.cs: lowercase place holder names - * BuildManager.cs: initial support for precompiled sites. - -2009-02-13 Marek Habersack <mhabersack@novell.com> - - * AspParser.cs: added an event raised when parsing is complete. - - * AspGenerator.cs: added support for PageParserFilter which, if - found, is used to control certain aspects of code parsing - (accepting/rejecting control types, accepting/rejecting code - snippets, parsing completion) - Added the AddControl method, used by PageParserFilter when a - custom filter wants to inject a control in the current control - builder tree. - -2009-02-05 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: implemented a type resolver for - ResXResourceReader so that it can correctly resolve - System.Resources types which are normally found in - System.Windows.Forms but are included by System.Web - directly. Without the type resolver, code comparing types inside - ResXResourceReader when file references are used in side the .resx - file will not work correctly. The reason for that is that .resx - files will name "System.Resources.ResXFileRef, - System.Windows.Forms" as the file reference handler, while inside - System.Web ResXFileRef will be of type - "System.Resources.ResXFileRef, System.Web". Fixes bug #466059 - - * GenericBuildProvider.cs: added a new virtual method, MapPath, - which can be overriden by builders which need special handling of - virtual path mapping. - - * PageBuildProvider.cs: provide implementation of - GenericBuildProvider.MapPath which takes into account fake virtual - paths. Fixes bug #463950 - -2009-01-26 Marek Habersack <mhabersack@novell.com> - - * BuildManagerDirectoryBuilder.cs: added support for fake virtual - paths. - - * CompilationException.cs: added a Message override to make error - messages more useful. - -2009-01-23 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * AspComponentFoundry.cs: no need to throw. Caller handles a null - return value. - -2009-01-23 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: use -1 for infinite wait in calls to - Acquire{Reader,Writer}Lock (). - -2009-01-22 Marek Habersack <mhabersack@novell.com> - - * XsdBuildProvider.cs: added missing BuildProviderAppliesTo - attribute. - - * BuildProvider.cs: added new internal virtual method, - ExtractDependencies() whose purpose is to extract virtual path - dependencies without compiling the code, if possible. - - * TemplateBuildProvider.cs: implemented the new - ExtractDependencies () method which uses regular expressions to - extract file dependencies from the source without having to - compile the file. - - * CompilationException.cs: added a new public property, Results, - which returns the compilation results. - - * BuildProviderGroup.cs: added. A simple class descending from - List <BuildProvider> which is used to hold a compilation batch - - that is a collection of BuildProvider instances. - - * BuildManagerDirectoryBuilder.cs: new class which takes care of - generating compilation batches for the requested virtual path. A - set of batches is generated from files found in the same virtual - directory as the requested virtual path and all of the - dependencies of those files. All files are grouped in batches - within which no file depends upon its siblings. An attempt is made - to sort the batches from the "least dependent" to the "most - dependent" batches - i.e. the batches which do not depend on other - batches go to the top. - Code generating the batches now correctly detects dependency loops - and throws an exception when one is encountered. - Batches are represented as instances of a new class - - BuildProviderGroup. - - * BuildManagerCacheItem.cs: added. Contains all the compilation - result information needed by BuildManager. See below. - - * BuildManager.cs: complete batch building rewrite: - - only one build lock is held instead of a set of compilation - tickets. Only one thread can compile anything at one given - time. - - retrieving types from the build cache now uses a slim rw lock, - so that readers aren't blocked while compilation is in - progress. Writer lock is acquired only when adding a newly - compiled type to the build cache and when removing it after its - dependencies made it invalid. - - assembly references for each compilation are now collected - dynamically as the source is being compiled, this removed a lot - of complexity in dealing with assembles containing conflicting - types. As a consequence right now there may exist several - loaded assemblies containing the same type, but only the latest - of them will be used in new compiles. - - the thread compiling code can recurse into the Build method - which causes the recursively referenced code to be compiled - into a separate, uniquely named, assembly. This deals with all - recursion loops and dependency problems. - - automatic app domain restart after a certain number of compiles - is enabled now. - - improved compilation error handling. If a compilation error - occurs, the code attempts to recompile the assembly up to 3 - times, each time removing from the batch the files/virtual - paths which failed parsing/compilation. If the attempts failed, - another one is made to compile only the virtual path requested - by the calling code. Only should that fail a compilation - exception is thrown. All the compilation errors are written to - stdout if the application is in the debug mode. - - changed assembly naming. It now generates assembly names based - on whether the compilation is recursive and whether the batch - being compiled contains more than one code unit or - not. - - compilation results are now stored in the cache as instances of - the new BuildManagerCacheItem class, which contains all the - information required by BuildManager to return types, - assemblies, dependencies etc. - - GetReferencedAssemblies now correctly returns only the - assemblies defined in the .config files. - - GetVirtualPathDependencies does not need to compile code - anymore in order to extract virtual path dependencies. New code - in BuildProvider.ExtractDependencies () takes care of that. - - a BuildManagerDirectoryBuilder class instance is used to - generate compilation batches. - - if SYSTEMCOR_DEP is undefined use ReaderWriterLock instead of - ReaderWriterLockSlim - - * AssemblyBuilder.cs: added support for keeping track of which - code unit was generated by which BuildProvider andr which - BuildProvider produced a given source file. Both changes serve the - purpose of dealing with compilation errors in BuildManager. - - * ApplicationFileBuildProvider.cs: added missing - BuildProviderAppliesTo attribute - -2009-01-14 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: implemented a work around which allows the - server controls embedded in client tag attributes to be parsed and - compiled. - -2009-01-13 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs, AspGenerator.cs, BaseCompiler.cs, - GlobalAsaxCompiler.cs, PageThemeCompiler.cs: updates related to - ControlBuilder cleanup. - -2009-01-12 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: do not generate #line pragmas for - plain strings. Fixes bug #461214 - -2008-12-11 Marek Habersack <mhabersack@novell.com> - - * BaseCompiler.cs: added a new method, InitializeType, to be - overriden in child classes when any class initialization needs to - be performed before methods, constructors and fields are created. - - * TemplateControlCompiler.cs: if the parser has any custom - controls registered, compile them here - in the InitializeType - method. - -2008-12-10 Marek Habersack <mhabersack@novell.com> - - * ParseException.cs: made serializable. - - * PageCompiler.cs: CreateStronglyTypedProperty calls - AddReferencedAssembly to add type's assembly to the unit's - references after the typed property has been created. - - * BaseCompiler.cs: added a new helper method, - AddReferencedAssembly to be used whenever an assembly location - needs to be added to the compilation unit's list after the parsing - is done (e.g. when processing PreviousPageType or MasterPageType - properties in PageParser) - -2008-12-08 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: use the correct regex match group - index in SanitizeBindCall (), fixes bug #457011 - -2008-12-05 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: attempt to enter the compilation critical - section with a timeout up to 3 times before giving up. This avoids - deadlocks in situations where there are two virtual directores - each containing user controls referencing user controls from the - other directory. - -2008-12-02 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * AspParser.cs: reset to the next character in a partial match in case - of failure. Fixes bug #314688. - -2008-12-01 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: instead of adding ContentPlaceHolder - instances to the ContentPlaceHolders collection when the - placeholder is instantiated in the control build method, collect - the ids and store them in ContentPlaceHolders inside the - constructor. Fixes bug #449970 - For each content placeholder generate a public virtual property - named "Template_PLACEHOLDERID", this is compatible with what .NET - does. - - * BaseCompiler.cs: added new virtual method, - AddStatementsToConstructor, which is called just before - CreateConstructor returns. - -2008-11-25 Marek Habersack <mhabersack@novell.com> - - * AspComponentFoundry.cs: GetComponentType methods replaced with - GetComponent returning an instance of AspComponent which fully - describes the registered item. Components are cached, indexed by - full tag name. - - * AspComponent.cs: added - -2008-11-21 Marek Habersack <mhabersack@novell.com> - - * CompilationException.cs: made serializable. - - * TemplateControlCompiler.cs: make the Bind regex stricter. - When creating Eval expression from Bind, replace single quotes - with double quotes. Fixes bug #447597 - When processing Bind expressions and the regex doesn't match, - throw an exception. - -2008-11-17 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * AspTokenizer.cs: if there's a newline between the opening server tag - and any other special character, treat the block as a code-render - block. - Bug #445889 fixed. - -2008-11-14 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: treat Eval and Bind expressions as - verbatim code. The only difference between the two is that in the - latter case Bind is replaced with Eval in the output code. Fixes - bug #444725 - If BindingDirection of the parent template builder is OneWay in - RegisterBindingInfo, do not throw an exception but simply do not - register the binding. - -2008-10-29 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: seal the internal classes. - Remove unused BuildCacheItem.ValidBuild property. - -2008-10-16 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: IsWritablePropertyOrField doesn't - use PropertyInfo.CanWrite to check whether the property is - writable anymore, it calls GetSetMethod (false) instead. - -2008-10-10 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: allow whitespace around parentheses - in the Bind and Eval expressions. - -2008-10-09 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: if monoSettings section is found in the - system.web section in web.config, use its contents to augment - compiler configuration. Used to work around the issue reported in - bug #433806 - -2008-10-08 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: templates must be instantiated even - for builders which process children as properties. - -2008-10-07 Gonzalo Paniagua Javier <gonzalo@novell.com> - - * AssemblyBuilder.cs: use CodeBase to get to the original assembly - path because Location might point the the shadow copy. Bug #409646 - and others fixed. - -2008-10-03 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: if an assembly fails to build out of a batch of - files, extract the virtual path that was requested by the client - and attempt to compile it alone. - -2008-09-29 Marek Habersack <mhabersack@novell.com> - - * BuildManagerRemoveEntryEventHandler.cs: added - - * BuildManager.cs: added a static event to notify interested - parties when an entry is removed from the buildCache. Fixes bug - #429926. - -2008-09-26 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: when creating a cache entry for a virtual path, - make it depend on a list of files built recursively from all the - virtual path's dependencies. Fixes bug #430114 - -2008-09-24 Andreia Gaita <avidigal@novell.com> - - * AspParser.cs: When parsing text which contain xml tags that resemble - the end string, append the original text instead of the end string, - because the casing might not match between the two. Fixes #320445 - -2008-09-23 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: ignore whitespace only if it's between - CodeRender blocks, not between DataBinding and - CodeRenderExpression. - -2008-09-01 Marek Habersack <mhabersack@novell.com> - - * BaseCompiler.cs: AssignAppRelativeVirtualPath works with - null/empty parser.InputFile now. - - * AspGenerator.cs: AddTypeToCache works checks whether inputFile - is null or empty and does not assume the dependencies ArrayList is - present. - CloseControl uses ControlBuilder's OriginalTagName property, - should the property/tag name be prefixed with 'prefix:' - - * CachingCompiler.cs: expect the dependencies ArrayList to be null - or empty. - -2008-08-31 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: trust builder.BindingContainerType - in the 2.0+ profile - do not use container properties to detect - the type. - Added a helper method, compiled only when DEBUG is defined, to - generate Console.WriteLine CodeDOM calls. - Templates are processed before anything else, so that children - which may depend on parent's templates can get access to them. - - * BaseCompiler.cs: add line pragmas only if enabled for the - current file. - -2008-08-29 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: properly handle profile base class - specifications which refer to full type names. - -2008-08-26 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: use VirtualPathUtility.Combine in - GetAbsoluteVirtualPath for non-rooted paths. - -2008-08-19 Marek Habersack <mhabersack@novell.com> - - * ThemeDirectoryBuildProvider.cs: theme directory dependencies - should use only virtual paths for CSS files. Fixes bug #397187 - -2008-08-18 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: process expression when they are - used used in values of attributes without associated - properties. Fixes bug #417883 - - * ResourceExpressionBuilder.cs: added two overloads of - CreateGetLocalResourceObject to encompass cases when the generated - expression is not assigned to a property but rather used as a - parameter to the SetAttribute method. Fixes bug #417883 - -2008-08-14 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: do not ignore directives inside HTML comments. - - * TemplateControlCompiler.cs: .NET allows for whitespace between - the directive start (<%) and the directive type character. Added - code which copes with such situations correctly. - -2008-08-13 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: rewrote the Bind regular expressions - to allow for single quotes and an optional second parameter to the - "call". - Added an Eval regular expression. - Both Bind and Eval calls in data expressions are now converted - into a CodeDOM method invocations, to allow support for possible - languages which use a different call format (previously code - snippets were used) - Added a method to construct the Eval invoke expression which - simplifies code in other areas. - - -2008-08-06 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: handle situation when a property of - a control for which we're generating the code is of type - 'Type'. In such case, variable.GetType() will return - System.MonoType, which must not be output to the generated - source. Thanks to Robert Jordan for giving the idea for the hack! - -2008-06-30 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: hush the warnings and fix invalid type - comparison. - - * AssemblyBuilder.cs: hush the warnings and add some debugging - CWLs. - - * AspParser.cs, AppResourcesCompiler.cs, TemplateBuildProvider.cs, - CachingCompiler.cs, BaseCompiler.cs, TemplateControlCompiler.cs, - SimpleBuildProvider.cs, BuildManager.cs: hush the warnings - -2008-06-18 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: AddChildCall properly processes the - PartialCachingAttribute now. - -2008-06-11 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: if an error occurs while assigning the - requested path to an assembly builder inside BuildAssembly, throw - an exception. - - * BaseCompiler.cs: do not generate #line pragma for code which - exists only in memory. - -2008-05-30 Marek Habersack <mhabersack@novell.com> - - * ClientBuildManager.cs: do not use synthetized event accessors - (to avoid locks). - -2008-05-28 Marek Habersack <mhabersack@novell.com> - - * AspParser.cs, AspGenerator.cs, BaseCompiler.cs: added support - for #pragma checksum - -2008-05-19 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: if the last tag parsed was a code directive, - ignore any accumulated text if it's 100% whitespace. - Do not parse code render directives inside comments. - -2008-05-15 Marek Habersack <mhabersack@novell.com> - - * AspComponentFoundry.cs: treat AssemblyFoundry in a special way - when adding a foundry to the array list. AssemblyFoundry instances - are stacked at the end of the array list in a LIFO manner. That - way TagNameFoundry takes precedence over AssemblyFoundry should - the two contain the same type. - -2008-05-14 Marek Habersack <mhabersack@novell.com> - - * ParseException.cs: location can be null in the FileText property - getter. - -2008-05-07 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: push the include file directory to the parser - include directory stack and pop it after parsing the include, so - that the relative file paths are resolved correctly. Fixes bug - #324536 - -2008-05-06 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: compatibility - added the - __stringResource static field to the generated class and a call to - SetStringResourcePointer to the FrameworkInitialize method. - - * PageCompiler.cs: __fileDependencies should also be defined in - the 1.x profile. - Page properties assigned in the page directive should be set - inside BuildControlTree in the 2.0 profile. - -2008-04-29 Marek Habersack <mhabersack@novell.com> - - * WebServiceCompiler.cs: if compiling a body-less web service, try - to load the class type from the loaded assemblies before - attempting to find it in the assemblies on disk. - -2008-04-28 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: ignore bad assemblies in the bin/ - directory. Fixes bug #315816 - -2008-04-26 Marek Habersack <mhabersack@novell.com> - - * GenericBuildProvider.cs: the Parse () method should reuse the - previously opened TextReader when calling generator.Parse (), to - avoid opening the input file multiple times. Fixes bug #383881 - -2008-04-25 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: put some safeguards in, to make sure streams - are closed in any case. - -2008-04-24 Marek Habersack <mhabersack@novell.com> - - * AspComponentFoundry.cs: added a new GetComponentType overload - which returns component source and a boolean flag whether the - control was registered from web.config (2.0). - -2008-04-22 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: ignore also arbitrary exceptions when - batch-building an assembly. Fixes bug #323556 - -2008-04-19 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: use absolute virtual path to query the - VirtualPathProvider for path existence. - When ASP.NET is self-hosted, force - non-batch compilation. Fixes bug #380985 - - * ILocation.cs: added a new property, FileText. - - * Location.cs: added implementation of the ILocation.FileText - property. - - * ParseException.cs: use the new ILocation.FileText, if defined, - to get the file source. - - * AspGenerator.cs: when TextReader is present, use it to read with - the VirtualPathProvider to read the file source. Fixes bug #381364 - - * AspParser.cs: added a new property FileText to provide the file - contents which was read in the constructor. - -2008-04-18 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: when any parsing error occurs during batch - building, ignore the file which caused it. If the file with - parsing error is the one requested by user, throw the parsing - exception. Fixes bug #323742 - -2008-04-15 Marek Habersack <mhabersack@novell.com> - - * CachingCompiler.cs: dispose of streams the way it should - be done. - -2008-04-09 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: refactoring - the SetCommonParameters and - GetDefaultCompilerTypeForLanguage moved here from BuildProvider, - and made internal static. - Do not catch compilation exceptions and wrap them in - HttpException, let the CompilationException pass through. Fixes - bug #377904 - - * AppWebReferencesCompiler.cs: added - support for compiling of - wsdl files found in the App_WebResources directory. Fixes bug - #377934 - - * BuildProvider.cs: refactoring - moved the SetCommonParameters - and GetDefaultCompilerTypeForLanguage to BuildManager - - * WsdlBuildProvider.cs: added the CodeCompilerType property - override. - Namespace for the generated code is taken from the wsdl path, - relative to App_Code or App_WebReferences, if the wsdl in question - is under on of those directories. - GenerateCode uses OpenReader () so that VirtualPathProvider works - for wsdl files. - - * AssemblyBuilder.cs: make sure Encoding.UTF8 is explicitly used - when generating source from code unit and use - WebEncoding.FileEncoding when adding code files to the unit. Fixes - bug #377938 - Cope with virtualPath being null in BuildAssembly. - Reference assemblies specified in web.config when linking. - -2008-04-08 Marek Habersack <mhabersack@novell.com> - - * AspComponentFoundry.cs: add loaded assembly to the - BuildManager's list of referenced assemblies instead to - WebConfigurationmanager.ExtraAssemblies. Fixes bug #377915 - - * AppCodeCompiler.cs: VirtualPath used in PhysicalToVirtual. - - * BuildManager.cs: switched to VirtualPath instead of a string - path in several methods. - Batch compilation is turned off if we have a custom - VirtualPathProvider which implements only the VirtualFile and - falls back to DefaultVirtualDirectory implementation for directory - access. - Added an internal method AddToReferencedAssemblies. - Remove invalidated entry from - WebConfigurationManager.ExtraAssemblies. - - * GenericBuildProvider.cs: AddCodeFile accepts a virtual path. - - * BuildProvider.cs: SetVirtualPath accepts a VirtualPath now. - - * AssemblyBuilder.cs: constructors use the new VirtualPath class - now. - AddCodeFile can use the VirtualPathProvider if necessary now. - BuildAssembly overloads accept VirtualPath parameter instead of a - string path now. - - * TemplateBuildProvider.cs: GetCodeBehindSource returns the - virtual path now. - -2008-03-31 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: implemented support for AppInitialize (a - static method in any class defined in the App_Code source files), - ran just after the App_Code assemblies are compiled in order to - perform any application initialization actions. - -2008-03-27 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: AssertVirtualPathExists now queries the - VirtualPathProvider for path existence if physical path check - fails, before throwing the 404 exception. - -2008-03-13 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: if we're running in a case-insensitive - environment, use case-insensitive comparer for the build caches. - -2008-02-29 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: implement a mechanism to ignore certain virtual - paths when batch compiling. Helps applications which may have - .as?x files which won't work on mono for various reasons (one such - sample is mojoportal). - -2008-02-28 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: make sure that data-bound attribute - assignments properly convert the Bind expression to the Eval - one. Fixes bug #362039 - - * AspGenerator.cs: in 2.0+, aspx files which contain the Content - controls can contain only them, whitespace and directives. Fixes - bug #339747 - -2008-02-27 Marek Habersack <mhabersack@novell.com> - - * AspComponentFoundry.cs: use BuildManager.GetCompiledType in the - LoadType method for the 2.0 profile. - - * CompilationException.cs: use a different format of ErrorMessage - for the 2.0+ profile. - -2008-02-26 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: known file types extensions are now matched - case-insensitively. - -2008-02-25 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: GetContainerType now checks whether - the binding container returned from the builder implements - IDataItemContainer (for 2.0+ profiles) and looks for one more - property, Rows, if no Items property is found. - -2008-02-08 Gert Driesen <drieseng@users.sourceforge.net> - - * AppSettingsExpressionBuilder.cs: Improve exception messages. Return - "raw" appsetting value if targetType is null. - -2008-02-07 Marek Habersack <mhabersack@novell.com> - - * CompilationException.cs: added new constructor which takes - CompilerResults as one of the parameters. - Added CompilerOutput property. - - * AssemblyBuilder.cs: use the new CompilationError constructor. - - * BuildManager.cs: check for virtualPath existence before - attempting to compile the assemblies. Fixes bug #359465 - -2008-02-06 Marek Habersack <mhabersack@novell.com> - - * GenericBuildProvider.cs: GetGeneratedType may return a type even - though the results are null. - - * AssemblyBuilder.cs: if there are no units, no source files, no - resources and no embedded resources in the passed options then - do not attempt to compile the assembly. Fixes bug #359325 - - * AppResourcesAssemblyBuilder.cs, AppCodeCompiler.cs: expect that - BuildAssembly may return null results. - - * BuildManager.cs: protect non-page builds from endless recursion - if a non-page file recursively references/includes another file - from the same batch. If such case is detected, the recursively - referenced file is compiled into a separate assembly and removed - from the previous compilation batch. Fixes bug #358742. - If AssemblyBuilder returns no results from BuildAssembly, it might - mean we're dealing with a compilation of empty .as[hm]x files, - with no code and only code-behind in bin/. Do not report an error - in that case, only add the compiled types to the cache. Fixes bug - #357624. - -2008-02-05 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: GetAbsoluteVirtualPath correctly converts - non-rooted relative paths to absolute ones now. Fixes bug - #357504. - - * GenericBuildProvider.cs: introduced a new abstract method, - GetReferencedAssemblies, which is called on descendant builders to - get a list of assemblies referenced by the parsed file. Fixes bug - #357499. - - * AssemblyBuilder.cs: added a new overload of the - AddAssemblyReference method, to be used by build providers to - register assemblies collected by the corresponding parser. - - * TemplateBuildProvider.cs, SimpleBuildProvider.cs: implemented - overload of the new abstract method GetReferencedAssemblies. - - * AspGenerator.cs: introduced a new overload for the Parse method - which accepts a bool indicating whether or not to initialize the - parser. The overload is used when parsing server-side - includes. Fixes bug #357498 - -2008-02-04 Marek Habersack <mhabersack@novell.com> - - * AssemblyBuilder.cs: do not use WebEncoding.FileEncoding when - generating source code files. Fixes bug #357053. - - * AspGenerator.cs: set isApplication before parsing. Fixes bug - #357036. - -2008-01-31 Jb Evain <jbevain@novell.com> - - * AspGenerator.cs: correct typo. Fix #357547. - -2008-01-27 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: GetReferencedAssemblies includes the extra - assemblies and the App_Code assemblies. Patch from Mike Morano - <mmorano@mikeandwan.us>, thanks! - -2008-01-24 Marek Habersack <mhabersack@novell.com> - - * WebHandlerBuildProvider.cs: derive from the new - SimpleBuildProvider class. - - * BuildManager.cs: full implementation of the batch compilation - for the 2.0 profile. The implementation is most probably different - to MS.NET's but the effects are the same (or nearly the same - - there are some minor differences). There are missing bits and - pieces, but minor ones - to be added later. - - * SimpleBuildProvider.cs: new build provider abstract class - deriving from the GenericBuildProvider that implements common code - for building web handlers and web services. - - * GenericBuildProvider.cs: new generic abstract class used to - implement base builder code for all the build provider types and - maximize code reuse. - - * PageBuildProvider.cs: derive from the new TemplateBuildProvider - class and implement all the necessary abstract members. - Handle "fake" virtual paths, to properly support generating of the - WSDL helper code. - - * BuildProvider.cs: SetVirtualPath now converts the passed path to - absolute URL. - Added internal virtual method GenerateCode, used by derived - classes. - SetCommonParameters no longer sets the referenced assemblies, this - is done in BuildManager now. - Added an internal virtual property CodeUnit which returns the - build provider's compilation unit. - - * PageCompiler.cs: fix assignment of base types for asynchronous - pages, to match MS.NET. - For asynchronous pages, add the necessary methods generation. - - * BaseCompiler.cs: default namespace is now set using a constant. - Renamed the Init method into ConstructType, to better reflect its - purpose and made the method internal - it is used by the build - providers. - Added several CreateProvider overloads for easier and more unified - compilation provider creation. - Added an internal MainClassType property to enable class type name - retrieval from other parts of the class hierarchy. - - * ApplicationFileBuildProvider.cs: new build provider deriving - from the TemplateBuildProvider class to compile the global.asax - file. - - * AspGenerator.cs: properly handle parsers which have no input - file path given, but use TextReader instead. - Dependencies are virtual paths now, convert them to physical ones - before creating cache dependency. - - * CachingCompiler.cs: parser dependencies are virtual paths now, - convert them to physical ones before creating cache dependency. - - * AssemblyBuilder.cs: full implementation of the documented - functionality as well as a lot of internal build code - added. Produces assemblies using the same style what MS.NET for - temporary and target file naming. Handles partial type squashing - if the same partial type is used by several code compile units - added to the same builder instance. - - * MasterPageBuildProvider.cs: use the new TemplateBuildProvider - base class and add implementation of all the abstract methods - required by it. - - * ThemeDirectoryBuildProvider.cs: new build provider to compile - theme directories. Replaces the old ThemeDirectoryCompiler class. - - * UserControlBuildProvider.cs: use the new TemplateBuildProvider - base class and add implementation of all the abstract methods - required by it. - - * TemplateBuildProvider.cs: new internal abstract class which - implements the common tasks for all the template control build - providers. - - * WebServiceBuildProvider.cs: use the new SimpleBuildProvider base - type to implement building. - -2008-01-17 Igor Zelmanovich <igorz@mainsoft.com> - - * BaseCompiler.cs: Assign AppRelativeVirtualPath correctly - -2008-01-08 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: statements to assign - fields/properties from resources must be processed at the very end - of the control creation method. Some controls (like HyperLink) can - set their Text attribute using literal content. In such cases, in - order to properly localize the control, the value read from the - local page resources must be assigned after the literal value has - been added to the control. Fixes bug #323494 - -2008-01-07 Marek Habersack <mhabersack@novell.com> - - * CachingCompiler.cs: added an overload to the Compile method - which accepts a flag whether or not to include debug information - in the generated assembly. - -2008-01-02 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: add line pragma wherever necessary. - - * PageCompiler.cs: reorder the statements to match MS.NET output. - Output line pragma information for directive attributes. - - * BaseCompiler.cs: add a set of AddLinePragma methods for various - CodeDOM elements. - Output line pragmas when adding server-side scripts to the CodeDOM - tree. - - * AspGenerator.cs: use ServerSideScript to store script location - in the original file. - - * UserControlCompiler.cs: output line pragmas for the init - method. - -2007-12-28 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: MS.NET compatibility: added the - __fileDependencies object to the generated class. - Refactored the output to match MS.NET more closely. - IHttpHandler or IHttpAsyncHandler are now added to the generated - class list of implemented interfaces. - - * BaseCompiler.cs: Main class field references are prefixed with - 'global::' now. - Refactored the output to match MS.NET more closely. - -2007-12-27 Marek Habersack <mhabersack@novell.com> - - * BaseCompiler.cs: check for base type globality in all the - location it is used. - -2007-12-23 Vladimir Krasnov <vladimirk@mainsoft.com> - - * AppSettingsExpressionBuilder.cs: fixed GetAppSetting, should convert - to property type - -2007-12-21 Marek Habersack <mhabersack@novell.com> - - * BaseCompiler.cs: Refactoring. Move the provider creation code to - an internal static method, so that other piece of code which need - to create the provider can do it using the same code. - Added setters to several internal properties, so that they can be - shared with derivative classes. - - * WebServiceCompiler.cs: adjust to the changes above. Fixes bug - #350398. - - * CachingCompiler.cs: adjust to the changes above. Also some - refactoring. - -2007-12-15 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: do not instantiate CodeDomProvider twice. - - * BaseCompiler.cs: do not use CreateCompiler () in the 2.0 - profile, it's obsoleted. CachingCompiler will use the - CodeDomProvider methods directly in that case. - - * WebServiceCompiler.cs: Updated GetCompiledType to acquire - compiler information for the 2.0 profile from system.codeDom. - - * CachingCompiler.cs: the Compile overloads do not use the - compiler instance, but call appropriate methods on the - CodeDomProvider instance directly. - Updated some Compile overloads to acquire compiler information for - the 2.0 profile from system.codeDom. - -2007-12-14 Juraj Skripsky <js@hotfeet.ch> - - * TemplateControlCompiler.cs (AddExpressionAssign): - Make sure expression does not contain prefix. - - * AppSettingsExpressionBuilder.cs: Pass type of property to - GetAppSetting, not type of declaring type. - -2007-12-13 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs, AspComponentFoundry.cs, - AssemblyBuilder.cs, AppResourcesCompiler.cs, - AppResourcesAssemblyBuilder.cs, AppCodeCompiler.cs: speed - optimization - use String.Concat instead of String.Format in some - cases. - -2007-11-22 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: use - pageParser.OutputCacheVaryByContentEncodings when initializing the - output cache in the 2.0 profile. - -2007-11-06 Marek Habersack <mhabersack@novell.com> - - * BuildManager.cs: properly retrieve the BuildProviderCollection - from configuration files. - -2007-11-03 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: do not call converters specified in - the member custom attributes if 'str' is null in - GetExpressionFromString. - -2007-10-23 Marek Habersack <mhabersack@novell.com> - - * AppResourcesAssemblyBuilder.cs: do not output preservation files - for satellite assemblies, just for the main assembly. Also, don't - add the satellite assemblies to the list of top-level assemblies. - -2007-10-17 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: added code to set the AsyncMode and - AsyncTimeout Page properties. - -2007-10-15 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs, WebServiceCompiler.cs, - BuildProvider.cs, BaseCompiler.cs, CachingCompiler.cs: use - HttpApplication.LoadType instead of Type.GetType. - -2007-10-10 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: be careful when using type - converters taken from attributes attached to class members. They - may come from the System.Design namespace, which is mostly not - implemented on Mono. - -2007-10-01 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: resources are no longer compiled into a - single assembly. Instead, the common assembly construction code - has been moved to AppResourcesAssemblyBuilder to use satellite - assemblies. - - * AppResourcesAssemblyBuilder.cs: new resource assembly - construction code which takes care of outputting satellite - assemblies. - -2007-09-27 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: support nullable types in - GenerateExpressionFromString. - -2007-09-21 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: if we're running on a platform with - the directory separator character that's different to the Unix - style '/' one, convert the input file path to the virtual path - style string, with path parts separated by '/'. Patch from Robert - Jordan <robertj@gmx.net>, thanks! Fixes bug #324229. - -2007-09-20 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: if a member passed to - GetExpressionFromString has a TypeConverter attribute set, try to - use the named type converter to convert the string value into the - target type. Fixes bug #325489. - -2007-09-14 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: use _culture and _resourceManager - instead of culture and resourceManger in the generated code, to - avoid case problems for languages that are case-insensitive. - -2007-09-10 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: cast the expression to the field - type whenever appropriate in GetExpressionFromString. - When generating an object instance and one of the parameters is - System.Type, return a typeof expression. - -2007-09-07 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: another modification to the way - TemplateInstance.Single templates are treated. The search for - parent with this attribute set stops as soon as the first - TemplateBuilder is encountered, no matter what the value of its - TemplateInstance attribute is. - -2007-09-06 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: ID must be assigned as soon as - possible, before any other attributes of the control are - accessed. The control code may rely on ID being set. - Extend the process of checking if a control is located within a - template with the TemplateInstance.Single attribute set, to all - the parents of the current builder. - -2007-09-05 Marek Habersack <mhabersack@novell.com> - - * ThemeDirectoryCompiler.cs: all the skin files compiled in one - batch must share the same component foundry. Under MS.NET if any - earlier .skin file registers a control prefix any later .skin - files may use it without registering. - -2007-09-04 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: make sure that base class doesn't - contain a field of the same name which is accessible from the - current control if we're within a singleton template. - When generating code for a property or field, use the name - retrieved from the metadata by reflection instead of the one - parsed from html. Fixes bug #82687. Patch from SunHo Kim - <zsunno@gmail.com>, thanks! - -2007-08-29 Marek Habersack <mhabersack@novell.com> - - * CachingCompiler.cs: consider contents of the - <compilation><assemblies> section when constructing a list of - assemblies during compilation. - - * TemplateControlCompiler.cs: mark fields corresponding to the - controls as global references. - When control tree is constructed and the parent of the current - builder is a TemplateBuilder marked with the TemplateInstance - attribute set to Single, use the control's ID as the field - name. This makes it possible to refer to controls inside templates - by name instead of by using FindControl. - -2007-08-23 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: use HttpApplication.BinDirectoryAssemblies - and HttpApplication.LoadTypeFromBin. - - * BuildProvider.cs: use HttpApplication.BinDirectoryAssemblies in - AddAssembliesInBin. - -2007-08-21 Marek Habersack <mhabersack@novell.com> - - * BuildProvider.cs: use HttpApplication.PrivateBinPath enumerator - to look up assemblies in the binary path(s). - -2007-08-19 Juraj Skripsky <js@hotfeet.ch> - - * GlobalAsaxCompiler.cs (ProcessObjects): Make string comparison - for scope case insensitive. Fixes bug #82479. - -2007-08-14 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: remove dead code. - - * AssemblyBuilder.cs: include actual exception information when - reporting inability to load a compiled assembly. - - * AppCodeCompiler.cs: remove unused variables. - - * AspComponentFoundry.cs: use an ArrayList to implement LIFO for - component collections, instead of the old Queue which implemented - FIFO. Fixes situations when a control registered later for a - certain prefix would not be used in preference to a previously - registered one of the same name. - -2007-08-06 Marek Habersack <mhabersack@novell.com> - - * AspComponentFoundry.cs: properly add new foundry if the - corresponding entry in the foundries collection is a Queue. Patch - from Juraj Skripsky <juraj@hotfeet.ch>, thanks! Fixes bug #82285. - -2007-07-31 Marek Habersack <mhabersack@novell.com> - - * AspComponentFoundry.cs: do not overwrite previously registered - foundries when a new one is registered with the same prefix. Fixes - bug #82216 - -2007-07-18 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: on the 2.0 profile, GetContainerType - does not look up the Item/Items properties to determine the - container type, instead it just returns the type reported by the - builder passed to this method. This change makes the generated - code match MS.NET. Fixes bug #82119. - -2007-07-02 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: don't use StartWith to see if a - variable's value is a bind expression, as it erroneously renames - all calls to methods starting with the string Bind. Use a regular - expression now instead. Fixes bug #81928. - -2007-06-20 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: use HttpRuntime.InternalCache to keep - private entries. - * CachingCompiler.cs: as above - * AspGenerator.cs: as above - -2007-06-13 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: make sure control has a writable - TemplateControl property prior to assigning values to it. - -2007-06-09 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: TemplateControl is assigned for - controls that are placed within ContentPlaceHolder and not for the - ContentPlaceHolder itself. - No longer add the overriden version of TemplateSourceDirectory to - the generated source, all the work is now done in - Control.TemplateSourceDirectory. - - * BaseCompiler.cs: AppRelativeVirtualPath shouldn't end with a - slash, for compatibility with MS.NET - -2007-06-05 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: TemplateSourceDirectory in the 2.0 - profile uses the TemplateControl property instead of Parent. This - allows to return the correct path. - -2007-06-01 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: be case-insensitive when looking for - Bind requests. - -2007-05-29 Marek Habersack <mhabersack@novell.com> - - * ThemeDirectoryCompiler.cs: pass the skin file's - virtual path to the skin file parser as its first paramenter, and - not a physical path. - -2007-05-28 Marek Habersack <mhabersack@novell.com> - - * ResourceExpressionBuilder.cs: properly cast - GetGlobalResourceObject calls to the type of the property being - assigned to. - -2007-05-25 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: Changed a few incorrect - ObjectCreationExpression to the correct DelegateCreationExpression. - Fixes #81706. - -2007-05-24 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: added support for the PreviousPageType directive. - - * Directive.cs: as above. - -2007-05-22 Marek Habersack <mhabersack@novell.com> - - * UserControlCompiler.cs: the Profile property should be present - also in user controls. - -2007-05-15 Marek Habersack <mhabersack@novell.com> - - * ResourceExpressionBuilder.cs: added a static method to generate - a GetLocalResourceObject call which properly handles types which - cannot be converted from strings. - - * TemplateControlCompiler.cs: use code described above to generate - code for properties assigned from resources. - - * WsdlBuildProvider.cs: make the code actually work - get the - physical path of VirtualPath instead of converting it to absolute - URI path. - Do not generate source, add the code unit to assembly builder - instead. - - * XsdBuildProvider.cs: added - -2007-05-08 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: BuildTemplateMethod is a delegate, - so use a delegate create expression - it may make difference for - languages other than C# (e.g. VisualBasic). - -2007-05-07 Marek Habersack <mhabersack@novell.com> - - * AspGenerator.cs: if the parser's language is implicit (i.e. set - from the default configuration), the first script with the - language attribute present sets the language of the parser. - -2007-05-04 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: do not query the parent for - TemplateSourceDirectory if we are generating code for a Master - Page. - -2007-04-30 Marek Habersack <mhabersack@novell.com> - - * ConnectionStringsExpressionBuilder.cs: support expressions with - suffixes .ProviderName and .ConnectionString (case-insensitie) and - generate a call to GetConnectionStringProviderName in the former - case. Fixes bug #81490 - - * AppCodeCompiler.cs: support for cases when there exists a custom - profile class but there is no App_Code directory or it's - empty. Fixes bug #81489. - - * TemplateControlCompiler.cs: fix generation of code for - declarative attribute assignments of the form Font-Size="small" - (i.e. when a font size is assigned a symbolic, relative size - value). This fixes for example rendering of the 0th level of - TreeView controls. - -2007-04-27 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: do not look at the number of errors, check - the compiler return code instead. - Resolve assembly names from the global web.config to their - locations before passing them to the compiler provider. - - * AssemblyBuilder.cs: as above - - * AppResourcesCompiler.cs: as above - - * AspComponentFoundry.cs: formatting changes. - AssemblyFoundry looks for the specified namespace+type in the - top-level assemblies if necessary. - -2007-04-26 Marek Habersack <mhabersack@novell.com> - - * AssemblyBuilder.cs: handle compilation failures in a better - way. - - * PageCompiler.cs: the Master property must be in the partial - class if present. Fixes bug #81442 - -2007-04-20 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: fix App_Code build when the directory - contains both known and unknown files. - -2007-04-19 Gert Driesen <drieseng@users.sourceforge.net> - - * AspComponentFoundry.cs: Fixed build on 1.0 profile. Spaces to - tabs. - -2007-04-19 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: yet another method of detecting if we have a - custom profile. - - * BaseCompiler.cs: as above - - * AspComponentFoundry.cs: implemented delayed loading of control - assemblies. Fixes bug #81058. - -2007-04-19 Gert Driesen <drieseng@users.sourceforge.net> - - * BaseCompiler.cs: On 2.0, when ClassName attribute contains namespace - then use it instead of the default ASP namespace. Fixes part of bug - #81399. - -2007-04-19 Marek Habersack <mhabersack@novell.com> - - * BaseCompiler.cs: don't look at the number of profile properties - when deciding if we have a custom profile. It is possible to have - a profile that just inherits from a base class and does not list - any custom properties. Fixes bug #81396. - - * AppCodeCompiler.cs: as above - -2007-04-15 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: properly convert physical file path to - virtual path for build providers. - Make sure there's actually anything to compile. - -2007-04-11 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: move custom profile type check till after - the App_Code compilation is done. That way we can have custom - profile providers in there. Fixes bug #81307. - -2007-04-10 Marek Habersack <mhabersack@novell.com> - - * AppResourceFilesCollection.cs: watch App_LocalResources for - changes. - -2007-04-06 Marek Habersack <mhabersack@novell.com> - - * BaseCompiler.cs: display the source of the file in which the - error actually happened if the file exists, or the unit - otherwise. - -2007-04-03 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: global resources are put in the - "Resources." namespace while local ones are not. Fixes bug #81174 - which was reopened after r75261. - -2007-03-26 Marek Habersack <mhabersack@novell.com> - - * TemplateControlCompiler.cs: refactor assining properties from - resources a bit to support pages and user controls. Fixes bug - #81204. - Process meta:resourcekey after all the field/attribute assignments - are done. Fixes bug #80809. - Clean the code up a bit. - Use GetExpressionFromString to generate a correct expression for - custom page/control attributes. Fixes bug #81132. - -2007-03-21 Marek Habersack <mhabersack@novell.com> - - * BaseCompiler.cs: cast 'this' to CodeFileBaseClass in - AssignAppRelativeVirtualPath if the attribute was defined. - - * TemplateControlCompiler.cs: added support for setting custom - attributes of a base class from the Page or Control directive - attributes. - -2007-03-20 Marek Habersack <mhabersack@novell.com> - - * ResourceExpressionBuilder.cs: if the resource class key is null - or empty, call GetLocalResourceObject, if not, - GetGlobalResourceObject. Fixes bug #81174. - -2007-03-16 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: produce message that makes more sense. - -2007-03-15 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: handle global resource keys with dots - the way MS.NET does. All the dots are replaced with underscores - when generating the stronly-typed property. - -2007-03-14 Marek Habersack <mhabersack@novell.com> - - * AppResourcesCompiler.cs: Fix a bug with global resources file - grouping where no translated resources were processed due to base - name mismatch. - - * TemplateControlCompiler.cs: hadle situations when there exist a - control in the page with id matching the name of a field/property - in the parent class. In this case we use 'protected new' to - override the parent. - -2007-03-13 Marek Habersack <mhabersack@novell.com> - - * AspParser.cs: fix an off-by-one parsing bug with server-side - includes. - - * PageThemeCompiler.cs: let property builders through, stop the - builders that have no control type. Fixes bug #81092 - - * PageCompiler.cs: interfaces are to be implemented by the parent - partial class, not the generated one. - - * AppResourceFilesCollection.cs: added separate constructor for - local resources handling. - - * TemplateControlCompiler.cs: request the local resource object - with proper virtual path. - Put field declarations for controls in the partial class. - Make sure builders are in valid state before trying to use them. - - * BaseCompiler.cs: added code to assing AppRelativeVirtualPath - property in the page/control constructor. - Change the generated code model for pages/controls to comply with - the way MS.NET does (partial class contains only two properties - plus declarations of all the controls, the actual control/page - class inherits from the partial class). Fixes bug #81001. - - * AppResourcesCompiler.cs: does not require specifying manually - whether it's a global or local resource compiler anymore. New - constructors take care of that. - Changed to compile local resources on demand, when a control/page - is parsed. - -2007-03-12 Marek Habersack <mhabersack@novell.com> - - * AspParser.cs: revert r73587 as it breaks more than it fixes. - - * AspComponentFoundry.cs: try to register foundries from App_Code - assemblies if tag prefix and its namespace are defined. Fixes bug - #78797. - - * BuildManager.cs, BaseCompiler.cs: CodeAssemblies is a collection - of Assembly instances, not strings. - - * CachingCompiler.cs: make sure items in the CodeAssemblies and - TopLevelAssemblies are really instances of the Assembly class - before trying to use them. - CodeAssemblies is a collection of Assembly instances, not - strings. - - * AppCodeCompiler.cs: on MS.NET CodeAssemblies is a collection of - assemblies, not paths to assemblies. - -2007-03-10 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs, BaseCompiler.cs: refactoring: moved the - CreateProfileProperty and InternalCreatePageProperty to - BaseCompiler from PageCompiler. - - * GlobalAsaxCompiler.cs: generate the Profile property for the - Global_asax class. - -2007-03-09 Marek Habersack <mhabersack@novell.com> - - * AppCodeCompiler.cs: Add the GetProfile method to the - ProfileCommon auto-generated class. - - * AppResourcesCompiler.cs: attempt to load the resource file - earlier in the process, to gracefully handle empty files. - - * ThemeDirectoryCompiler.cs: make compiled themes depend on the - .skin and .css files composing the theme. - -2007-03-05 Marek Habersack <mhabersack@novell.com> - - * PageThemeCompiler.cs: Use correct theme path for - AppRelativeTemplateSourceDirectory. - Do not process builders of type CodeRenderBuilder. - Make sure builder.ControlType is not null before depending on it. - - * ThemeDirectoryCompiler.cs: theme parser should be passed the - virtual directory of the theme. - -2007-03-03 Marek Habersack <mhabersack@novell.com> - - * PageCompiler.cs: Added support for setting the - MaintainScrollPositionOnPostBack property if the corresponding - page directive attribute is found. - - * Directive.cs: added the MaintainScrollPositionOnPostBack and - LinePragmas directives. - -2007-03-02 Marek Habersack <grendello@gmail.com> - - * AppCodeCompiler.cs: Correctly process App_Code directories which - have no compilable files in the top-level directory. Fixes bug - #80998. - Write preservation files for the App_Code assemblies. - -2007-03-01 Marek Habersack <grendello@gmail.com> - - * AspParser.cs: fix GetVerbatim for cases when the end is - e.g. --> or --%> and the string matched is ---> or ---%> - respectively. The new code always backs out to make sure the end is - matched correctly. - -2007-02-27 Marek Habersack <grendello@gmail.com> - - * TemplateControlCompiler.cs: ParseExpression returns an object, - don't assume any concrete type. - Use the current culture when converting the expression to a - string. - - * ConnectionStringsExpressionBuilder.cs: Implement support for - expressions of the <%$ ConnectionStrings:StringName %> form - -2007-02-19 Marek Habersack <grendello@gmail.com> - - * ResourceExpressionBuilder.cs: Do not prepend the .Resources prefix here - -2007-02-16 Marek Habersack <grendello@gmail.com> - - * CachingCompiler.cs, BaseCompiler.cs: Make sure that no assembly - is referenced twice by the compiler(s). - - * TemplateControlCompiler.cs: Fix the problem with cultures which - have a comma as their decimal separator and font/whatever - units. New code does not reparse the text representation of the - unit on the runtime (e.g. 0.9em) but instead it constructs the - property using the FontUnit/Unit constructors which take, - respectively, Unit and double/unittype parameters. This avoids - culture-specific parsing. - Also fix converting from invariant strings in a culture-aware - environment (e.g. in a page that uses Culture="auto") during the - page parsing phase. - -2007-02-12 Marek Habersack <grendello@gmail.com> - - * PreservationFile.cs: Support preservation (assembly mapping) - files (the ones with .compiled extension in the ASP.NET temporary - directory). This one implements a loader/saver class. - - * AppResourcesCompiler.cs: support for assembly name mapping. - - * AppCodeCompiler.cs: support for assembly name mapping. - -2007-02-08 Marek Habersack <grendello@gmail.com> - - * TemplateControlCompiler.cs: Fix TemplateSourceDirectory. - - * AspComponentFoundry.cs: Avoid duplicate control registration - exception. - - * ResourceExpressionBuilder.cs: Make sure all the global resources - are looked up using the "Resources." prefix. - - * AppResourcesCompiler.cs: Make sure all the global resources are - embedded with the "Resources." prefix. - -2007-02-02 Marek Habersack <grendello@gmail.com> - - * AspGenerator.cs: Move the cache insert code to a separate method, for - use from other places. - - * AspComponentFoundry.cs: Register controls mentioned in web.config, but - defer their compilation to the moment when they are actually requested. - -2007-01-22 Marek Habersack <grendello@gmail.com> - - * ThemeDirectoryCompiler.cs: Make sure the code works for empty themes. - -2007-01-20 Miguel de Icaza <miguel@novell.com> - - * ClientBuildManager.cs: Remove unused variable (this could be a - real problem, we never use the appPhysicalTargetDir) - - * AssemblyBuilder.cs: Remove unused field. - - * AppResourceFilesCollection.cs: Remove unused field. - - * TemplateControlCompiler.cs (GetExpressionFromString): Remove - unused variable. - - * AppResourcesCompiler.cs: Remove unused variable. - - * AppSettingsExpressionBuilder.cs (GetAppSetting): remove unused - parameter. - - * PageCompiler.cs: Put InternalCreatePageProperty inside the - NET_2_0 block to eliminate warnings. - -2007-01-20 Gert Driesen <drieseng@users.sourceforge.net> - - * BaseCompiler.cs: Fixed build on 1.0 profile. - -2007-01-20 Marek Habersack <grendello@gmail.com> - - * BaseCompiler.cs: If the control base type is in the root - namespace, make sure global:: is prepended to it. - - * TemplateControlCompiler.cs: AutoHandlers is obsolete in 2.0, - mark it as such in the generated code as well. - - * AppCodeCompiler.cs: Include debug information if configured in - web.config. Fixes bug #80096. - -2007-01-17 Marek Habersack <grendello@gmail.com> - - * AppCodeCompiler.cs: Reference toplevel assemblies (at this stage - App_GlobalResources) when compiling App_Code sources. - - * CachingCompiler.cs: Reference toplevel assemblies when compiling - e.g. Global.asax - - * AppResourcesCompiler.cs: Close the streams properly. - - * AspGenerator.cs: Don't ignore thead/tbody anymore. - -2007-01-15 Marek Habersack <grendello@gmail.com> - - * WsdlBuildProvider.cs: New build provider for WSDL files. - Compile only when System.Web.Services are present. - - * TemplateControlCompiler.cs: Forgotten in the previous commit - - don't pass the current culture to GetLocalResourceObject, let the - method figure it out on its own. - -2007-01-05 Marek Habersack <grendello@gmail.com> - - * AppResourceFilesCollection.cs: new class to keep and manage - collection of resource files for the App_{Global,Local}Resources - folders. - - * TemplateControlCompiler.cs: rely on - HttpContext.GetLocalResourceObject to select the correct culture. - - * AppResourceFileInfo.cs: new class for keeping resource files - information. - - * AppResourcesCompiler.cs: new implementation. - -2006-12-20 Marek Habersack <grendello@gmail.com> - - * AssemblyBuilder.cs: add an internal version of the - AddCodeCompileUnit method. - - * AppCodeCompiler.cs: implement support for ProfileCommon - generation from properties named in the <profile> element in - Web.config. - - * PageCompiler.cs: create the Profile property in 2.0 code. - -2006-12-12 Vladimir Krasnov <vladimirk@mainsoft.com> - - * ThemeDirectoryCompiler.jvm.cs: fixed virtual path for themes - -2006-12-10 Igor Zelmanovich <igorz@mainsoft.com> - - * ThemeDirectoryCompiler.cs: refactoring. - -2006-11-28 Marek Habersack <grendello@gmail.com> - - * BuildManager.cs: Add an internal property to signal whether or - not we have any resources from App_{Global,Local}Resources - - * AspGenerator.cs: Register controls from - system.web/pages/controls collection before parsing. - - * AppResourcesCompiler.cs: Let the build process know if we have - compiled any resources from App_{Global,Local}Resources - -2006-11-27 Marek Habersack <grendello@gmail.com> - - * CachingCompiler.cs: Automatically reference App_Code - assemblies. - - * AppCodeCompiler.cs: Add ~/bin/*.dll to the referenced assemblies - when compiling. - -2006-11-25 Marek Habersack <grendello@gmail.com> - - * AppResourcesCompiler.cs: small optimizations. - - * AppResourceFilesCompiler.cs: small optimizations. - -2006-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * WebServiceCompiler.cs: add the type to the cache after getting it - from the compiled assembly. - -2006-11-20 Marek Habersack <grendello@gmail.com> - - * AppCodeCompiler.cs: Reference assemblies listed in - system.web/compilation/assemblies. - Don't create empty assemblies. - -2006-11-19 Igor Zelmanovich <igorz@mainsoft.com> - - * TemplateControlCompiler.cs: fixed: - When <%# Bind(...) %>-expression is used more then once for same control - The variable associated with this control is declared only once. - -2006-11-18 Marek Habersack <grendello@gmail.com> - - * AppResourceFilesCompiler.cs: Fixed an exception thrown when - files with names like File.resources or File.resx are found in the - resource directories. - -2006-11-16 Marek Habersack <grendello@gmail.com> - - * ForceCopyBuildProvider.cs: Added the build provider for - copy-only files. - - * MasterPageBuildProvider.cs: Added the build provider for Master - Pages. - - * IgnoreFileBuildProvider.cs: Make the class sealed. - - * AppCodeCompiler.cs: Fixed BuildProvider creation for a path. Now - correctly uses the BuildProviderCollection to retrieve the - appropriate builder and maps the physical input file path into - application relative path when setting the virtual path of the - build provider. - -2006-11-13 Marek Habersack <grendello@gmail.com> - - * AssemblyBuilder.cs: Added referenced assemblies support. Added a - constructor with just the CodeDomProvider argument. CreateCodeFile - now uses the code provider's file extension. Added internal method - to add pre-generated source code files. Added a BuildAssembly - overload that takes no virtual path as the - parameter. BuildAssembly now uses an array of source files instead - of compile units and also handles embedded resources and - referenced assemblies. BuildAssembly deletes the temporary files - if MONO_ASPNET_NODELET isn't set in the environment. - - * AppCodeCompiler.cs: Use the FileUtils methods for temporary file - creation. Use the build providers collection to build unknown - files in App_Code. Use AssemblyBuilder to compile the assembly. - - * AppResourceFilesCompiler.cs: Use the FileUtils methods for - temporary file creation. - - * WebHandlerBuildProvider.cs: Added the BuildProviderAppliesTo - attribute. - - * UserControlBuildProvider.cs: Added the BuildProviderAppliesTo - attribute. - - * PageBuildProvider.cs: Added the BuildProviderAppliesTo - attribute. - - * WebServiceBuildProvider.cs: Added the BuildProviderAppliesTo - attribute. - - * IgnoreFileBuildProvider.cs: Added the BuildProviderAppliesTo - attribute. - -2006-11-08 Marek Habersack <grendello@gmail.com> - - * BuildProvider.cs: Implemented the GetCustomString - method. Removed the necessity to retrieve the CompilationSection - twice when GetDefaultCompilerType is called. - - * AppResourcesCompiler.cs: Added resource compiler results - handling. - - * AppCodeCompiler.cs: The App_Code compiler classes - - * BuildManager.cs: Implement the CodeAssemblies property. - Added an internal TopLevelTypes property to be used in the custom - GetType methods. Implemented the GetCompiledCustomString method. - Implemented the GetType method overloads. Implemented the - GetVirtualPathDependencies method. - - * BaseCompiler.cs: Reference the assemblies from App_Code, if any - -2006-10-18 Marek Habersack <grendello@gmail.com> - - * TemplateControlCompiler.cs: add support for resource - expressions in tag attributes. - - * ResourceExpressionBuilder.cs: add support for resource - expressions in tag attributes. - - * BaseCompiler.cs: add global/local resource assemblies to - compilation references, if present. - - * AppResourcesCompiler.cs: global/local resources compiler. - - * AppResourceFilesCompiler.cs: compiler of resource files. - -2006-10-03 Igor Zelmanovich <igorz@mainsoft.com> - - * TemplateControlCompiler.cs: fixed: Bind functions (Data-Binding Syntax). - At run time, the Bind method calls the Eval method, if there is DataItem - != null to bind to. - If there is DataItem == null (like InsertItemTemplate in FormView) Bind - method don't raise exception and works properly to extract data from - bounded controls on postback. - -2006-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: if we are tracking non-server tags for - well-formedness, handle tags that do not need to be closed (br, img,...) - Fixes bug #79437. - -2006-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * PageCompiler.cs: support the EnableEventValidation attribute. - -2006-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: after parsing an include file, don't error out if we - still have opened tags unless this was the last file to parse. Fixes - bug #79318. - -2006-09-05 Konstantin Triger <kostat@mainsoft.com> - - * ParseException.cs: Ensure the source file stream is closed. - -2006-08-25 Kornél Pál <kornelpal@gmail.com> - - * AppSettingsExpressionBuilder.cs: Use assembly name constants. - * ConnectionStringsExpressionBuilder.cs: Use name reference - constants. - * ResourceExpressionBuilder.cs: Use assembly name constants. - -2006-08-20 Vladimir Krasnov <vladimirk@mainsoft.com> - - * ThemeDirectoryCompiler.jvm.cs: implemented GetCompiledInstance - -2006-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * ClientBuildManager.cs: handle domain shutdown and unload. - Implemented some properties. Commented. - -2006-08-10 Andrew Skiba <andrews@mainsoft.com> - - * ThemeDirectoryCompiler.cs: render css path as a virtual path. - -2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com> - - * added ThemeDirectoryCompiler.jvm.cs - -2006-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * PageThemeCompiler.cs: Don't generate a 'Items.Clear ()' call if - the property Items does not exist. Patch by Marek Habersack that fixes - bug #78971. - -2006-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: support assigning nullable types. - Patch by Marek Habersack that fixes bug #78970. - -2006-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: make password work again. - -2006-06-21 Juraj Skripsky <js@hotfeet.ch> - - * AspTokenizer.cs (ReadAttValue), AspParser.cs (GetAttributes): - MS.NET handles nested quotes differently for server controls and - for "normal" controls. Add a property "AlternatingQuotes" to the - tokenizer and let the parser decide whether it is well-formed or not. - -2006-06-20 Andrew Skiba <andrews@mainsoft.com> - - * PageThemeCompiler.cs, TemplateControlCompiler.cs: take care of - UrlPropertyAttribute. - -2006-06-18 Andrew Skiba <andrews@mainsoft.com> - - * TemplateControlCompiler.cs: check IsWritablePropertyOrField before - generating code for assignment statement and DataBind event. - -2006-06-15 Juraj Skripsky <js@hotfeet.ch> - - * AspTokenizer.cs (ReadAttValue), AspParser.cs (GetAttributes): - Don't allow an attribute value to contain the same quote characters - as the ones used for delimiting the value itself. Add a token - NOTWELLFORMED to signal that case to AspParser. Fixes bug #78643. - -2006-06-08 Konstantin Triger <kostat@mainsoft.com> - - * ThemeDirectoryCompiler.cs: use physical path instead of virtual path. - -2006-04-24 Andrew Skiba <andrews@mainsoft.com> - - * ThemeDirectoryCompiler.cs: use UrlUtils.Combine to combine pathes - -2006-04-23 Andrew Skiba <andrews@mainsoft.com> - - * PageThemeCompiler.cs: initialize __linkedStyleSheets field with the - array of style sheets from the parser - * ThemeDirectoryCompiler.cs: scan *.css files in theme directory and - put them in LinkedStyleSheets of PageThemeParser - -2006-04-20 Chris Toshok <toshok@ximian.com> - - * BaseCompiler.cs: for 2.0, emit the correct namespace and class - names in the case where you use "NS.ClassName" in the Inherits - attribute. Fixes bug #78135. - -2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * CachingCompiler.cs: no need to play the Wait/PulseAll game, as we - already acquired the lock even when we might have not created the 'key' - to the compilation ticket. - -2006-04-16 Andrew Skiba <andrews@mainsoft.com> - - * ThemeDirectoryCompiler.cs: add to the directory parser all the - assemblies found by PageThemeFileParsers - -2006-04-12 Lluis Sanchez Gual <lluis@novell.com> - - * TemplateControlCompiler.cs: Properly read all content of - string properties. - -2006-04-11 Andrew Skiba <andrews@mainsoft.com> - - * TemplateControlCompiler.cs : fix for partial parsers - -2006-04-11 Andrew Skiba <andrews@mainsoft.com> - - * ThemeDirectoryCompiler.cs : map the virtual path to the physical - path - -2006-04-08 Miguel de Icaza <miguel@novell.com> - - * TemplateControlCompiler.cs: An attempt to fix the regression - introduced in r58505 (a bug fix for 77762). This was reported in - the mailing list with a batch of new 2.0 failures. - - We really need a test suite in NUnit to check on ASP.NET aspx - changes. - -2006-03-27 Robert Jordan <robertj@gmx.net> - - * CachingCompiler.cs: change the compilation locking scheme - from "one mcs per process" to "one mcs per file". - -2006-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * System.Web.Compilation/TemplateControlCompiler.cs: handle the new - StringPropertyBuilder. - -2006-03-24 Chris Toshok <toshok@ximian.com> - - * BaseCompiler.cs (GetCompiledType): fall back to CodeDomProvider - if system.web/compilation doesn't list a compiler for our - language. - -2006-03-13 Chris Toshok <toshok@ximian.com> - - * TemplateControlCompiler.cs (InitMethod): when generating the - call to ApplyStyleSheetSkin, don't just blindly pass "this" as the - argument to it. Only do that if the class we're compiling is - actually a subclass of Page. If it's not, pass this.Page. - -2006-03-07 Chris Toshok <toshok@ximian.com> - - * AspGenerator.cs: refactor the parsing code so that we can - initiate parsing from outside this class. - - * PageCompiler.cs (PrependStatementsToFrameworkInitialize): new - method, add our StyleSheetTheme assignment here. - (AppendStatementsToFrameworkInitialize): rename AddStatements* to - this. - - * TemplateControlCompiler.cs (EnsureID): make protected. - (CreateAssignStatementsFromAttributes): same - (AddChildCall): same. - (CreateControlTree): same. - (CreateFrameworkInitializeMethod): change - "AddStatementsToFrameworkInitialize" to - "AppendStatementsToFrameworkInitialize", and add call to - "PrependStatementsToFrameworkInitialize" before the generation of - "base.FrameworkInitialize()." - - * PageThemeCompiler.cs (CreateControlSkinMethod): remove spew. - -2006-03-07 Chris Toshok <toshok@ximian.com> - - * ThemeDirectoryCompiler.cs: new file. - - * PageThemeCompiler.cs: new file. - -2006-03-07 Chris Toshok <toshok@ximian.com> - - * BaseCompiler.cs: fix typo in "initialize" in multiple places. - (Init): move the CreateMethods call here. - -2006-03-02 Chris Toshok <toshok@ximian.com> - - * TemplateControlCompiler.cs (InitMethod): emit an assignment for - SkinID just after the creation of our object, and right after that - call "_ctrl.ApplyStyleSheetSkin (page)". - (CreateAssignStatementsFromAttributes): split out the majority of - this code to CreateAssignStatementFromAttribute, and change this - method to simply a loop over the attribute keys. In the 2.0 case, - skip the SkinID property, since that's handled explicitly in - InitMethod. - - * PageCompiler.cs (AddStatementsToInitMethod): emit assignments - for Theme and StyleSheetTheme. - -2006-02-23 Chris Toshok <toshok@ximian.com> - - * TemplateControlCompiler.cs (AddContentTemplateInvocation): track - change from ContentControlBuilderInternal to - ContentBuilderInternal. - (AddCodeRender): same. - -2006-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AssemblyBuilder.cs: - * BuildManager.cs: compile the assembly from AssemblyBuilder and use - GetGeneratedType() on the BuildProvider instead of loading the assembly - and trying a wild guess at the type name. - -2006-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * GlobalAsaxCompiler.cs: - * PageCompiler.cs: - * TemplateControlCompiler.cs: CreateMethods is now internal. - - * WebServiceBuildProvider.cs: - * PageBuildProvider.cs: - * UserControlBuildProvider.cs: - * WebHandlerBuildProvider.cs: new build providers. - - * BuildProvider.cs: add assemblies. - - * BaseCompiler.cs: expose the provider and the compile unit through - properties. - -2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * CompilerType.cs: implemented. - - * AssemblyBuilder.cs: implemented most of it. - - * WebServiceCompiler.cs: - * CachingCompiler.cs: update 2.0 compiler instance creation code. - - * ClientBuildManager.cs: implemented some of its methods. Not yet - ready. - - * BuildManager.cs: the more interesting methods are implemented now. - - * BaseCompiler.cs: delete the temporary files in case of error. - - * BuildProvider.cs: implemented the Get*Compiler* protected methods. - -2006-02-07 Chris Toshok <toshok@ximian.com> - - * TemplateControlCompiler.cs (AddParsedSubObjectStmt): append the - calls to AddParsedSubObject to a special statement collection -- - builder.flushOutputStatements -- not to builder.method.Statements. - (InitMethod): initially, set flushOutputStatements to - method.Statements. If we're dealing with a ContentPlaceHolder, - set flushOutputStatements to be the else block of a conditional we - create. This causes the compiled control to fall back to the - ContentPlaceHolder's child controls in case there's no - corresponding Content template. - (AddChildCall): use methodStatements instead of method.Statements. - (CreateControlTree): same. - - * PageCompiler.cs (CreatePropertyAssign): factor out the - string,string implementation and add one that also takes a - CodeExpression; make the string,string implementation call the - three arg one with thisRef. - (AddStatementsToInitMethod): make use of the 3-arg form of - CreatePropertyAssign to reduce code. Also, add support for - setting the page's Title from the parser's Title. - -2006-02-07 Chris Toshok <toshok@ximian.com> - - * UserControlCompiler.cs (AddStatementsToInitMethod): emit code to - assign __ctrl.MasterPageFile to our master page, if we have one. - - * PageCompiler.cs (CreateContructor): remove the MasterPageFile - assignment from here. - (AddStatementsToInitMethod): and move it here. - - * TemplateControlCompiler.cs (InitMethod): in the case where - builder is a RootBuilder (we're building the __BuildControlTree - method), call a virtual method so that subclasses can add their - own statements to the method (used by both Page and MasterPage); - Also, in the RootBuilder case, the argument should be the - parser.ClassName type (the class we're building); lastly, expand - the ContentPlaceHolder logic to include all the - ContentTemplates/InstantiateIn magic. - (AddStatementsToInitMethod): empty virtual method. - (AddContentTemplateInvocation): ContentControlBuilder -> - ContentControlBuilderInternal. - (CreateControlTree): same. - (CallBaseFrameworkInitialize): new function, create call to - base.FrameworkInitialize. - (CreateFrameworkInitializeMethod): call CallBaseFrameworkIniitialize. - -2006-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * IgnoreFileBuildProvider.cs: it's not public. - * BuildProvider.cs: mostly implemented. - -2006-02-01 Chris Toshok <toshok@ximian.com> - - * WebServiceCompiler.cs: CONFIGURATION_2_0 => NET_2_0, and use - GetSection instead of GetWebApplicationSection. - - * CachingCompiler.cs: same. - - * AspGenerator.cs: same. - - * BaseCompiler.cs: same. - -2006-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: ignore 'thead'. Fixes bug #77326. - -2006-01-22 Chris Toshok <toshok@ximian.com> - - * IgnoreFileBuildProvider.cs: build provider which does nothing. - -2006-01-22 Chris Toshok <toshok@ximian.com> - - * AspComponentFoundry.cs (.ctor): use a 2.0 friendly form of the - Hashtable ctor to silence a couple of warning. - (CompoundFoundry.ctor): same - - * Directive.cs (InitHash): use a 2.0 friendly form of the - Hashtable ctor to silence a couple of warning. - - * TagAttributes.cs (MakeHash): use a 2.0 friendly form of the - Hashtable ctor to silence a warning. - (GetDictionary): same. - -2006-01-22 Chris Toshok <toshok@ximian.com> - - * AppSettingsExpressionBuilder.cs: implement this, patterning it - after an example on msdn. Also, enable the ExpressionEditor - attribute, but use the string rather than the Type overload so we - won't have yet another circular dep. - - * ConnectionStringsExpressionBuilder.cs: partial implementation. - Same deal with the ExpressionEditor attribute. - - * ResourceExpressionBuilder.cs: same deal with the - ExpressionEditor attribute. - -2006-01-20 Chris Toshok <toshok@ximian.com> - - * ResourceExpressionBuilder.cs (ParseExpression): implement. - - * ResourceExpressionFields.cs: implement. - -2006-01-20 Chris Toshok <toshok@ximian.com> - - * ClientBuildManagerParameter.cs: implement. - - * ClientBuildManagerCallback.cs: this class contains an empty - default implementation. - -2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: add support for 'src' in <script runat="server">. - Fixes bug #77150. - -2006-01-04 Chris Toshok <toshok@ximian.com> - - * WebServiceCompiler.cs (GetCompiledType): add CONFIGURATION_2_0 - code. - - * AspGenerator.cs (CheckLanguage): add CONFIGURATION_2_0 code. - -2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: fix yesterday's fix. - -2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: only do special processing for <script> if it has - the runat="server" attribute. Fixes bug #76918. - -2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: treat LightGrey as a synonym of LightGray. - Fixes bug #76677. - -2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: handle data bound attributes for html - controls. Fixes bug #76785. - -2005-11-28 Chris Toshok <toshok@ximian.com> - - * CachingCompiler.cs (Compile): CONFIGURATION_2_0 work. - - * BaseCompiler.cs (GetCompiledType): CONFIGURATION_2_0 work. - -2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * WebServiceCompiler.cs: fixed caching for web handlers. - -2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspParser.cs: don't change case for verbatim IDs. - Fixes bug #76657. - -2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspParser.cs: when processing verbatim input, throw if we reach EOF - before the expected end of the data. - -2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * CachingCompiler.cs: - * WebServiceCompiler.cs: when caching a type loaded from an assembly - that we didn't compile, make it depend on the file itself, not on a - non-existing cache key. This problem affected performance of web - services and .ashx, making unnecessary extra calls to LoadFrom every - time the cache was cleared. - -2005-09-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: set the domain's DynamicBase property instead of - guessing it in BaseCompiler. - -2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * WebServiceCompiler.cs: apply the same fix as in r45440 that fixed bug - 75146 for pages/controls. - -2005-08-09 Miguel de Icaza <miguel@novell.com> - - * WebServiceCompiler.cs: Use the new DynamicDir method. - - * BaseCompiler.cs: Use the DynamicBase property as a hint, but - since this value is null most of the time, compute the real value. - - Added Bonus: if the directory has some kind of permission problem, - try a different directory name. - -2005-07-13 Miguel de Icaza <miguel@novell.com> - - * AspGenerator.cs (AspGenerator.CheckLanguage): Use - BaseParser.Context for the context. - -2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TagAttributes.cs: - * AspParser.cs: - * TemplateControlCompiler.cs: use invariant culture versions of starts/ - endswith. - -2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: comparison between member name and the - first part of the id provided by the user should also be - case-insensitive. Fixes bug #75379. - -2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * CachingCompiler.cs: use cache.InsertPrivate. - * AspGenerator.cs: use cache.InsertPrivate. Removed extra call to - AddDependency. - -2005-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * CachingCompiler.cs: create the assemly in the DynamicBase directory, - as all the others, when compiling an assembly from a Src file. Fixes - bug #75371. - -2005-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: if the property is not found, don't forget - about trying the field. - -2005-06-13 Lluis Sanchez Gual <lluis@novell.com> - - * Directive.cs: Register the MasterType directive. - * PageCompiler.cs: If a MasterType is specified, add a type specific - Master property. All this fixes bug #75192. - -2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: when mapping an attribute name to a field - or property name, there's no need to try with every property and field, - but just the one found when searching by name (no case). There was one - call to ProcessPropertiesAndFields per property or field until found, - now only one if the property/field is found, none otherwise. - -2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: allow more than 2 levels when looking for - properties of fields for an attribute like "Prop1-Prop2-Prop3". Fixes - bug #75234. - -2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: when the OutputAssembly is null, we can still have - the assembly file there and be able to load it. Thanks to Rogerio and - Mark. - -2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspParser.cs: InvariantCulture love. - -2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: use the Page AddContentTemplate method, - as the one in Master is protected. Fixes bug #75157. - -2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspComponentFoundry.cs: tagnames have precedence over types in - assemblies when they use the same prefix. Fixes bug #71855. - -2005-05-03 Lluis Sanchez Gual <lluis@novell.com> - - * WebServiceCompiler.cs: Create the temp directory before - creating the web service source code file. - -2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: when checking languages, try to match other aliases - too (ie, 'cs' == 'c#'). - -2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: check that DynamicBase directory exists before - creating the TempFileCollection. - -2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: use a stack for non-server tags even before getting - to a form. Fixes bug #70274. - -2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspParser.cs: don't error out on ill formed tags if it's not a server - tag (ie, allow something like '<table align="left cellpadding="0">' to - work, as MS does. Fixes bug #67909. - -2005-04-20 Rafael Teixeira <rafaelteixeirabr@hotmail.com> - * BaseCompiler.cs: do the bridge of Explicit/Strict attributes from - @Page/@Control directives to CodeDOM (VB.NET support) - -2005-04-19 Lluis Sanchez Gual <lluis@novell.com> - - * AspParser.cs: Fixed parsing of data binding tags in server - tag attributes. Allow <%...%> blocks not assigned to - attributes in client tags. - * TagAttributes.cs: Make sure that data binding blocks in server - tags are always assigned to attributes. - -2005-04-15 Lluis Sanchez Gual <lluis@novell.com> - - * TemplateControlCompiler.cs: Implemented support for two-way - binding. - -2005-04-14 Lluis Sanchez Gual <lluis@novell.com> - - * TemplateControlCompiler.cs: Use the new BindingContainerType - property to find the type of the binding container. - -2005-04-07 Lluis Sanchez Gual <lluis@novell.com> - - * TemplateControlCompiler.cs: Avoid using the GetConverter() trick - for primitive types. Parse an empty color string as Color.Empty. - Get the converter for a property using its PropertyDescriptor. - -2005-04-05 Lluis Sanchez Gual <lluis@novell.com> - - * TemplateControlCompiler.cs: Don't autogenerate IDs for - controls inside Content template. - -2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: make typedesc.aspx work again. - -2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * ExpressionBuilderContext.cs: - * ExpressionBuilder.cs: implemented. - -2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: don't fail on <tbody runat=server>. Fixes bug #71856. - -2005-01-28 Lluis Sanchez Gual <lluis@novell.com> - - * TemplateControlCompiler.cs: When generating a property value, - check for TypeConverterAttribute in the PropertyInfo, not only in the - property type. - Implemented code generation using InstanceDescriptor, when the type - converter supports conversion to that type. - -2005-01-21 Lluis Sanchez Gual <lluis@novell.com> - - * Directive.cs: Added MASTER directive. - * AspGenerator.cs: Use UserControlCompiler for compiling master pages. - * PageCompiler.cs: Set the master file name when generating the page. - * TemplateControlCompiler.cs: When generating the method for a - content holder, register the content holder in the base MasterPage. - Added method for registering a Content control for a MasterPage. - Generate code for Content controls. - -2005-01-10 Lluis Sanchez Gual <lluis@novell.com> - - * TemplateControlCompiler.cs: Get the container type from the - template (if it was defined using TemplateContainerAttribute. - -2004-10-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: correctly process script tags that self-closing. - Fixes bug #69657. - -2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * CachingCompiler.cs: when compiling a single .cs file, add the file - itself to dependencies. Fixes bug #68788. - -2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * ControlBuilder.cs: don't close server tags when we get to a closing - tag that is not applied to a server control. Fixes bug #60323. - -2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * WebServiceCompiler.cs: fix buglet in my last commit. - -2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: - * CachingCompiler.cs: - * WebServiceCompiler.cs: correctly cache Type instead of the assembly - for ashx/asmx. Otherwise we need to open the file and check for the - class name in there. Thanks to Ben for pointing this out. - -2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspParser.cs: - * AspTokenizer.cs: prevent quotes from being swallowed when we're - inside a server tag and they are the next non-whitespace character. - Fixes bug #63451. - -2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * CachingCompiler.cs: don't try to watch for changes in system - assemblies. Fixes bug #64871. - -2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: handle builders that need to process inner text - with tags. - - * Location.cs: added setters for the properties. - -2004-08-02 Duncan Mak <duncan@ximian.com> - - * BuildProviderResultFlags.cs: - * IImplicitResourceProvider.cs: - * ImplicitResourceKey.cs: - * IResourceReader.cs: Added. - -2004-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: the path for file was treated as virtual, but it's - physical. Fixes bug #61524. - -2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspParser.cs: fixed case-sensitivity issues with #include and its - attributes. Closes #61429. - -2004-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: - * WebServiceCompiler.cs: really create the dlls under DynamicBase - -2004-06-19 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: for system colors, use SystemColors class - instead of Color. Fixes bug #60249. - -2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: try getting the Type from the cache before doing the - real work. Remove temporary files right after successful compilation. - - * CachingCompiler.cs: added GetTypeFromCache. - - * UserControlCompiler.cs: nothing interesting. - - * WebServiceCompiler.cs: try getting the Type from the cache before - doing anything else. Remove temp files on sucessful compilation. - -2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: - * CachingCompiler.cs: use a different prefix when caching compiler - results or Types. - -2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: dynamicBase is now protected. Check - MONO_ASPNET_NODELETE here. - - * TemplateControlCompiler.cs: if the type is not known but has a - TypeConverter, invoke ConvertFromString in the generated code. - - * WebServiceCompiler.cs: it used a hardcoded C# compiler, now it gets - the compiler from the configuration. Also handle MONO_ASPNET_NODELETE. - - * CachingCompiler.cs: updated compilation of web services and simple - web handlers. - -2004-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * CSCompiler.cs: removed. - - * CachingCompiler.cs: language independent compilation for single files. - -2004-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: - * WebServiceCompiler.cs: adapted to the 'new' CachingCompiler. - * CachingCompiler.cs: use HttpRuntime.Cache. - -2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * PageCompiler.cs: fixed Trace and add support for Buffer. - -2004-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * PageCompiler.cs: override CreateConstructor to add assignment for - ClientTarget. - -2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: use CodeDelegateCreateExpression instead - of CodeObjectCreateExpression for the render method delegate. Thanks - to Jochen Wezel. - -2004-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * BaseCompiler.cs: use DynamicBase for the output assemblies. - -2004-05-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: ObjectTagBuilder do not override HasBody now. - -2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspParser.cs: indent a few lines. - * AspTokenizer.cs: added ungetc() used when we read a '/' in an unquoted - attribute value. This way we can simulate reading 2 characters ahead - (one in ungetc and the other in Peek) and work with values like - text/javascript. Fixes bug #57302. - -2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspParser.cs: ignore whitespace after directives. Fixes bug #58057. - -2004-04-02 Lluis Sanchez Gual <lluis@ximian.com> - - * TemplateControlCompiler.cs: Fixed build for net_1_0 profile. - -2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * GlobalAsaxCompiler.cs: removed Imports and Assemblies properties. - -2004-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: error out when <object> server tag is not closed. - Ignore any content inside it. - -2004-02-10 Jackson Harper <jackson@ximian.com> - - * AspTokenizer.cs: Collect discarded characters that might be used - in client side scripts. Patch by Liyu Liu. - * AspParser.cs: Add discarded characters. Patch by Liyu Liu. - -2004-02-10 Jackson Harper <jackson@ximian.com> - - * BaseCompiler.cs: Use the TempDirectory for compilation. Fixes - bug #54117. - -2004-01-30 Jackson Harper <jackson@ximian.com> - - * TemplateControlCompiler.cs: Call ToString on the types hashcode, - the build method takes strings not ints. - -2004-01-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: handle more possible errors in global.asax file. - - * BaseCompiler.cs: added utility methods for creating <object> related - properties and fields. - - * GlobalAsaxCompiler.cs: keep around applications and session scope - objects builders. Also a list of imports and assemblies added in - global.asax. - - * TemplateControlCompiler.cs: use base class methods for <object> stuff. - -2004-01-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: use the Cache to store compiled Types. Don't parse - pages more than once. Thanks to Eric Lindvall for pointing this out. - -2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * TemplateControlCompiler.cs: allow handling subproperties for other - types than Style and Font. Fixes bug #53217. - -2004-01-16 Jackson Harper <jackson@ximian.com> - - * TagAttribute.cs: attributes can be stored as encoded html so we - decode them here. - -2004-01-14 Jackson Harper <jackson@ximian.com> - - * TemplateControlCompiler.cs: Is a user control is cached and - shared use the controls type hashcode for the GUID so it will be - the same across instances. - -2004-01-13 Jackson Harper <jackson@ximian.com> - - * TemplateControlCompiler.cs: If an item has the partial caching - attribute build a PartialCachingControl in the parents __Build method. - * BaseCompiler.cs: Add a method for adding class attributes to the - class. - * UserControlCompiler.cs: If caching is enabled on a user control - add the PartialCachingAttribute to it. - -2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * PageCompiler.cs: invoke Request.ValidateInput if required. - -2004-01-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: don't rely on GC to close the files parsed. Fixes bug - #52521. Patch by liyul@hotmail.com. - -2003-12-25 Jackson Harper <jackson@ximian.com> - - * AspGenerator.cs: Allow scriptlets in javascript. This fixes bug - #52522. - -2003-12-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * PageCompiler.cs: assign the ErrorPage property if provided. - -2003-12-15 Jackson Harper <jackson@ximian.com> - - * PageCompiler.cs: Add Trace and TraceMode to framework initialize - method if they are set. - -2003-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: ignore <tbody> when we're inside a server table and - fail when runat="server" is applied to <tbody> with a parse error - instead of waiting for a compilation error. Fixes bug #52157. - -2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspGenerator.cs: basic checking of ID validity. Throw a - ParseException when mixing languages. - -2003-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * PageCompiler.cs: assign LCID, Culture and/or UICulture in - FrameworInitialize() if provided in @Page. - - Fixes bug #51511. - -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. - * AspGenerator.cs: New file. - -2002-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspComponentFoundry.cs: New file. - * AspElements.cs: renamed Component to Aspcomponent. - -2002-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * AspElements.cs: - * AspParser.cs: - * AspTokenizer.cs: - * ChangeLog: - * PageCompiler.cs: - * TemplateFactory.cs: first steps to move xsp into System.Web. - |