Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
//
// AssemblyResolver.cs
//
// Author:
// Jb Evain (jbevain@novell.com)
//
// (C) 2007 Novell, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Collections;
using System.IO;
using Mono.Cecil;
namespace GuiCompare {
public class AssemblyResolver : DefaultAssemblyResolver {
public AssemblyDefinition ResolveFile (string file)
{
return ProcessFile (file);
}
AssemblyDefinition ProcessFile (string file)
{
AddSearchDirectory (Path.GetDirectoryName (file));
var assembly = AssemblyDefinition.ReadAssembly (file, new ReaderParameters { AssemblyResolver = this });
RegisterAssembly (assembly);
return assembly;
}
}
}

View File

@@ -0,0 +1,497 @@
2010-08-05 Andrés G. Aragoneses <andres@lindenlab.com>
* mono-api-info.cs: Implemented new mode to show ABI.
* Makefile: added mono-abi-info autofoo.
2010-04-16 C.J. Adams-Collier <cjac@colliertech.org>
* mono-api-diff.cs: revived from the mono-2-2 branch and applied
patch from debian package, noted that I'll handle maintenance
2010-02-10 Marek Habersack <mhabersack@novell.com>
* mono-api-info.cs: added support for extracting and generating
TypeForwardedTo assembly attributes.
2009-06-03 Jb Evain <jbevain@novell.com>
* AssemblyResolver.cs: properly attach the resolver to the
assemblies we've found.
2009-01-28 Jb Evain <jbevain@novell.com>
* AssemblyResolver.cs
Util.cs
mono-api-info.cs:
Directly use the Resolve methods from Cecil.
2009-01-06 Jb Evain <jbevain@novell.com>
* transform.cs
* cormissing.xsl
* mono-api.xsl
* mono-api-diff.cs:
remove deprecated code.
2009-01-06 Jb Evain <jbevain@novell.com>
* Makefile: only build mono-api-info, as mono-api-diff and transform
are not used anymore.
2009-01-05 Jb Evain <jbevain@novell.com>
* mono-api-info.cs: output custom attributes for generic parameters
as well.
2009-01-05 Jb Evain <jbevain@novell.com>
* mono-api-info.cs: specify an `enumtype` attribute to describe
enumeration underlyin types.
2009-01-05 Jb Evain <jbevain@novell.com>
* mono-api-info.cs: don't emit empty attributes on properties.
2008-12-17 Jb Evain <jbevain@novell.com>
* mono-api-info.cs: don't add Finalizers to the api definition.
2008-12-08 Jb Evain <jbevain@novell.com>
* Util.cs
* WellFormedXmlWriter.cs
* mono-api-diff.cs
* AssemblyResolver.cs
* mono-api-info.cs: normalize namespaces.
2008-12-08 Jb Evain <jbevain@novell.com>
* Metadata.cs
* CecilMetadata.cs
* CompareContext.cs
* MasterMetadata.cs
* Masterinfo.cs
* Comparison.cs: add the gui-compare backend as source for now.
2008-12-04 Jb Evain <jbevain@novell.com>
* Remove CorCompare.exe sources.
2008-12-04 Jb Evain <jbevain@novell.com>
* Makefile: don't build CorCompare.exe anymore as it's not even
used.
2008-12-04 Jb Evain <jbevain@novell.com>
* mono-api-diff.cs: update mono-api-diff wrt to the format changes.
2008-11-25 Atsushi Enomoto <atsushi@ximian.com>
Jb Evain <jbevain@novell.com>
* WellFormedXmlWriter.cs : new file to escape invalid XML
characters.
* mono-api-info.cs mono-api-diff.cs : don't use XmlTextWriter
directly when you don't know what you are going to write.
escape invalid characters as \xXX or \uUUUU.
2008-11-21 Jb Evain <jbevain@novell.com>
*.*: update to the cecil/corcompare version.
2008-10-17 Jonathan Pryor <jpryor@novell.com>
* Makefile: Add doc-update target support.
2008-05-21 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api.xsl: Added support for event accessors.
* mono-api-diff.cs: Added support for event accessors.
* mono-api-info.cs: Added support for explicit interface
implementations, and groups event accessors with the corresponding
event.
2008-05-19 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-diff.cs : do not report CompilerGeneratedAttribute which
likely comes from auto property.
2008-04-05 Gert Driesen <drieseng@users.sourceforge.net>
* TODO: Removed, as all items are obsolete.
* Makefile: Removed TODO from DISTFILES.
2008-04-05 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-diff.cs: Output type for extra classes, to allow it to
show up on class status pages.
2008-03-04 Atsushi Enomoto <atsushi@ximian.com>
* mono-api.xsl : add support for parameters.
2008-02-27 Chris Toshok <toshok@ximian.com>
* mono-api-info.cs: include protected nested classes in the
output.
2008-01-07 Zoltan Varga <vargaz@gmail.com>
* mono-api-diff.cs: Check the names of method parameters as well.
2007-11-27 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-diff.cs : ... and do the same for missing members.
I don't like this change but ppl wanted me to make it so :p
2007-11-27 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-diff.cs : expand all missing types in missing
namespaces so that we don't get just one "missing" mark
for the entire namespace.
2007-08-12 Marek Safar <marek.safar@gmail.com>
* Makefile: Build transform too.
2007-06-29 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api.xsl: Added support for nested classes.
* mono-api-diff.cs: Renamed element used for nested classes from
nestedclass to class to avoid duplicating templates in xsl.
2007-06-25 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-diff.cs: Fixed line endings. For overloaded operators we
need to include the return type in the key to allow matching.
2007-06-18 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-info.cs: do not ignore overloaded operators.
2007-06-04 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-info.cs : fix silliness.
2007-06-01 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-info.cs mono-api-diff.cs :
handle MonoTODOAttribute derivations.
2007-04-17 Alp Toker <alp@atoker.com>
* mono-api-diff.cs:
* mono-api-info.cs:
* MissingMethod.cs: Treat IsVirtual and IsFinal as independent
attributes.
2007-02-22 Wade Berrier <wberrier@novell.com>
* Makefile: Move files from EXTRA_DISTFILES to DISTFILES so they
get included in 'make dist'
2007-02-20 Marek Safar <marek.safar@gmail.com>
* mono-api-diff.cs : Report difference between parameter attributes.
2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-info.cs
mono-api-diff.cs : show MethodAttributes difference (as long as
they make sense).
2005-12-13 Atsushi Enomoto <atsushi@ximian.com>
* mono-api.xsl : tiny checked="checked" sanitization.
2005-11-29 Atsushi Enomoto <atsushi@ximian.com>
* mono-api.xsl : added toggle switch for referenced documentation
(monodoc/msdn/msdn2).
2005-11-18 Atsushi Enomoto <atsushi@ximian.com>
* mono-api.xsl : filtered attributes are customizable now (but pretty
slow!)
2005-11-08 Atsushi Enomoto <atsushi@ximian.com>
* mono-api.xsl : turn ComVisible and DebuggerDisplay off by default.
2005-11-08 Atsushi Enomoto <atsushi@ximian.com>
* MissingType.cs : don't add fake SerializableAttributes (if it does).
2005-11-08 Atsushi Enomoto <atsushi@ximian.com>
* mono-api.xsl : part of XHTMLification.
2005-11-08 Atsushi Enomoto <atsushi@ximian.com>
* mono-api.xsl : Use indent; it is practically impossible to improve
generated HTML w/o indentation.
2005-11-04 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-info.cs : filter property ReservedMask out; they show
useless diffs.
2005-10-28 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-info.cs, mono-api-diff.cs : use IsVirtual instead of
IsFinal (bug #76585; it is not working). Fixed new warning.
2005-10-28 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-diff.cs :
"None" goes away from static/abstract/sealed diff.
2005-10-28 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-info.cs, mono-api-diff.cs :
Print static/abstract/sealed diffs on methods.
Differentiate generic methods by their type arguments.
Print generic parameter attribute differences.
2005-10-14 Atsushi Enomoto <atsushi@ximian.com>
* cormissing.xsl, mono-api.xsl, mono-api-diff.cs, mono-api-info.cs :
added support for displaying generic contraint differences.
2005-08-06 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-diff.cs: When multiple attributes of the same type
exist, then we must use a key that is composed of the attribute
type and key/value pairs for each property. Fixed line endings.
* mono-api-info.cs: target is not used for AttributeData. Removed
unused ctor and OutputAttributes overload.
2005-06-24 Martin Baulig <martin@ximian.com>
* mono-api-info.cs: Use `Type.ToString()' everywhere instead of
`Type.FullName' since on the MS runtime `Type.FullName' is the
empty string for type parameters (FIXME: bug in the MS runtime?).
2005-06-16 Raja R Harinath <rharinath@novell.com>
* Makefile (mono-api-info.exe): Copy mdb file from the
profile-specific directory.
2005-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api-info.cs: exclude the ReservedMask bits from method
attributes.
2005-06-01 Ben Maurer <bmaurer@ximian.com>
* mono-api-info.cs: Hack to support generics better
2005-05-06 Raja R Harinath <rharinath@novell.com>
* Makefile (ALL_PROGRAMS): Make 'mono-api-info.exe'
profile-dependent.
(uninstall-local): Use the basename.
2005-04-13 Ankit Jain <ankit@corewars.org>
* mono-api-diff.cs (XmlParameter): Revert type of defaultValue
from object to string, since the value is read from XML.
2005-04-12 Ankit Jain <ankit@corewars.org>
* mono-api-diff.cs: Handle null default values correctly.
* mono-api-info.cs: -do-
System.DBNull.Value means no default value.
2005-04-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* transform.cs:
* transform.js: replace transform.js with transform.cs
2005-03-11 Sebastien Pouliot <sebastien@ximian.com>
* mono-api-info.exe: Don't process attributes inheriting from
SecurityAttribute as we won't ever match them 100% (at least from a
syntaxic point of view). The tool permview.exe can be used to extract
and compare them if/when required.
2005-02-21 Michal Moskal <malekith@pld-linux.org>
* Makefile (PROGRAM_INSTALL_DIR): Define in terms of $(libdir).
2005-02-11 Marek Safar <marek.safar@seznam.cz>
* mono-api-diff.cs : Fixed collision in the sealed/static detection.
2005-02-10 Marek Safar <marek.safar@seznam.cz>
* mono-api-diff.cs ,
* mono-api-info.cs : Check values of attribute properties.
2004-12-08 Atsushi Enomoto <atsushi@ximian.com>
* mono-api.xsl : optimized a bit. Removed extraneous step from
template-matches, extraneous descendant search and mode usage.
2004-11-26 Raja R Harinath <rharinath@novell.com>
* Makefile (PROGRAM_INSTALL_DIR): Change to
$(prefix)/lib/mono/$(FRAMEWORK_VERSION).
2004-10-14 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-info.cs : Use GetExportedTypes(). This fixes System.Xml.xml
generation in masterinfos.
2004-09-29 Zoltan Varga <vargaz@freemail.hu>
* MissingAttribute.cs: Ignore DllImportAttribute and PreserveSigAttribute.
2004-09-06 Marek Safar <marek.safar@seznam.cz>
* mono-api-diff.cs ,
* mono-api-info.cs : Added static class detection.
2004-06-19 Atsushi Enomoto <atsushi@ximian.com>
* mono-api-diff.cs : tiny fix on warning output.
2004-06-14 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-diff.cs: now also check charset, layout and
serializability of types
* mono-api-info.cs: output charset, layout and flag indicating
whether type is serializable
2004-06-12 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-diff.cs:
- check method/ctor parameters
- use target attribute for attributes in key for attributes
(if available). This allows us to differentiate between method
and return type attributes for methods
- check field values (for literal fields)
- LoadExtraData was not always called, causing certain signature
mismatches not to be reported
* mono-api-info.cs:
- check field values of literal fields
- document parameters of method/ctors
- also output attribute applied to return type of methods
2004-06-11 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-info.cs: ignore non-public attributes
2004-06-11 Raja R Harinath <rharinath@novell.com>
* Makefile (PROGRAM_INSTALL_DIR): New define.
(install-local, uninstall-local): Use it.
2004-06-04 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-info.cs: for checking API compatibility, we're only
interested in public interfaces that are implemented by a given
type. Include protected internal fields and ctors.
2004-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api-diff.cs: fixes event diff when we're missing attributes. Now
the class status properly shows the attributes under the event.
* mono-api-info.cs: include protected internal methods.
2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api-info.cs: we don't want internal members listed.
2004-06-03 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-info.cs: also check protected internal members
2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api-info.cs: if we have a TODOAttribute, get the Comment property
value and store it in attribute 'comment'.
* mono-api-diff.cs: if we have a 'comment' keep it in the output file.
* mono-api.xsl: if we have a 'comment' set it as the title attribute
of the monoTODO gif image.
Now we can see the MonoTODO comments when browsing the class status
pages.
2004-06-02 Gert Driesen <drieseng@users.sourceforge.net>
* mono-api-diff.cs: also report mismatches in protected members
* mono-api-info.cs: fixed issue where counters were not output
for missing attributes if there were no other mismatches
2003-11-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api.xsl: handle <interface>, which is different from
<class name="x" type="interface"...>.
2003-11-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api-diff.cs: added a couple of missing attributes for extra
classes.
2003-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api-diff.cs: ensure no nested type gets in as non-nested.
(May be a bug in MS?). Added ptype and params attributes for properties.
* mono-api-info.cs: fixed some cases where there's a name duplication
(multiple attributes, properties). Fixed completion counters.
2003-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api-diff.cs: fixed attribute handling for members. Fixed counts
for properties.
* mono-api-info.cs: don't output .cctor information.
2003-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* mono-api-diff.cs: fixed nullref and add warning when class type do not
match.
* mono-api-info.cs: ignore private classes.
2003-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* CorCompare.exe.sources: not needed now.
* Makefile: updated to build the 3 exes we have now.
* mono-api-info.cs: new program. Given an assembly name, it generates
an xml file with its public data.
* mono-api-diff.cs: compares 2 xml files generated with mono-api-info
and outputs an xml file suitable for building class status pages with
mono-api.xsl.
* mono-api.xsl: small modifications to corcompare.xsl to match the new
file format.
2003-07-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
* cormissing.xsl: Change percentage to display percentage for all
sub-members, not just direct members
2003-07-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
* MissingNameSpace.cs: Fixed the case where a private/ internal class
that per chance has a class with the same name in the compared
assembly gets compared -> now only public classes are compared.
* MissingType: Internal nested types were always compared -> internal
nested types are never compared
2002-02-25 Nick Drochak <ndrochak@gol.com>
* ToDoAssembly.cs: remove unused code
* ToDoNamespace.cs: using BindingFlags for GetMembers
* ToDoType.cs: throw exception if we encounter a member type
that we didn't expect. Also remove unused property.

