2006-04-23 Andrew Skiba * 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 * 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 * 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 * ThemeDirectoryCompiler.cs: add to the directory parser all the assemblies found by PageThemeFileParsers 2006-04-12 Lluis Sanchez Gual * TemplateControlCompiler.cs: Properly read all content of string properties. 2006-04-11 Andrew Skiba * TemplateControlCompiler.cs : fix for partial parsers 2006-04-11 Andrew Skiba * ThemeDirectoryCompiler.cs : map the virtual path to the physical path 2006-04-08 Miguel de Icaza * 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 * CachingCompiler.cs: change the compilation locking scheme from "one mcs per process" to "one mcs per file". 2006-03-24 Gonzalo Paniagua Javier * System.Web.Compilation/TemplateControlCompiler.cs: handle the new StringPropertyBuilder. 2006-03-24 Chris Toshok * BaseCompiler.cs (GetCompiledType): fall back to CodeDomProvider if system.web/compilation doesn't list a compiler for our language. 2006-03-13 Chris Toshok * 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 * 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 * ThemeDirectoryCompiler.cs: new file. * PageThemeCompiler.cs: new file. 2006-03-07 Chris Toshok * BaseCompiler.cs: fix typo in "initialize" in multiple places. (Init): move the CreateMethods call here. 2006-03-02 Chris Toshok * 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 * TemplateControlCompiler.cs (AddContentTemplateInvocation): track change from ContentControlBuilderInternal to ContentBuilderInternal. (AddCodeRender): same. 2006-02-16 Gonzalo Paniagua Javier * 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 * 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 * 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 * 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 * 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 * IgnoreFileBuildProvider.cs: it's not public. * BuildProvider.cs: mostly implemented. 2006-02-01 Chris Toshok * 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 * AspGenerator.cs: ignore 'thead'. Fixes bug #77326. 2006-01-22 Chris Toshok * IgnoreFileBuildProvider.cs: build provider which does nothing. 2006-01-22 Chris Toshok * 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 * 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 * ResourceExpressionBuilder.cs (ParseExpression): implement. * ResourceExpressionFields.cs: implement. 2006-01-20 Chris Toshok * ClientBuildManagerParameter.cs: implement. * ClientBuildManagerCallback.cs: this class contains an empty default implementation. 2006-01-10 Gonzalo Paniagua Javier * AspGenerator.cs: add support for 'src' in