1 2007-03-13 Marek Habersack <mhabersack@novell.com>
3 * AspParser.cs: fix an off-by-one parsing bug with server-side
6 * PageThemeCompiler.cs: let property builders through, stop the
7 builders that have no control type. Fixes bug #81092
9 * PageCompiler.cs: interfaces are to be implemented by the parent
10 partial class, not the generated one.
12 * AppResourceFilesCollection.cs: added separate constructor for
13 local resources handling.
15 * TemplateControlCompiler.cs: request the local resource object
16 with proper virtual path.
17 Put field declarations for controls in the partial class.
18 Make sure builders are in valid state before trying to use them.
20 * BaseCompiler.cs: added code to assing AppRelativeVirtualPath
21 property in the page/control constructor.
22 Change the generated code model for pages/controls to comply with
23 the way MS.NET does (partial class contains only two properties
24 plus declarations of all the controls, the actual control/page
25 class inherits from the partial class). Fixes bug #81001.
27 * AppResourcesCompiler.cs: does not require specifying manually
28 whether it's a global or local resource compiler anymore. New
29 constructors take care of that.
30 Changed to compile local resources on demand, when a control/page
33 2007-03-12 Marek Habersack <mhabersack@novell.com>
35 * AspParser.cs: revert r73587 as it breaks more than it fixes.
37 * AspComponentFoundry.cs: try to register foundries from App_Code
38 assemblies if tag prefix and its namespace are defined. Fixes bug
41 * BuildManager.cs, BaseCompiler.cs: CodeAssemblies is a collection
42 of Assembly instances, not strings.
44 * CachingCompiler.cs: make sure items in the CodeAssemblies and
45 TopLevelAssemblies are really instances of the Assembly class
46 before trying to use them.
47 CodeAssemblies is a collection of Assembly instances, not
50 * AppCodeCompiler.cs: on MS.NET CodeAssemblies is a collection of
51 assemblies, not paths to assemblies.
53 2007-03-10 Marek Habersack <mhabersack@novell.com>
55 * PageCompiler.cs, BaseCompiler.cs: refactoring: moved the
56 CreateProfileProperty and InternalCreatePageProperty to
57 BaseCompiler from PageCompiler.
59 * GlobalAsaxCompiler.cs: generate the Profile property for the
62 2007-03-09 Marek Habersack <mhabersack@novell.com>
64 * AppCodeCompiler.cs: Add the GetProfile method to the
65 ProfileCommon auto-generated class.
67 * AppResourcesCompiler.cs: attempt to load the resource file
68 earlier in the process, to gracefully handle empty files.
70 * ThemeDirectoryCompiler.cs: make compiled themes depend on the
71 .skin and .css files composing the theme.
73 2007-03-05 Marek Habersack <mhabersack@novell.com>
75 * PageThemeCompiler.cs: Use correct theme path for
76 AppRelativeTemplateSourceDirectory.
77 Do not process builders of type CodeRenderBuilder.
78 Make sure builder.ControlType is not null before depending on it.
80 * ThemeDirectoryCompiler.cs: theme parser should be passed the
81 virtual directory of the theme.
83 2007-03-03 Marek Habersack <mhabersack@novell.com>
85 * PageCompiler.cs: Added support for setting the
86 MaintainScrollPositionOnPostBack property if the corresponding
87 page directive attribute is found.
89 * Directive.cs: added the MaintainScrollPositionOnPostBack and
90 LinePragmas directives.
92 2007-03-02 Marek Habersack <grendello@gmail.com>
94 * AppCodeCompiler.cs: Correctly process App_Code directories which
95 have no compilable files in the top-level directory. Fixes bug
97 Write preservation files for the App_Code assemblies.
99 2007-03-01 Marek Habersack <grendello@gmail.com>
101 * AspParser.cs: fix GetVerbatim for cases when the end is
102 e.g. --> or --%> and the string matched is ---> or ---%>
103 respectively. The new code always backs out to make sure the end is
106 2007-02-27 Marek Habersack <grendello@gmail.com>
108 * TemplateControlCompiler.cs: ParseExpression returns an object,
109 don't assume any concrete type.
110 Use the current culture when converting the expression to a
113 * ConnectionStringsExpressionBuilder.cs: Implement support for
114 expressions of the <%$ ConnectionStrings:StringName %> form
116 2007-02-19 Marek Habersack <grendello@gmail.com>
118 * ResourceExpressionBuilder.cs: Do not prepend the .Resources prefix here
120 2007-02-16 Marek Habersack <grendello@gmail.com>
122 * CachingCompiler.cs, BaseCompiler.cs: Make sure that no assembly
123 is referenced twice by the compiler(s).
125 * TemplateControlCompiler.cs: Fix the problem with cultures which
126 have a comma as their decimal separator and font/whatever
127 units. New code does not reparse the text representation of the
128 unit on the runtime (e.g. 0.9em) but instead it constructs the
129 property using the FontUnit/Unit constructors which take,
130 respectively, Unit and double/unittype parameters. This avoids
131 culture-specific parsing.
132 Also fix converting from invariant strings in a culture-aware
133 environment (e.g. in a page that uses Culture="auto") during the
136 2007-02-12 Marek Habersack <grendello@gmail.com>
138 * PreservationFile.cs: Support preservation (assembly mapping)
139 files (the ones with .compiled extension in the ASP.NET temporary
140 directory). This one implements a loader/saver class.
142 * AppResourcesCompiler.cs: support for assembly name mapping.
144 * AppCodeCompiler.cs: support for assembly name mapping.
146 2007-02-08 Marek Habersack <grendello@gmail.com>
148 * TemplateControlCompiler.cs: Fix TemplateSourceDirectory.
150 * AspComponentFoundry.cs: Avoid duplicate control registration
153 * ResourceExpressionBuilder.cs: Make sure all the global resources
154 are looked up using the "Resources." prefix.
156 * AppResourcesCompiler.cs: Make sure all the global resources are
157 embedded with the "Resources." prefix.
159 2007-02-02 Marek Habersack <grendello@gmail.com>
161 * AspGenerator.cs: Move the cache insert code to a separate method, for
162 use from other places.
164 * AspComponentFoundry.cs: Register controls mentioned in web.config, but
165 defer their compilation to the moment when they are actually requested.
167 2007-01-22 Marek Habersack <grendello@gmail.com>
169 * ThemeDirectoryCompiler.cs: Make sure the code works for empty themes.
171 2007-01-20 Miguel de Icaza <miguel@novell.com>
173 * ClientBuildManager.cs: Remove unused variable (this could be a
174 real problem, we never use the appPhysicalTargetDir)
176 * AssemblyBuilder.cs: Remove unused field.
178 * AppResourceFilesCollection.cs: Remove unused field.
180 * TemplateControlCompiler.cs (GetExpressionFromString): Remove
183 * AppResourcesCompiler.cs: Remove unused variable.
185 * AppSettingsExpressionBuilder.cs (GetAppSetting): remove unused
188 * PageCompiler.cs: Put InternalCreatePageProperty inside the
189 NET_2_0 block to eliminate warnings.
191 2007-01-20 Gert Driesen <drieseng@users.sourceforge.net>
193 * BaseCompiler.cs: Fixed build on 1.0 profile.
195 2007-01-20 Marek Habersack <grendello@gmail.com>
197 * BaseCompiler.cs: If the control base type is in the root
198 namespace, make sure global:: is prepended to it.
200 * TemplateControlCompiler.cs: AutoHandlers is obsolete in 2.0,
201 mark it as such in the generated code as well.
203 * AppCodeCompiler.cs: Include debug information if configured in
204 web.config. Fixes bug #80096.
206 2007-01-17 Marek Habersack <grendello@gmail.com>
208 * AppCodeCompiler.cs: Reference toplevel assemblies (at this stage
209 App_GlobalResources) when compiling App_Code sources.
211 * CachingCompiler.cs: Reference toplevel assemblies when compiling
214 * AppResourcesCompiler.cs: Close the streams properly.
216 * AspGenerator.cs: Don't ignore thead/tbody anymore.
218 2007-01-15 Marek Habersack <grendello@gmail.com>
220 * WsdlBuildProvider.cs: New build provider for WSDL files.
221 Compile only when System.Web.Services are present.
223 * TemplateControlCompiler.cs: Forgotten in the previous commit -
224 don't pass the current culture to GetLocalResourceObject, let the
225 method figure it out on its own.
227 2007-01-05 Marek Habersack <grendello@gmail.com>
229 * AppResourceFilesCollection.cs: new class to keep and manage
230 collection of resource files for the App_{Global,Local}Resources
233 * TemplateControlCompiler.cs: rely on
234 HttpContext.GetLocalResourceObject to select the correct culture.
236 * AppResourceFileInfo.cs: new class for keeping resource files
239 * AppResourcesCompiler.cs: new implementation.
241 2006-12-20 Marek Habersack <grendello@gmail.com>
243 * AssemblyBuilder.cs: add an internal version of the
244 AddCodeCompileUnit method.
246 * AppCodeCompiler.cs: implement support for ProfileCommon
247 generation from properties named in the <profile> element in
250 * PageCompiler.cs: create the Profile property in 2.0 code.
252 2006-12-12 Vladimir Krasnov <vladimirk@mainsoft.com>
254 * ThemeDirectoryCompiler.jvm.cs: fixed virtual path for themes
256 2006-12-10 Igor Zelmanovich <igorz@mainsoft.com>
258 * ThemeDirectoryCompiler.cs: refactoring.
260 2006-11-28 Marek Habersack <grendello@gmail.com>
262 * BuildManager.cs: Add an internal property to signal whether or
263 not we have any resources from App_{Global,Local}Resources
265 * AspGenerator.cs: Register controls from
266 system.web/pages/controls collection before parsing.
268 * AppResourcesCompiler.cs: Let the build process know if we have
269 compiled any resources from App_{Global,Local}Resources
271 2006-11-27 Marek Habersack <grendello@gmail.com>
273 * CachingCompiler.cs: Automatically reference App_Code
276 * AppCodeCompiler.cs: Add ~/bin/*.dll to the referenced assemblies
279 2006-11-25 Marek Habersack <grendello@gmail.com>
281 * AppResourcesCompiler.cs: small optimizations.
283 * AppResourceFilesCompiler.cs: small optimizations.
285 2006-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
287 * WebServiceCompiler.cs: add the type to the cache after getting it
288 from the compiled assembly.
290 2006-11-20 Marek Habersack <grendello@gmail.com>
292 * AppCodeCompiler.cs: Reference assemblies listed in
293 system.web/compilation/assemblies.
294 Don't create empty assemblies.
296 2006-11-19 Igor Zelmanovich <igorz@mainsoft.com>
298 * TemplateControlCompiler.cs: fixed:
299 When <%# Bind(...) %>-expression is used more then once for same control
300 The variable associated with this control is declared only once.
302 2006-11-18 Marek Habersack <grendello@gmail.com>
304 * AppResourceFilesCompiler.cs: Fixed an exception thrown when
305 files with names like File.resources or File.resx are found in the
306 resource directories.
308 2006-11-16 Marek Habersack <grendello@gmail.com>
310 * ForceCopyBuildProvider.cs: Added the build provider for
313 * MasterPageBuildProvider.cs: Added the build provider for Master
316 * IgnoreFileBuildProvider.cs: Make the class sealed.
318 * AppCodeCompiler.cs: Fixed BuildProvider creation for a path. Now
319 correctly uses the BuildProviderCollection to retrieve the
320 appropriate builder and maps the physical input file path into
321 application relative path when setting the virtual path of the
324 2006-11-13 Marek Habersack <grendello@gmail.com>
326 * AssemblyBuilder.cs: Added referenced assemblies support. Added a
327 constructor with just the CodeDomProvider argument. CreateCodeFile
328 now uses the code provider's file extension. Added internal method
329 to add pre-generated source code files. Added a BuildAssembly
330 overload that takes no virtual path as the
331 parameter. BuildAssembly now uses an array of source files instead
332 of compile units and also handles embedded resources and
333 referenced assemblies. BuildAssembly deletes the temporary files
334 if MONO_ASPNET_NODELET isn't set in the environment.
336 * AppCodeCompiler.cs: Use the FileUtils methods for temporary file
337 creation. Use the build providers collection to build unknown
338 files in App_Code. Use AssemblyBuilder to compile the assembly.
340 * AppResourceFilesCompiler.cs: Use the FileUtils methods for
341 temporary file creation.
343 * WebHandlerBuildProvider.cs: Added the BuildProviderAppliesTo
346 * UserControlBuildProvider.cs: Added the BuildProviderAppliesTo
349 * PageBuildProvider.cs: Added the BuildProviderAppliesTo
352 * WebServiceBuildProvider.cs: Added the BuildProviderAppliesTo
355 * IgnoreFileBuildProvider.cs: Added the BuildProviderAppliesTo
358 2006-11-08 Marek Habersack <grendello@gmail.com>
360 * BuildProvider.cs: Implemented the GetCustomString
361 method. Removed the necessity to retrieve the CompilationSection
362 twice when GetDefaultCompilerType is called.
364 * AppResourcesCompiler.cs: Added resource compiler results
367 * AppCodeCompiler.cs: The App_Code compiler classes
369 * BuildManager.cs: Implement the CodeAssemblies property.
370 Added an internal TopLevelTypes property to be used in the custom
371 GetType methods. Implemented the GetCompiledCustomString method.
372 Implemented the GetType method overloads. Implemented the
373 GetVirtualPathDependencies method.
375 * BaseCompiler.cs: Reference the assemblies from App_Code, if any
377 2006-10-18 Marek Habersack <grendello@gmail.com>
379 * TemplateControlCompiler.cs: add support for resource
380 expressions in tag attributes.
382 * ResourceExpressionBuilder.cs: add support for resource
383 expressions in tag attributes.
385 * BaseCompiler.cs: add global/local resource assemblies to
386 compilation references, if present.
388 * AppResourcesCompiler.cs: global/local resources compiler.
390 * AppResourceFilesCompiler.cs: compiler of resource files.
392 2006-10-03 Igor Zelmanovich <igorz@mainsoft.com>
394 * TemplateControlCompiler.cs: fixed: Bind functions (Data-Binding Syntax).
395 At run time, the Bind method calls the Eval method, if there is DataItem
397 If there is DataItem == null (like InsertItemTemplate in FormView) Bind
398 method don't raise exception and works properly to extract data from
399 bounded controls on postback.
401 2006-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
403 * AspGenerator.cs: if we are tracking non-server tags for
404 well-formedness, handle tags that do not need to be closed (br, img,...)
407 2006-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
409 * PageCompiler.cs: support the EnableEventValidation attribute.
411 2006-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
413 * AspGenerator.cs: after parsing an include file, don't error out if we
414 still have opened tags unless this was the last file to parse. Fixes
417 2006-09-05 Konstantin Triger <kostat@mainsoft.com>
419 * ParseException.cs: Ensure the source file stream is closed.
421 2006-08-25 Kornél Pál <kornelpal@gmail.com>
423 * AppSettingsExpressionBuilder.cs: Use assembly name constants.
424 * ConnectionStringsExpressionBuilder.cs: Use name reference
426 * ResourceExpressionBuilder.cs: Use assembly name constants.
428 2006-08-20 Vladimir Krasnov <vladimirk@mainsoft.com>
430 * ThemeDirectoryCompiler.jvm.cs: implemented GetCompiledInstance
432 2006-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
434 * ClientBuildManager.cs: handle domain shutdown and unload.
435 Implemented some properties. Commented.
437 2006-08-10 Andrew Skiba <andrews@mainsoft.com>
439 * ThemeDirectoryCompiler.cs: render css path as a virtual path.
441 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
443 * added ThemeDirectoryCompiler.jvm.cs
445 2006-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
447 * PageThemeCompiler.cs: Don't generate a 'Items.Clear ()' call if
448 the property Items does not exist. Patch by Marek Habersack that fixes
451 2006-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
453 * TemplateControlCompiler.cs: support assigning nullable types.
454 Patch by Marek Habersack that fixes bug #78970.
456 2006-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
458 * TemplateControlCompiler.cs: make password work again.
460 2006-06-21 Juraj Skripsky <js@hotfeet.ch>
462 * AspTokenizer.cs (ReadAttValue), AspParser.cs (GetAttributes):
463 MS.NET handles nested quotes differently for server controls and
464 for "normal" controls. Add a property "AlternatingQuotes" to the
465 tokenizer and let the parser decide whether it is well-formed or not.
467 2006-06-20 Andrew Skiba <andrews@mainsoft.com>
469 * PageThemeCompiler.cs, TemplateControlCompiler.cs: take care of
470 UrlPropertyAttribute.
472 2006-06-18 Andrew Skiba <andrews@mainsoft.com>
474 * TemplateControlCompiler.cs: check IsWritablePropertyOrField before
475 generating code for assignment statement and DataBind event.
477 2006-06-15 Juraj Skripsky <js@hotfeet.ch>
479 * AspTokenizer.cs (ReadAttValue), AspParser.cs (GetAttributes):
480 Don't allow an attribute value to contain the same quote characters
481 as the ones used for delimiting the value itself. Add a token
482 NOTWELLFORMED to signal that case to AspParser. Fixes bug #78643.
484 2006-06-08 Konstantin Triger <kostat@mainsoft.com>
486 * ThemeDirectoryCompiler.cs: use physical path instead of virtual path.
488 2006-04-24 Andrew Skiba <andrews@mainsoft.com>
490 * ThemeDirectoryCompiler.cs: use UrlUtils.Combine to combine pathes
492 2006-04-23 Andrew Skiba <andrews@mainsoft.com>
494 * PageThemeCompiler.cs: initialize __linkedStyleSheets field with the
495 array of style sheets from the parser
496 * ThemeDirectoryCompiler.cs: scan *.css files in theme directory and
497 put them in LinkedStyleSheets of PageThemeParser
499 2006-04-20 Chris Toshok <toshok@ximian.com>
501 * BaseCompiler.cs: for 2.0, emit the correct namespace and class
502 names in the case where you use "NS.ClassName" in the Inherits
503 attribute. Fixes bug #78135.
505 2006-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
507 * CachingCompiler.cs: no need to play the Wait/PulseAll game, as we
508 already acquired the lock even when we might have not created the 'key'
509 to the compilation ticket.
511 2006-04-16 Andrew Skiba <andrews@mainsoft.com>
513 * ThemeDirectoryCompiler.cs: add to the directory parser all the
514 assemblies found by PageThemeFileParsers
516 2006-04-12 Lluis Sanchez Gual <lluis@novell.com>
518 * TemplateControlCompiler.cs: Properly read all content of
521 2006-04-11 Andrew Skiba <andrews@mainsoft.com>
523 * TemplateControlCompiler.cs : fix for partial parsers
525 2006-04-11 Andrew Skiba <andrews@mainsoft.com>
527 * ThemeDirectoryCompiler.cs : map the virtual path to the physical
530 2006-04-08 Miguel de Icaza <miguel@novell.com>
532 * TemplateControlCompiler.cs: An attempt to fix the regression
533 introduced in r58505 (a bug fix for 77762). This was reported in
534 the mailing list with a batch of new 2.0 failures.
536 We really need a test suite in NUnit to check on ASP.NET aspx
539 2006-03-27 Robert Jordan <robertj@gmx.net>
541 * CachingCompiler.cs: change the compilation locking scheme
542 from "one mcs per process" to "one mcs per file".
544 2006-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
546 * System.Web.Compilation/TemplateControlCompiler.cs: handle the new
547 StringPropertyBuilder.
549 2006-03-24 Chris Toshok <toshok@ximian.com>
551 * BaseCompiler.cs (GetCompiledType): fall back to CodeDomProvider
552 if system.web/compilation doesn't list a compiler for our
555 2006-03-13 Chris Toshok <toshok@ximian.com>
557 * TemplateControlCompiler.cs (InitMethod): when generating the
558 call to ApplyStyleSheetSkin, don't just blindly pass "this" as the
559 argument to it. Only do that if the class we're compiling is
560 actually a subclass of Page. If it's not, pass this.Page.
562 2006-03-07 Chris Toshok <toshok@ximian.com>
564 * AspGenerator.cs: refactor the parsing code so that we can
565 initiate parsing from outside this class.
567 * PageCompiler.cs (PrependStatementsToFrameworkInitialize): new
568 method, add our StyleSheetTheme assignment here.
569 (AppendStatementsToFrameworkInitialize): rename AddStatements* to
572 * TemplateControlCompiler.cs (EnsureID): make protected.
573 (CreateAssignStatementsFromAttributes): same
574 (AddChildCall): same.
575 (CreateControlTree): same.
576 (CreateFrameworkInitializeMethod): change
577 "AddStatementsToFrameworkInitialize" to
578 "AppendStatementsToFrameworkInitialize", and add call to
579 "PrependStatementsToFrameworkInitialize" before the generation of
580 "base.FrameworkInitialize()."
582 * PageThemeCompiler.cs (CreateControlSkinMethod): remove spew.
584 2006-03-07 Chris Toshok <toshok@ximian.com>
586 * ThemeDirectoryCompiler.cs: new file.
588 * PageThemeCompiler.cs: new file.
590 2006-03-07 Chris Toshok <toshok@ximian.com>
592 * BaseCompiler.cs: fix typo in "initialize" in multiple places.
593 (Init): move the CreateMethods call here.
595 2006-03-02 Chris Toshok <toshok@ximian.com>
597 * TemplateControlCompiler.cs (InitMethod): emit an assignment for
598 SkinID just after the creation of our object, and right after that
599 call "_ctrl.ApplyStyleSheetSkin (page)".
600 (CreateAssignStatementsFromAttributes): split out the majority of
601 this code to CreateAssignStatementFromAttribute, and change this
602 method to simply a loop over the attribute keys. In the 2.0 case,
603 skip the SkinID property, since that's handled explicitly in
606 * PageCompiler.cs (AddStatementsToInitMethod): emit assignments
607 for Theme and StyleSheetTheme.
609 2006-02-23 Chris Toshok <toshok@ximian.com>
611 * TemplateControlCompiler.cs (AddContentTemplateInvocation): track
612 change from ContentControlBuilderInternal to
613 ContentBuilderInternal.
614 (AddCodeRender): same.
616 2006-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
618 * AssemblyBuilder.cs:
619 * BuildManager.cs: compile the assembly from AssemblyBuilder and use
620 GetGeneratedType() on the BuildProvider instead of loading the assembly
621 and trying a wild guess at the type name.
623 2006-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
625 * GlobalAsaxCompiler.cs:
627 * TemplateControlCompiler.cs: CreateMethods is now internal.
629 * WebServiceBuildProvider.cs:
630 * PageBuildProvider.cs:
631 * UserControlBuildProvider.cs:
632 * WebHandlerBuildProvider.cs: new build providers.
634 * BuildProvider.cs: add assemblies.
636 * BaseCompiler.cs: expose the provider and the compile unit through
639 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
641 * CompilerType.cs: implemented.
643 * AssemblyBuilder.cs: implemented most of it.
645 * WebServiceCompiler.cs:
646 * CachingCompiler.cs: update 2.0 compiler instance creation code.
648 * ClientBuildManager.cs: implemented some of its methods. Not yet
651 * BuildManager.cs: the more interesting methods are implemented now.
653 * BaseCompiler.cs: delete the temporary files in case of error.
655 * BuildProvider.cs: implemented the Get*Compiler* protected methods.
657 2006-02-07 Chris Toshok <toshok@ximian.com>
659 * TemplateControlCompiler.cs (AddParsedSubObjectStmt): append the
660 calls to AddParsedSubObject to a special statement collection --
661 builder.flushOutputStatements -- not to builder.method.Statements.
662 (InitMethod): initially, set flushOutputStatements to
663 method.Statements. If we're dealing with a ContentPlaceHolder,
664 set flushOutputStatements to be the else block of a conditional we
665 create. This causes the compiled control to fall back to the
666 ContentPlaceHolder's child controls in case there's no
667 corresponding Content template.
668 (AddChildCall): use methodStatements instead of method.Statements.
669 (CreateControlTree): same.
671 * PageCompiler.cs (CreatePropertyAssign): factor out the
672 string,string implementation and add one that also takes a
673 CodeExpression; make the string,string implementation call the
674 three arg one with thisRef.
675 (AddStatementsToInitMethod): make use of the 3-arg form of
676 CreatePropertyAssign to reduce code. Also, add support for
677 setting the page's Title from the parser's Title.
679 2006-02-07 Chris Toshok <toshok@ximian.com>
681 * UserControlCompiler.cs (AddStatementsToInitMethod): emit code to
682 assign __ctrl.MasterPageFile to our master page, if we have one.
684 * PageCompiler.cs (CreateContructor): remove the MasterPageFile
685 assignment from here.
686 (AddStatementsToInitMethod): and move it here.
688 * TemplateControlCompiler.cs (InitMethod): in the case where
689 builder is a RootBuilder (we're building the __BuildControlTree
690 method), call a virtual method so that subclasses can add their
691 own statements to the method (used by both Page and MasterPage);
692 Also, in the RootBuilder case, the argument should be the
693 parser.ClassName type (the class we're building); lastly, expand
694 the ContentPlaceHolder logic to include all the
695 ContentTemplates/InstantiateIn magic.
696 (AddStatementsToInitMethod): empty virtual method.
697 (AddContentTemplateInvocation): ContentControlBuilder ->
698 ContentControlBuilderInternal.
699 (CreateControlTree): same.
700 (CallBaseFrameworkInitialize): new function, create call to
701 base.FrameworkInitialize.
702 (CreateFrameworkInitializeMethod): call CallBaseFrameworkIniitialize.
704 2006-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
706 * IgnoreFileBuildProvider.cs: it's not public.
707 * BuildProvider.cs: mostly implemented.
709 2006-02-01 Chris Toshok <toshok@ximian.com>
711 * WebServiceCompiler.cs: CONFIGURATION_2_0 => NET_2_0, and use
712 GetSection instead of GetWebApplicationSection.
714 * CachingCompiler.cs: same.
716 * AspGenerator.cs: same.
718 * BaseCompiler.cs: same.
720 2006-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
722 * AspGenerator.cs: ignore 'thead'. Fixes bug #77326.
724 2006-01-22 Chris Toshok <toshok@ximian.com>
726 * IgnoreFileBuildProvider.cs: build provider which does nothing.
728 2006-01-22 Chris Toshok <toshok@ximian.com>
730 * AspComponentFoundry.cs (.ctor): use a 2.0 friendly form of the
731 Hashtable ctor to silence a couple of warning.
732 (CompoundFoundry.ctor): same
734 * Directive.cs (InitHash): use a 2.0 friendly form of the
735 Hashtable ctor to silence a couple of warning.
737 * TagAttributes.cs (MakeHash): use a 2.0 friendly form of the
738 Hashtable ctor to silence a warning.
739 (GetDictionary): same.
741 2006-01-22 Chris Toshok <toshok@ximian.com>
743 * AppSettingsExpressionBuilder.cs: implement this, patterning it
744 after an example on msdn. Also, enable the ExpressionEditor
745 attribute, but use the string rather than the Type overload so we
746 won't have yet another circular dep.
748 * ConnectionStringsExpressionBuilder.cs: partial implementation.
749 Same deal with the ExpressionEditor attribute.
751 * ResourceExpressionBuilder.cs: same deal with the
752 ExpressionEditor attribute.
754 2006-01-20 Chris Toshok <toshok@ximian.com>
756 * ResourceExpressionBuilder.cs (ParseExpression): implement.
758 * ResourceExpressionFields.cs: implement.
760 2006-01-20 Chris Toshok <toshok@ximian.com>
762 * ClientBuildManagerParameter.cs: implement.
764 * ClientBuildManagerCallback.cs: this class contains an empty
765 default implementation.
767 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
769 * AspGenerator.cs: add support for 'src' in <script runat="server">.
772 2006-01-04 Chris Toshok <toshok@ximian.com>
774 * WebServiceCompiler.cs (GetCompiledType): add CONFIGURATION_2_0
777 * AspGenerator.cs (CheckLanguage): add CONFIGURATION_2_0 code.
779 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
781 * AspGenerator.cs: fix yesterday's fix.
783 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
785 * AspGenerator.cs: only do special processing for <script> if it has
786 the runat="server" attribute. Fixes bug #76918.
788 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
790 * TemplateControlCompiler.cs: treat LightGrey as a synonym of LightGray.
793 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
795 * TemplateControlCompiler.cs: handle data bound attributes for html
796 controls. Fixes bug #76785.
798 2005-11-28 Chris Toshok <toshok@ximian.com>
800 * CachingCompiler.cs (Compile): CONFIGURATION_2_0 work.
802 * BaseCompiler.cs (GetCompiledType): CONFIGURATION_2_0 work.
804 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
806 * WebServiceCompiler.cs: fixed caching for web handlers.
808 2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
810 * AspParser.cs: don't change case for verbatim IDs.
813 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
815 * AspParser.cs: when processing verbatim input, throw if we reach EOF
816 before the expected end of the data.
818 2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
820 * CachingCompiler.cs:
821 * WebServiceCompiler.cs: when caching a type loaded from an assembly
822 that we didn't compile, make it depend on the file itself, not on a
823 non-existing cache key. This problem affected performance of web
824 services and .ashx, making unnecessary extra calls to LoadFrom every
825 time the cache was cleared.
827 2005-09-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
829 * BaseCompiler.cs: set the domain's DynamicBase property instead of
830 guessing it in BaseCompiler.
832 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
834 * WebServiceCompiler.cs: apply the same fix as in r45440 that fixed bug
835 75146 for pages/controls.
837 2005-08-09 Miguel de Icaza <miguel@novell.com>
839 * WebServiceCompiler.cs: Use the new DynamicDir method.
841 * BaseCompiler.cs: Use the DynamicBase property as a hint, but
842 since this value is null most of the time, compute the real value.
844 Added Bonus: if the directory has some kind of permission problem,
845 try a different directory name.
847 2005-07-13 Miguel de Icaza <miguel@novell.com>
849 * AspGenerator.cs (AspGenerator.CheckLanguage): Use
850 BaseParser.Context for the context.
852 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
856 * TemplateControlCompiler.cs: use invariant culture versions of starts/
859 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
861 * TemplateControlCompiler.cs: comparison between member name and the
862 first part of the id provided by the user should also be
863 case-insensitive. Fixes bug #75379.
865 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
867 * CachingCompiler.cs: use cache.InsertPrivate.
868 * AspGenerator.cs: use cache.InsertPrivate. Removed extra call to
871 2005-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
873 * CachingCompiler.cs: create the assemly in the DynamicBase directory,
874 as all the others, when compiling an assembly from a Src file. Fixes
877 2005-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
879 * TemplateControlCompiler.cs: if the property is not found, don't forget
880 about trying the field.
882 2005-06-13 Lluis Sanchez Gual <lluis@novell.com>
884 * Directive.cs: Register the MasterType directive.
885 * PageCompiler.cs: If a MasterType is specified, add a type specific
886 Master property. All this fixes bug #75192.
888 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
890 * TemplateControlCompiler.cs: when mapping an attribute name to a field
891 or property name, there's no need to try with every property and field,
892 but just the one found when searching by name (no case). There was one
893 call to ProcessPropertiesAndFields per property or field until found,
894 now only one if the property/field is found, none otherwise.
896 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
898 * TemplateControlCompiler.cs: allow more than 2 levels when looking for
899 properties of fields for an attribute like "Prop1-Prop2-Prop3". Fixes
902 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
904 * BaseCompiler.cs: when the OutputAssembly is null, we can still have
905 the assembly file there and be able to load it. Thanks to Rogerio and
908 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
910 * AspParser.cs: InvariantCulture love.
912 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
914 * TemplateControlCompiler.cs: use the Page AddContentTemplate method,
915 as the one in Master is protected. Fixes bug #75157.
917 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
919 * AspComponentFoundry.cs: tagnames have precedence over types in
920 assemblies when they use the same prefix. Fixes bug #71855.
922 2005-05-03 Lluis Sanchez Gual <lluis@novell.com>
924 * WebServiceCompiler.cs: Create the temp directory before
925 creating the web service source code file.
927 2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
929 * AspGenerator.cs: when checking languages, try to match other aliases
930 too (ie, 'cs' == 'c#').
932 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
934 * BaseCompiler.cs: check that DynamicBase directory exists before
935 creating the TempFileCollection.
937 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
939 * AspGenerator.cs: use a stack for non-server tags even before getting
940 to a form. Fixes bug #70274.
942 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
944 * AspParser.cs: don't error out on ill formed tags if it's not a server
945 tag (ie, allow something like '<table align="left cellpadding="0">' to
946 work, as MS does. Fixes bug #67909.
948 2005-04-20 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
949 * BaseCompiler.cs: do the bridge of Explicit/Strict attributes from
950 @Page/@Control directives to CodeDOM (VB.NET support)
952 2005-04-19 Lluis Sanchez Gual <lluis@novell.com>
954 * AspParser.cs: Fixed parsing of data binding tags in server
955 tag attributes. Allow <%...%> blocks not assigned to
956 attributes in client tags.
957 * TagAttributes.cs: Make sure that data binding blocks in server
958 tags are always assigned to attributes.
960 2005-04-15 Lluis Sanchez Gual <lluis@novell.com>
962 * TemplateControlCompiler.cs: Implemented support for two-way
965 2005-04-14 Lluis Sanchez Gual <lluis@novell.com>
967 * TemplateControlCompiler.cs: Use the new BindingContainerType
968 property to find the type of the binding container.
970 2005-04-07 Lluis Sanchez Gual <lluis@novell.com>
972 * TemplateControlCompiler.cs: Avoid using the GetConverter() trick
973 for primitive types. Parse an empty color string as Color.Empty.
974 Get the converter for a property using its PropertyDescriptor.
976 2005-04-05 Lluis Sanchez Gual <lluis@novell.com>
978 * TemplateControlCompiler.cs: Don't autogenerate IDs for
979 controls inside Content template.
981 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
983 * TemplateControlCompiler.cs: make typedesc.aspx work again.
985 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
987 * ExpressionBuilderContext.cs:
988 * ExpressionBuilder.cs: implemented.
990 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
992 * AspGenerator.cs: don't fail on <tbody runat=server>. Fixes bug #71856.
994 2005-01-28 Lluis Sanchez Gual <lluis@novell.com>
996 * TemplateControlCompiler.cs: When generating a property value,
997 check for TypeConverterAttribute in the PropertyInfo, not only in the
999 Implemented code generation using InstanceDescriptor, when the type
1000 converter supports conversion to that type.
1002 2005-01-21 Lluis Sanchez Gual <lluis@novell.com>
1004 * Directive.cs: Added MASTER directive.
1005 * AspGenerator.cs: Use UserControlCompiler for compiling master pages.
1006 * PageCompiler.cs: Set the master file name when generating the page.
1007 * TemplateControlCompiler.cs: When generating the method for a
1008 content holder, register the content holder in the base MasterPage.
1009 Added method for registering a Content control for a MasterPage.
1010 Generate code for Content controls.
1012 2005-01-10 Lluis Sanchez Gual <lluis@novell.com>
1014 * TemplateControlCompiler.cs: Get the container type from the
1015 template (if it was defined using TemplateContainerAttribute.
1017 2004-10-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1019 * AspGenerator.cs: correctly process script tags that self-closing.
1022 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1024 * CachingCompiler.cs: when compiling a single .cs file, add the file
1025 itself to dependencies. Fixes bug #68788.
1027 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1029 * ControlBuilder.cs: don't close server tags when we get to a closing
1030 tag that is not applied to a server control. Fixes bug #60323.
1032 2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1034 * WebServiceCompiler.cs: fix buglet in my last commit.
1036 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1039 * CachingCompiler.cs:
1040 * WebServiceCompiler.cs: correctly cache Type instead of the assembly
1041 for ashx/asmx. Otherwise we need to open the file and check for the
1042 class name in there. Thanks to Ben for pointing this out.
1044 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1047 * AspTokenizer.cs: prevent quotes from being swallowed when we're
1048 inside a server tag and they are the next non-whitespace character.
1051 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1053 * CachingCompiler.cs: don't try to watch for changes in system
1054 assemblies. Fixes bug #64871.
1056 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1058 * AspGenerator.cs: handle builders that need to process inner text
1061 * Location.cs: added setters for the properties.
1063 2004-08-02 Duncan Mak <duncan@ximian.com>
1065 * BuildProviderResultFlags.cs:
1066 * IImplicitResourceProvider.cs:
1067 * ImplicitResourceKey.cs:
1068 * IResourceReader.cs: Added.
1070 2004-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1072 * AspGenerator.cs: the path for file was treated as virtual, but it's
1073 physical. Fixes bug #61524.
1075 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1077 * AspParser.cs: fixed case-sensitivity issues with #include and its
1078 attributes. Closes #61429.
1080 2004-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1083 * WebServiceCompiler.cs: really create the dlls under DynamicBase
1085 2004-06-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1087 * TemplateControlCompiler.cs: for system colors, use SystemColors class
1088 instead of Color. Fixes bug #60249.
1090 2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1092 * BaseCompiler.cs: try getting the Type from the cache before doing the
1093 real work. Remove temporary files right after successful compilation.
1095 * CachingCompiler.cs: added GetTypeFromCache.
1097 * UserControlCompiler.cs: nothing interesting.
1099 * WebServiceCompiler.cs: try getting the Type from the cache before
1100 doing anything else. Remove temp files on sucessful compilation.
1102 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1105 * CachingCompiler.cs: use a different prefix when caching compiler
1108 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1110 * BaseCompiler.cs: dynamicBase is now protected. Check
1111 MONO_ASPNET_NODELETE here.
1113 * TemplateControlCompiler.cs: if the type is not known but has a
1114 TypeConverter, invoke ConvertFromString in the generated code.
1116 * WebServiceCompiler.cs: it used a hardcoded C# compiler, now it gets
1117 the compiler from the configuration. Also handle MONO_ASPNET_NODELETE.
1119 * CachingCompiler.cs: updated compilation of web services and simple
1122 2004-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1124 * CSCompiler.cs: removed.
1126 * CachingCompiler.cs: language independent compilation for single files.
1128 2004-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1131 * WebServiceCompiler.cs: adapted to the 'new' CachingCompiler.
1132 * CachingCompiler.cs: use HttpRuntime.Cache.
1134 2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1136 * PageCompiler.cs: fixed Trace and add support for Buffer.
1138 2004-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1140 * PageCompiler.cs: override CreateConstructor to add assignment for
1143 2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1145 * TemplateControlCompiler.cs: use CodeDelegateCreateExpression instead
1146 of CodeObjectCreateExpression for the render method delegate. Thanks
1149 2004-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1151 * BaseCompiler.cs: use DynamicBase for the output assemblies.
1153 2004-05-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1155 * AspGenerator.cs: ObjectTagBuilder do not override HasBody now.
1157 2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1159 * AspParser.cs: indent a few lines.
1160 * AspTokenizer.cs: added ungetc() used when we read a '/' in an unquoted
1161 attribute value. This way we can simulate reading 2 characters ahead
1162 (one in ungetc and the other in Peek) and work with values like
1163 text/javascript. Fixes bug #57302.
1165 2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1167 * AspParser.cs: ignore whitespace after directives. Fixes bug #58057.
1169 2004-04-02 Lluis Sanchez Gual <lluis@ximian.com>
1171 * TemplateControlCompiler.cs: Fixed build for net_1_0 profile.
1173 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1175 * GlobalAsaxCompiler.cs: removed Imports and Assemblies properties.
1177 2004-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1179 * AspGenerator.cs: error out when <object> server tag is not closed.
1180 Ignore any content inside it.
1182 2004-02-10 Jackson Harper <jackson@ximian.com>
1184 * AspTokenizer.cs: Collect discarded characters that might be used
1185 in client side scripts. Patch by Liyu Liu.
1186 * AspParser.cs: Add discarded characters. Patch by Liyu Liu.
1188 2004-02-10 Jackson Harper <jackson@ximian.com>
1190 * BaseCompiler.cs: Use the TempDirectory for compilation. Fixes
1193 2004-01-30 Jackson Harper <jackson@ximian.com>
1195 * TemplateControlCompiler.cs: Call ToString on the types hashcode,
1196 the build method takes strings not ints.
1198 2004-01-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1200 * AspGenerator.cs: handle more possible errors in global.asax file.
1202 * BaseCompiler.cs: added utility methods for creating <object> related
1203 properties and fields.
1205 * GlobalAsaxCompiler.cs: keep around applications and session scope
1206 objects builders. Also a list of imports and assemblies added in
1209 * TemplateControlCompiler.cs: use base class methods for <object> stuff.
1211 2004-01-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1213 * AspGenerator.cs: use the Cache to store compiled Types. Don't parse
1214 pages more than once. Thanks to Eric Lindvall for pointing this out.
1216 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1218 * TemplateControlCompiler.cs: allow handling subproperties for other
1219 types than Style and Font. Fixes bug #53217.
1221 2004-01-16 Jackson Harper <jackson@ximian.com>
1223 * TagAttribute.cs: attributes can be stored as encoded html so we
1226 2004-01-14 Jackson Harper <jackson@ximian.com>
1228 * TemplateControlCompiler.cs: Is a user control is cached and
1229 shared use the controls type hashcode for the GUID so it will be
1230 the same across instances.
1232 2004-01-13 Jackson Harper <jackson@ximian.com>
1234 * TemplateControlCompiler.cs: If an item has the partial caching
1235 attribute build a PartialCachingControl in the parents __Build method.
1236 * BaseCompiler.cs: Add a method for adding class attributes to the
1238 * UserControlCompiler.cs: If caching is enabled on a user control
1239 add the PartialCachingAttribute to it.
1241 2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1243 * PageCompiler.cs: invoke Request.ValidateInput if required.
1245 2004-01-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1247 * AspGenerator.cs: don't rely on GC to close the files parsed. Fixes bug
1248 #52521. Patch by liyul@hotmail.com.
1250 2003-12-25 Jackson Harper <jackson@ximian.com>
1252 * AspGenerator.cs: Allow scriptlets in javascript. This fixes bug
1255 2003-12-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1257 * PageCompiler.cs: assign the ErrorPage property if provided.
1259 2003-12-15 Jackson Harper <jackson@ximian.com>
1261 * PageCompiler.cs: Add Trace and TraceMode to framework initialize
1262 method if they are set.
1264 2003-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1266 * AspGenerator.cs: ignore <tbody> when we're inside a server table and
1267 fail when runat="server" is applied to <tbody> with a parse error
1268 instead of waiting for a compilation error. Fixes bug #52157.
1270 2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1272 * AspGenerator.cs: basic checking of ID validity. Throw a
1273 ParseException when mixing languages.
1275 2003-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1277 * PageCompiler.cs: assign LCID, Culture and/or UICulture in
1278 FrameworInitialize() if provided in @Page.
1282 2003-11-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1284 * TemplateControlCompiler.cs: support for expressions of
1285 System.Drawing.Size type. Allow getting Color from comma separated
1286 numbers, which is not allowed by ColorConverter.
1288 This makes http://www.codeproject.com/aspnet/asppopup.asp work.
1290 2003-11-13 Jackson Harper <jackson@ximian.com>
1292 * PageCompiler.cs: Call InitOutputCache when the OutputCache
1295 2003-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1297 * AspGenerator.cs: use fileEncoding from configuration files.
1299 * PageCompiler.cs: add assign statements for ContentType,
1300 ResponseEncoding and CodePage if supplied.
1302 2003-10-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1304 * TemplateControlCompiler.cs: fix bug #42994. Now we don't generate
1305 a return statement for user controls with 'void' return type.
1307 2003-10-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1309 * AspParser.cs: fixed bug #49627.
1311 2003-10-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1313 * BaseCompiler.cs: now gets the CodeCompiler from configuration files.
1315 2003-10-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1317 * Directive.cs: new attribute for @Page directive in 1.1.
1319 2003-10-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1322 * TagAttributes.cs: allow duplicated runat=server attributes and display
1323 error page when duplicated attributes and runat is specified.
1325 2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1327 * AspTokenizer.cs: moved token numbers above unicode.
1329 2003-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1331 * AspGenerator.cs: don't process code render tags inside scripts. Check
1332 the language of the script and treat javascript as verbatim input.
1335 2003-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1337 * TemplateControlCompiler.cs: fixed bug #48212.
1339 2003-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1341 * WebServiceCompiler.cs: remove the temporary files here too.
1343 2003-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1345 * AspGenerator.cs: fixed bug #46429.
1347 2003-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1349 * Directive.cs: support @WebHandler.
1351 2003-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1353 * TemplateControlCompiler.cs: support string []. Fixes bug #46415.
1355 2003-07-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1357 * BaseCompiler.cs: first look for cached items, then generate the tree.
1358 This should speed things up.
1360 * CachingCompiler.cs: when compiling web services, use the full path of
1361 the .asmx file as key when caching.
1363 * WebServiceCompiler.cs: first look for cached items, then generate
1366 2003-07-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1368 * AspParser.cs: more useful error information,
1371 * CachingCompiler.cs: honor the debug="true" option.
1373 * TemplateControlCompiler.cs: small fixes for templates.
1375 2003-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1377 * BaseCompiler.cs: made Compiler property virtual.
1379 * CachingCompiler.cs: added support for compiling web services.
1381 * WebServiceCompiler.cs: implemented.
1383 2003-05-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1385 * CachingCompiler.cs: fixed bug #43477.
1387 2003-05-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1390 * AspTokenizer.cs: fixed bugs #43206 and #43371.
1392 2003-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1394 * TemplateControlCompiler.cs: duh! Generate SupportAutoEvents instead
1395 of AutoEventWireup (which is internal). Thanks to Stuart Ballard for
1398 2003-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1400 * CompilationException.cs: don't add duplicated lines in the case that
1401 mcs reports several errors for the same one.
1403 2003-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1405 * AspGenerator.cs: fully support including files, ie., treat them just
1406 as C treats #includes.
1408 2003-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1412 * TagType.cs: Added support for server side includes.
1414 2003-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1416 * CSCompiler.cs: actually add the list of referenced assemblies to the
1417 compiler options. Throw a CompilationException if there's an error.
1419 * CachingCompiler.cs: added a method to compile directly from a source
1422 2003-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1424 * AspGenerator.cs: copy the location before setting the value for the
1427 * BaseCompiler.cs: changed parameters for CompilationException.
1429 * CompilationException.cs: it takes now line numbers and error
1430 descriptions from the CompilerErrorCollection.
1432 * Location.cs: used when a copy of an ILocation is needed.
1434 * ParseException.cs: implemented new methods to provide line numbers
1437 * TemplateControlCompiler.cs: throw a ParseException where appropiate.
1439 2003-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1441 * AspGenerator.cs: also support data bind syntax inside tags not
1442 processed as controls. Added debugging method.
1444 * TemplateControlCompiler.cs: reset the number of data binding handlers
1445 in the proper place. Small fix when getting the container type.
1447 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1449 * TemplateControlCompiler.cs: correctly set the TemplateSourceDirectory
1452 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1454 * AspGenerator.cs: handle code render syntax in tag attributes.
1456 * AspParser.cs: the constructor now takes a TextReader.
1458 * TemplateControlCompiler.cs: removed comment.
1460 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1462 * TemplateControlCompiler.cs: added support for data bound properties.
1464 2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1466 * AspComponentFoundry.cs: simplified it a lot by using Type and Assembly
1467 instead of their names.
1469 * AspElements.cs: removed. No longer needed.
1471 * AspGenerator.cs: this file is now in charge of interfacing between
1472 the parser and the compiler. It manages the creation of the
1473 ControlBuilder tree and the compilation of the CodeDOM tree.
1475 * AspParser.cs: tag handling is simpler now. Instead of a whole bunch
1476 of different Types, tags are just and id and a set of attributes.
1477 Implement ILocation interface.
1479 * AspTokenizer.cs: added a few methods to help the parser implementing
1482 * BaseCompiler.cs: handles the portions of the CodeDOM tree that are
1483 common to appliaction, page and user control, including the actual
1484 compilation and error handling.
1486 * CSCompiler.cs: compiles C# files using CodeDOM interfaces.
1488 * CachingCompiler.cs: simplified to use the new interfaces.
1490 * CompilationException.cs: it's now using CompilationResult to report
1493 * CompilationResult.cs: Removed file.
1495 * Directive.cs: to check for the validity of a directive.
1497 * GlobalAsaxCompiler.cs: simplified a lot, as most of the work is done
1500 * ILocation.cs: interface used to now the exact place where a parse
1503 * PageCompiler.cs: generates a couple of methods that are only used in
1506 * ParseException.cs: use the ILocation interface.
1508 * TagAttributes.cs: handles the attributes of the tags parsed.
1510 * TagType.cs: an enum for the different kinds of tags.
1512 * TemplateControlCompiler.cs: this is the one that does most of the
1513 conversion from teh ControlBuilder tree into a CodeDOM tree.
1515 * UserControlCompiler.cs: simplified as most of the work is done in
1518 * WebServiceCompiler.cs: dummy.
1520 2003-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1522 * AspComponentFoundry.cs: added GetComponentType method.
1524 2003-03-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1526 * AspTokenizer.cs: allow quotes inside server tags that are part of
1529 * CachingCompiler.cs: no more 'FileNotFound' exceptions when the
1532 2003-03-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1534 * AspGenerator.cs: generate correct appbase path. It was working with
1535 mcs but not with csc.
1537 * BaseCompiler.cs: quote arguments and removed GetRandomFileName.
1539 * CachingCompiler.cs: quote source file.
1541 2003-03-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1543 * AspGenerator.cs: now the Inherits attribute works as expected for
1546 2003-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1548 * CompilationException.cs:
1549 * ParseException.cs: display the correct line number in error messages.
1551 * AspElements.cs: added TargetSchema attribute for control. It's
1554 2003-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1556 * BaseCompiler.cs: fixed the hack to work under windows.
1557 * CachingCompiler.cs: under windows, try 'mcs.bat' and then 'mcs'.
1559 2003-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1561 * BaseCompiler.cs: hacks to work-around our buggy System.Uri.
1563 2003-03-17 George Kodinov <gkodinov@openlinksw.co.uk>
1565 * BaseCompiler.cs: Removed a FIXME: and added a correct calculation of
1566 app's private bin path
1568 2003-03-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1572 * CachingCompiler.cs:
1573 * CompilationResult.cs:
1574 * GlobalAsaxCompiler.cs:
1576 * UserControlCompiler.cs: recompile the page if dependencies change.
1578 2003-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1580 * AspGenerator.cs: corrected typo and wrong fix.
1582 2003-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1584 * AspGenerator.cs: fixed code generation for Table/TableRow/TableCell
1585 when used explicitly.
1587 2003-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1589 * AspElements.cs: get the property Type for controls that use
1590 ParseChildren with a property name.
1592 * AspGenerator.cs: generate correct signature for the method that
1593 adds controls to the default property in ParseChildren.
1595 2003-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1597 * AspGenerator.cs: rethrow exceptions that may come from parsing or
1598 compilation if a user control.
1600 2003-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1602 * AspGenerator.cs: throw ParseException on parse
1605 * AspParser.cs: added Line and Column props.
1607 * CompilationException.cs: derives now from HtmlizedException.
1609 * CompilationResult.cs: added fileName field. Fixed set_ExitCode.
1611 * GlobalAsaxCompiler.cs:
1613 * UserControlCompiler.cs: pass the file name in the CompilationResult.
1615 * ParseException.cs: new exception.
1618 2003-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1620 * AspGenerator.cs: remove "file://" from the private bin path. Fixes
1623 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1625 * AspParser.cs: the parser fires events when it parses an element.
1627 * GlobalAsaxCompiler.cs:
1629 * UserControlCompiler.cs:
1630 * AspElements.cs: modified to use the new parser interface.
1632 * AspGenerator.cs: modified to use the new parser. Merge multiple text
1633 strings into one single LiteralControl.
1635 * AspTokenizer.cs: added Line and Column properties.
1637 2003-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1639 * AspParser.cs: fixed bug #36929.
1641 2003-01-21 Tim Haynes <thaynes@openlinksw.com>
1645 * CachingCompiler.cs: changes to work around spaces and
1646 directory-separators in the local filesystem.
1648 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1650 * AspGenerator.cs: make the generated file compile with csc after last
1653 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1655 * AspGenerator.cs: removed unused variable. Added support for
1656 properties/fields of type string [].
1658 2003-01-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1660 * AspGenerator.cs: modified loading of the parent type now that
1661 Type.GetType is fixed.
1663 2003-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1665 * AspGenerator.cs: cast to Control if the container does not implement
1668 2003-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1670 * AspGenerator.cs: fixed a couple of thinkos related to IsSubclassOf.
1672 2003-01-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1674 * AspElements.cs: attributes without value lacked a space afterwards.
1676 2003-01-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1678 * AspGenerator.cs: functions for columns don't return anything. Fixed
1681 2003-01-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1683 * AspGenerator.cs: add data bound controls to code render function.
1685 2003-01-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1687 * AspComponentFoundry.cs: reworked to allow same prefix for multiple
1688 controls. You can register 1 assembly plus any number of user controls
1689 under the same prefix.
1691 * AspGenerator.cs: don't add duplicate 'using' for the same namespace.
1692 Hack to allow @Register access to assemblies in other places than bin
1695 2003-01-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1697 * AspElements.cs: added 'codebehind' attribute for page, control and
1698 application. It's ignored by MS, but allowed. Fixed typo.
1700 2003-01-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1702 * AspGenerator.cs: fixed EnableSesssionState handling.
1704 2003-01-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1706 * AspGenerator.cs: don't generate instance fields for pages/controls
1707 when the base class specified in the Inherits attribute already has
1708 them. Closes bug #36262.
1710 2002-12-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1712 * AspGenerator.cs: generate code like 'control.XXX = value' also for
1713 public fields (properties were being handled in that way too).
1715 2002-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1717 * AspGenerator.cs: now it uses the current HttpContext when creating
1718 user controls. TemplateSourceDirectory is no longer a dummy value.
1720 * GlobalAsaxCompiler.cs:
1722 * UserControlCompiler.cs: set the context which will be used to locate
1725 2002-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1727 * AspGenerator.cs: added support for AutoEventWireup attribute in
1730 * CompilationResult.cs:
1731 * GlobalAsaxCompiler.cs:
1733 * UserControlCompiler.cs: store the options.
1735 2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1737 * AspElements.cs: new method Tag.GetElements
1738 used to parse the inner contents of a tag looking for data binding or
1741 New property HtmlControlTag.ParseChildren allows
1742 differentiation of a couple of HtmlControls that has children as
1743 properties (namely HtmlTable and HtmlTableRow).
1745 * AspGenerator.cs: fixed container semantics to
1746 match BindingContainer one. Implemented Inherits attribute for page and
1749 Support HtmlControls that has ChildrenAsProperties.
1751 Generate code for data binding functions that matches the semantic of
1754 Handle data bound and code render attribute values.
1756 Set proper value return for TemplateSourceDirectory. Should be relative
1759 * BaseCompiler.cs: moved CompilerOptions and
1760 References handling here.
1762 * CachingCompiler.cs: copy result of compilation.
1764 * CompilationException.cs: simple ToString () implementation.
1766 * CompilationResult.cs: implemented CopyFrom and ToString.
1768 * GlobalAsaxCompiler.cs:
1770 * UserControlCompiler.cs: removed CompilerOptions as it's now handled
1771 in the base class. Get all the types in the generated assembly and
1772 look for one that derives from the correct Type.
1774 2002-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1776 * AspElements.cs: added @Application directive.
1778 * AspGenerator.cs: make it work also with application files. We
1779 currently generate an extra private function.
1781 2002-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1783 * GlobalAsaxCompiler.cs: compiler for global.asax file. If the file
1784 exists, it will be compiled into an HttpApplication derived class
1785 (directly or through a user-provided class).
1787 2002-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1789 * AspGenerator.cs: fixed target file name and generated class name.
1790 * BaseCompiler.cs: reference assemblies in PrivateBinPath.
1792 2002-11-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1794 * AspGenerator.cs: reworked user control
1795 compilation. Provide the options as a Hashtable for use in compilation.
1796 Create the user controls in the private bin path of the domain.
1798 * BaseCompiler.cs: base class for the various compiler types.
1800 * CachingCompiler.cs: actually executes mcs and do some poor caching
1801 (it will use Cache when finished).
1803 * CompilationException.cs: this exception has enough information to
1804 generate a nice error page.
1805 * CompilationResult.cs: used in caching.
1807 * PageCompiler.cs: now derives from BaseCompiler
1809 * TemplateFactory.cs: no longer needed.
1811 * UserControlCompiler.cs: new class used when compiling user controls.
1812 * WebServiceCompiler.cs: derives from BaseCompiler.
1814 2002-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1816 * AspElements.cs: added ServerComment class.
1817 * AspParser.cs: ignore ServerComments tags. Remove server comments when
1822 * PageCompiler.cs: check if the type is already cached before generating
1824 * TemplateFactory.cs: if csFile parameter is null, only checks if we
1825 already have the page compiled.
1827 2002-11-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1829 * AspGenerator.cs: undo one-liner change.
1831 2002-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1833 * AspGenerator.cs: removed a few hacks no longer needed.
1835 2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1837 * PageCompiler.cs: tracing.
1838 * TemplateFactory.cs: cache compiled types and tracing.
1839 * WebServiceCompiler.cs: new parameter in GetTypeFromsource,
1841 2002-10-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1843 * AspComponentFoundry.cs: fixed typo.
1844 * TemplateFactory.cs: use csc style options.
1845 * AspGenerator.cs: don't use FileDependencies property of base class.
1847 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1849 * System.Web.Compilation/AspElements.cs:
1850 * System.Web.Compilation/AspGenerator.cs:
1851 * System.Web.Compilation/AspParser.cs:
1852 * System.Web.Compilation/PageCompiler.cs:
1853 * System.Web.Compilation/TemplateFactory.cs: we are now able to compile
1854 pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
1856 2002-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1858 * AspElements.cs: added WebService directive.
1859 * WebServiceCompiler.cs: New file.
1861 2002-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1863 * PageCompiler.cs: fixed compilation.
1865 2002-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1867 * PageCompiler.cs: generate C# file using AspGenerator.
1869 2002-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1871 * AspComponentFoundry.cs: LookupFoundry now returns bool.
1872 * AspGenerator.cs: New file.
1874 2002-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1876 * AspComponentFoundry.cs: New file.
1877 * AspElements.cs: renamed Component to Aspcomponent.
1879 2002-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1886 * TemplateFactory.cs: first steps to move xsp into System.Web.