View File

@@ -0,0 +1,43 @@
thisdir = tools/corcompare
SUBDIRS =
include ../../build/rules.make
ALL_PROGRAMS = mono-api-info.exe
COMMON_SOURCES = \
AssemblyResolver.cs \
Util.cs \
WellFormedXmlWriter.cs
PROGRAM_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)
APIINFO_SOURCES = mono-api-info.cs $(COMMON_SOURCES)
DISTFILES= $(COMMON_SOURCES) $(APIINFO_SOURCES)
all-local: $(ALL_PROGRAMS)
csproj-local doc-update-local:
install-local: $(ALL_PROGRAMS)
$(MKINSTALLDIRS) $(DESTDIR)$(PROGRAM_INSTALL_DIR)
for i in $(ALL_PROGRAMS) ; do \
$(INSTALL_BIN) $$i $(DESTDIR)$(PROGRAM_INSTALL_DIR) ; \
done
uninstall-local:
for i in $(ALL_PROGRAMS) ; do \
rm -f $(DESTDIR)$(PROGRAM_INSTALL_DIR)/`basename $$i` ; \
done
test-local:
run-test-local run-test-ondotnet-local:
clean-local:
rm -f *.exe *.pdb
dist-local: dist-default
mono-api-info.exe: $(APIINFO_SOURCES)
$(CSCOMPILE) -r:Mono.Cecil.dll -out:$@ $^

View File

@@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
using System.Text;
using Mono.Cecil;
using GuiCompare;
namespace CorCompare {
static class TypeHelper {
public static AssemblyResolver Resolver = new AssemblyResolver ();
internal static bool IsPublic (TypeReference typeref)
{
if (typeref == null)
throw new ArgumentNullException ("typeref");
TypeDefinition td = typeref.Resolve ();
if (td == null)
return false;
return td.IsPublic;
}
internal static bool IsDelegate (TypeReference typeref)
{
return IsDerivedFrom (typeref, "System.MulticastDelegate");
}
internal static bool IsDerivedFrom (TypeReference type, string derivedFrom)
{
bool first = true;
foreach (var def in WalkHierarchy (type)) {
if (first) {
first = false;
continue;
}
if (def.FullName == derivedFrom)
return true;
}
return false;
}
internal static IEnumerable<TypeDefinition> WalkHierarchy (TypeReference type)
{
for (var def = type.Resolve (); def != null; def = GetBaseType (def))
yield return def;
}
internal static IEnumerable<TypeReference> GetInterfaces (TypeReference type)
{
var ifaces = new Dictionary<string, TypeReference> ();
foreach (var def in WalkHierarchy (type))
foreach (TypeReference iface in def.Interfaces)
ifaces [iface.FullName] = iface;
return ifaces.Values;
}
internal static TypeDefinition GetBaseType (TypeDefinition child)
{
if (child.BaseType == null)
return null;
return child.BaseType.Resolve ();
}
internal static bool IsPublic (CustomAttribute att)
{
return IsPublic (att.AttributeType);
}
internal static string GetFullName (CustomAttribute att)
{
return att.AttributeType.FullName;
}
internal static TypeDefinition GetTypeDefinition (CustomAttribute att)
{
return att.AttributeType.Resolve ();
}
}
}

View File

@@ -0,0 +1,294 @@
//
// WellFormedXmlWriter.cs
//
// Author:
// Atsushi Enomoto <atsushi@ximian.com>
//
// Copyright (C) 2006 Novell, Inc. http://www.novell.com
//
using System;
using System.Globalization;
using System.Collections;
using System.Xml;
namespace CorCompare {
public class WellFormedXmlWriter : DefaultXmlWriter
{
public static bool IsValid (int ch)
{
return !IsInvalid (ch);
}
public static bool IsInvalid (int ch)
{
switch (ch) {
case 9:
case 10:
case 13:
return false;
}
if (ch < 32)
return true;
if (ch < 0xD800)
return false;
if (ch < 0xE000)
return true;
if (ch < 0xFFFE)
return false;
if (ch < 0x10000)
return true;
if (ch < 0x110000)
return false;
else
return true;
}
public static int IndexOfInvalid (string s, bool allowSurrogate)
{
for (int i = 0; i < s.Length; i++)
if (IsInvalid (s [i])) {
if (!allowSurrogate ||
i + 1 == s.Length ||
s [i] < '\uD800' ||
s [i] >= '\uDC00' ||
s [i + 1] < '\uDC00' ||
s [i + 1] >= '\uE000')
return i;
i++;
}
return -1;
}
public static int IndexOfInvalid (char [] s, int start, int length, bool allowSurrogate)
{
int end = start + length;
if (s.Length < end)
throw new ArgumentOutOfRangeException ("length");
for (int i = start; i < end; i++)
if (IsInvalid (s [i])) {
if (!allowSurrogate ||
i + 1 == end ||
s [i] < '\uD800' ||
s [i] >= '\uDC00' ||
s [i + 1] < '\uDC00' ||
s [i + 1] >= '\uE000')
return i;
i++;
}
return -1;
}
public WellFormedXmlWriter (XmlWriter writer) : base (writer)
{
}
public override void WriteString (string text)
{
int i = IndexOfInvalid (text, true);
if (i >= 0) {
char [] arr = text.ToCharArray ();
Writer.WriteChars (arr, 0, i);
WriteChars (arr, i, arr.Length - i);
} else {
// no invalid character.
Writer.WriteString (text);
}
}
public override void WriteChars (char [] text, int idx, int length)
{
int start = idx;
int end = idx + length;
while ((idx = IndexOfInvalid (text, start, length, true)) >= 0) {
if (start < idx)
Writer.WriteChars (text, start, idx - start);
Writer.WriteString (String.Format (CultureInfo.InvariantCulture,
text [idx] < 0x80 ? "\\x{0:X02}" : "\\u{0:X04}",
(int) text [idx]));
length -= idx - start + 1;
start = idx + 1;
}
if (start < end)
Writer.WriteChars (text, start, end - start);
}
}
public class DefaultXmlWriter : XmlWriter
{
XmlWriter writer;
public DefaultXmlWriter (XmlWriter writer)
{
this.writer = writer;
}
protected XmlWriter Writer {
get { return writer; }
}
public override void Close ()
{
writer.Close ();
}
public override void Flush ()
{
writer.Flush ();
}
public override string LookupPrefix (string ns)
{
return writer.LookupPrefix (ns);
}
public override void WriteBase64 (byte [] buffer, int index, int count)
{
writer.WriteBase64 (buffer, index, count);
}
public override void WriteBinHex (byte [] buffer, int index, int count)
{
writer.WriteBinHex (buffer, index, count);
}
public override void WriteCData (string text)
{
writer.WriteCData (text);
}
public override void WriteCharEntity (char ch)
{
writer.WriteCharEntity (ch);
}
public override void WriteChars (char [] buffer, int index, int count)
{
writer.WriteChars (buffer, index, count);
}
public override void WriteComment (string text)
{
writer.WriteComment (text);
}
public override void WriteDocType (string name, string pubid, string sysid, string subset)
{
writer.WriteDocType (name, pubid, sysid, subset);
}
public override void WriteEndAttribute ()
{
writer.WriteEndAttribute ();
}
public override void WriteEndDocument ()
{
writer.WriteEndDocument ();
}
public override void WriteEndElement ()
{
writer.WriteEndElement ();
}
public override void WriteEntityRef (string name)
{
writer.WriteEntityRef (name);
}
public override void WriteFullEndElement ()
{
writer.WriteFullEndElement ();
}
public override void WriteName (string name)
{
writer.WriteName (name);
}
public override void WriteNmToken (string name)
{
writer.WriteNmToken (name);
}
public override void WriteNode (XmlReader reader, bool defattr)
{
writer.WriteNode (reader, defattr);
}
public override void WriteProcessingInstruction (string name, string text)
{
writer.WriteProcessingInstruction (name, text);
}
public override void WriteQualifiedName (string localName, string ns)
{
writer.WriteQualifiedName (localName, ns);
}
public override void WriteRaw (string data)
{
writer.WriteRaw (data);
}
public override void WriteRaw (char [] buffer, int index, int count)
{
writer.WriteRaw (buffer, index, count);
}
public override void WriteStartAttribute (string prefix, string localName, string ns)
{
writer.WriteStartAttribute (prefix, localName, ns);
}
public override void WriteStartDocument (bool standalone)
{
writer.WriteStartDocument (standalone);
}
public override void WriteStartDocument ()
{
writer.WriteStartDocument ();
}
public override void WriteStartElement (string prefix, string localName, string ns)
{
writer.WriteStartElement (prefix, localName, ns);
}
public override void WriteString (string text)
{
writer.WriteString (text);
}
public override void WriteSurrogateCharEntity (char lowChar, char highChar)
{
writer.WriteSurrogateCharEntity (lowChar, highChar);
}
public override void WriteWhitespace (string ws)
{
writer.WriteWhitespace (ws);
}
public override WriteState WriteState {
get {
return writer.WriteState;
}
}
public override string XmlLang {
get {
return writer.XmlLang;
}
}
public override XmlSpace XmlSpace {
get {
return writer.XmlSpace;
}
}
}
}

File diff suppressed because it is too large Load Diff