[Mono-list] Completion field
James Perry
jeperry@uwaterloo.ca
Fri, 3 Aug 2001 21:08:45 +0100
This is a multi-part message in MIME format.
------=_NextPart_000_0000_01C11C60.7BAEB590
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
>> The completion column is supposed to show completion, but it seems the
>> data is incorrect. I do not know how this can be computed by a human
>> being. It should be probably computed by a program that matches the
>> API against the published one.
>
>yeah, there should be a way we can automate this kind of thing...
>
>> Should I drop the percentage of completion?
>>
>> Feel free to update the values in mono/status/class.xml (where this
>> data actually lives).
>
>i'll update the things i notice to be wrong. perhaps when people submit
new
>classes (or change them) they should update the class.xml file, although we
>really should find an automated way to update it, as people are bound to
start
>forgetting...
>
Amongst other things related to Mono, I'm working on a unified system for
administration, analyses and documentation of .NET class libraries.
It's based around an XML file which describes certain characteristics of a
class library, which include the type layout of the file, documentation info
and administrivia stuff. My goal would be to have a few programs which could
be used to administer and do some automated analyses of this stuff. For
example, you could have a simple program which extracts user-readable
documentation from the file (you could even just use an xsl transform for
this, it's all in XML), or a program which, given a class library and an XML
description, can tell you of any discrepencies between the two. You could
even have a program which would generate an XML specification from a
pre-existing class library.
My original thinking was that this would provide a good way of
double-checking a class library, to make sure no silly mistakes had been
made, but I think this would also be a good basis for an automated
completion tracking system.
I'm still working on the format of the XML document (I'm still working on
the documentation and administrivia sections, they're not in yet), but I've
attached the preliminary DTD and a sample XML document which describes a
tiny bit of the System namespace. It's named (appropriately I think) XSharp.
You'll have to edit the XML file to have it pointing to a valid copy of this
DTD.
Okay, enough with the self-plugging. ;)
With an architecture in place which could do the automated analyses,
determining a /percentage/ completion would still be tough. You can generate
a list of what isn't done yet, but how do you translate this into a
percentage figure? Some classes and methods will be much harder to implement
than others. You could probably come up with an estimate, but it'll never be
an accurate representation of how much work is left to be done unless each
class is gone through and assigned some numeric value indicating
'difficulty' is assigned. Still, I suppose that, as long as this was well
publicised, it would be a usefull figure non-the less (if updated nightly,
perhaps).
Anyway, give me feedback on the attached stuff.
(Miguel, FYI this is very much different from the one I sent you before).
- James Perry
------=_NextPart_000_0000_01C11C60.7BAEB590
Content-Type: application/octet-stream;
name="XSharp.dtd"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="XSharp.dtd"
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<!--
XSharp.dtd - Version 0.20
Description of subset of C# Syntax in XML for administration, automated =
analyses and automated document generation for .NET Framework class =
library.
Copyright (C) 2001 James Perry
May be distributed under the terms of the GPL (version 2 or later).
-->
<!--
Changes:
0.20 Replaced old definitions which were heavy on attributes with new
ones which make much greater use of attributes - this makes
everything look a lot cleaner.
Added C# syntax to comments to clarify the purpose of each=20
section.
0.10 Initial version
TODO:
Documentation and Administrivia namespaces
-->
<!ELEMENT xsharp (attributes?, namespaces)>
<!-- Namespaces:
namespace-declaration : "namespace" qualified-identifier namespace-body =
";" ;
qualified-identifier : identifier
| qualified-identifier "." identifier ;
namespace-bodye : "{" namespace-member-declarations-opt "}" ;
namespace-member-declarations-opt :
| namespace-member-declarations ;
namespace-member-declarations : namespace-member-declaration
| namespace-member-declarations namespace-member-declaration ;
namespace-member-declaration : namespace-declaration
| type-decalaration ;
type-declaration : class-declaratoin
| struct-declaratoin
| interface-declaratoin
| enum-declaration
| delegate-declaration ;
-->
<!ELEMENT namespace (namespace*, class*, struct*, interface*, enum*,=20
delegate*)>
<!ATTLIST namespace
name CDATA #REQUIRED
>
<!-- Attribute:
attributes : attribute-sections ;
attribute-sections : attribute-section ;
| attribute-sections attribute-section ;
attribute-section : "[" attribute-target-specifier-opt attribute-list =
"]"
| "[" attribute-target-specifier-opt attribute-list "," "]";
attribute-target-specifier-opt :
| attribute-target-specifier;
attribute-target-specifier : attribute-target ":" ;
attribute-target : "assembly"
| "field"
| "event"
| "method"
| "module"
| "param"
| "property"
| "return"
| "type"
;
attribute-list : attribute
| attribute-list "," attribute ;
attribute : attribute-name attribute-arguments-opt ;
attribute-name : reserved-attribute-name
| type-name ;
attribute-arguments-opt :
| attribute-arguments ;
attribute-arguments : "(" positional-argument-list ")"
| "(" positional-argument-list "," named-argument-list ")"
| "(" named-argument-list ")" ;
positional-argument-list : positional-argument
| positional-argument-list "," positional-argument ;
positional-argument : attribute-argument-expression ;
named-argument-list : named-argument
| named-argument-list "," named-argument ;
named-argument : identifier "=3D" attribute-argument-expression ;
attribute-argument-expression : expression ;
-->
<!ELEMENT attributes (attribute*)>=09
<!ELEMENT attribute (parameter, named_parameter)>
<!ATTLIST attribute
name CDATA #REQUIRED
>
<!ELEMENT parameter (#PCDATA)>
<!ATTLIST parameter
type CDATA #IMPLIED
>
<!ELEMENT named_parameter (#PCDATA)>
<!ATTLIST named_parameter
name CDATA #REQUIRED
type CDATA #IMPLIED
>
<!-- Class:
class-declaration : attributes-opt class-modifiers-opt "class" =
identifier=20
class-base-opt class-body ";" ;
class-modifiers-opt :
| class-modifiers ;
class-modifiers : class-modifier
| class-modifiers class-modifier ;
class-modifier : "new" | "public" | "protected" | "internal" |=20
"private" | "abstract" | "sealed" ;
class-base-opt :
| class-base ;
class-base : ":" class-type
| ":" interface-type-list
| ":" class-type "," interface-type-list ;
interface-type-list : interface-type
| interface-type-list "," interface-type ;
class-body : "{" class-member-declarations-opt "}" ;
class-member-declarations-opt :
| class-member-declarations ;
class-member-declarations : class-member-declaration
| class-member-declarations class-member-declaration ;
class-member-declaration : constant-declaration
| field-declaration
| method-declaration
| property-declaratoin
| event-declaration
| indexer-declaration
| operator-declaration
| destructor-declaration
| static-constructor-declaration
| type-declaration ;
-->
<!ELEMENT class (attributes?, constant*, field*, method*, property*, =
event*,
indexer*, operator*, constructor*, destructor*,=20
static_constructor*, class*, struct*, interface*, enum*,
delegate*)>
=09
<!ATTLIST class
name CDATA #REQUIRED
modifiers CDATA #IMPLIED
base CDATA "System.Object"
interfaces CDATA #IMPLIED
>
<!-- Struct:
struct-declaration : attributes-opt struct-modifiers-opt "struct" =
identifier
struct-interfaces-opt struct-body ";" ;
struct-modifiers-opt :
| struct-modifiers
struct-modifiers : struct-modifier
| struct-modifiers struct-modifier ;
struct-modifier : "new" | "public" | "protected" | "internal" | =
"private" ;
struct-interfaces : ":" interface-type-list ;
struct-body : "{" struct-member-declarations-opt "}" ;
struct-member-declarations-opt :
| struct-member-declarations ;
struct-member-declarations : struct-member-declaration
| struct-member-declarations struct-member-declaration ;
struct-member-declaration: constant-declaration
| field-declaration
| method-declaration
| property-declaration
| event-declaration
| indexer-declaration
| operator-declaration
| constructor-declaration
| static-constructor-declaration
| type-declaration ;
-->
<!ELEMENT struct (attributes?, constant*, field*, method*, property*,=20
event*, indexer*, operator*, constructor*,=20
static_constructor*, class*, struct*, interface*, enum*,
delegate*)>
=09
<!ATTLIST struct
name CDATA #REQUIRED
modifiers CDATA #IMPLIED
interfaces CDATA #IMPLIED
>
<!-- Interface:
interface-declaration : attributes-opt interface-modifiers-opt =
"interface"
identifier interface-base-opt interface-body ";" ;
interface-modifiers-opt :
| interface-modifiers ;
interface-modifiers : interface-modifier
| interface-modifiers "," interface-modifier ;
interface-base : ":" interface-type-list ;
interface-body : "{" interface-member-declarations-opt "}" ;
interface-member-declarations-opt :
| interface-member-declarations ;
interface-member-declarations : interface-member-declaration
| interface-member-declarations interface-member-declaration ;
interface-member-declaration : interface-method-declaration
| interface-property-declaration
| interface-event-declaration
| interface-indexer-declaration ;
interface-method-declaration : attributes-opt new-opt return-type =
identifier
"(" formal-parameter-list-opt ")" ";" ;
new-opt :
| "new" ;
formal-parameter-list-opt :
| formal-parameter-list ;
interface-propety-declaration : attributes-opt new-opt type identifier =
"{"=20
interface-accessors "}" ;
interface-accessors : attributes-opt "get" ";"
| attributes-opt "set" ";"
| attributes-opt "get" ";" attributes-opt "set" ";"
| attributes-opt "set" ";" attributes-opt "get" ";" ;
interface-event-declaration : attributes-opt new-opt "event" type=20
identifier ";" ;
interface-indexer-declaration : attributes-opt new-opt type "this" "["=20
formal-parameter-list "]" "{"=20
interface-accessors "}" ;
=09
-->
<!ELEMENT interface (attributes?, method*, property*, event*, =
indexer*)>
<!ATTLIST interface
name CDATA #REQUIRED
modifiers CDATA #IMPLIED
interface CDATA #IMPLIED
>
<!-- Enum:
enum-declaration : attributes-opt enum-modifiers-opt "enum" identifier=20
enum-base-opt enum-body ";" ;
enum-modifiers-opt :
| enum-modifiers ;
enum-modifiers : enum-modifier ;
| enum-modifiers enum-modifier ;
enum-modifier : "new" | "public" | "protected" | "protected" | =
"internal" |
"private" ;
enum-base-opt :
| enum-base ;
enum-base : ":" integral-type ;
enum-body : "{" enum-member-declarations-opt "}"
| "{" enum-member-declarations "," "}" ;
enum-member-declarations-opt :
| enum-member-declarations ;
enum-member-declarations: enum-member-declarattion
| enum-member-declaration "," enum-member-declaration ;
enum-member-declaration : attributes-opt identifier
| attributes-opt identifier "=3D" constant-expression ;
-->
<!ELEMENT enum (attributes?, value*)>
<!ATTLIST enum
name CDATA #REQUIRED
type CDATA #IMPLIED
modifiers CDATA #IMPLIED
>
<!ELEMENT value EMPTY>
<!ATTLIST value
name CDATA #REQUIRED
value CDATA #IMPLIED
>
<!-- Delegate:
delegate-declaration : attributes-opt delegate-modifiers-opt "delegate" =
result-type identifier "(" formal-parameter-list ")"
";" ;
=09
delegate-modifiers-opt :
| delegate-modifiers ;
delegate-modifiers : delegate-modifier
| delegate-modifiers "," delegate-modifier ;
delegate-modifier : "new" | "public" | "protected" | "internal" | =
"private";
-->
<!ELEMENT delegate (attributes?, parameter*, parameter_array?)>
<!ATTLIST delegate
name CDATA #REQUIRED
type CDATA #REQUIRED
modifiers CDATA #IMPLIED
>
<!-- Constant:
constant-declaration : attributes-opt constant-modifiers-opt const type =
constant-declarators ";" ;
constant-modifiers-opt :
| constant-modifiers ;
constant-modifiers : constant-modifier
| constant-modifier "," constant-modifier ;
constant-modifier : "new" | "public" | "protected" | "internal" | =
"private";
constant-declarators : constant-declarator
| constant-declarators "," constant-declarator ;
constant-declarator : identifier "=3D" constant-expression ;
-->
<!ELEMENT constant (attributes?)>
<!ATTLIST constant
name CDATA #REQUIRED
type CDATA #REQUIRED
value CDATA #REQUIRED
modifiers CDATA #IMPLIED
>
<!-- Field:
field-declaration : attributes-opt field-modifiers-opt type=20
variable-declarators ";" ;
field-modifiers-opt :
| field-modifiers ;
field-modifiers : field-modifier
| field-modifiers field-modifier ;
field-modifier : "new" | "public" | "protected" | "internal" | =
"private" |=20
"static" | "readonly" ;
variable-declarators : variable-declarator
| variable-declarators "," variable-declarator ;
variable-declarator : identifier
| identifier "=3D" variable-initializer ;
variable-initializer : expression
| array-initializer ;
-->
<!ELEMENT field (attributes?)>
<!ATTLIST field
name CDATA #REQUIRED
type CDATA #REQUIRED
value CDATA #IMPLIED
modifiers CDATA #IMPLIED
>
<!-- Method:
method-declaration : method-header method-body ;
method-header : attributes-opt method-modifiers-opt return-type =
member-name
"(" formal-parameter-list-opt ")" ;
method-body : block ;
method-modifiers-opt :
| method-modifiers ;
method-modifiers : method-modifier
| method-modifiers method-modifier ;
method-modifier : "new" | "public" | "protected" | "internal" | =
"private" |=20
"static" | "virtual" | "sealed" | "override" |=20
"abstract" | "extern" ;
=09
return-type : type
| "void" ;
member-name : identifier
| interface-type "." identifier ;
formal-parameter-list : fixed-parameters
| fixed-parameters "," parameter-array
| parameter-array ;
fixed-parameters : fixed-parameter
| fixed-parameters "," fixed-parameter ;
fixed-parameter : attributes-opt parameter-modifier-opt type identifier =
;
parameter-modifier : "ref" | "out" ;
=09
parameter-array : attributes-opt "params" array-type identifier ;
-->
<!ELEMENT method (attribute*, parameter*, parameter_array?)>
<!ATTLIST method
name CDATA #REQUIRED
type CDATA #REQUIRED
modifiers CDATA #IMPLIED
>
=09
<!ELEMENT parameter (attribute*)>
<!ATTLIST parameter
type CDATA #REQUIRED
name CDATA #IMPLIED
modifiers CDATA #IMPLIED
>
=09
<!ELEMENT parameter_array (attribute*)>
<!ATTLIST parameter_array
type CDATA #REQUIRED
name CDATA #IMPLIED
modifiers CDATA #IMPLIED
>
<!-- Property:
property-declaration : attributes-opt property-modifiers-opt type=20
member-name "{" accessor-declarations "}" ;
property-modifiers-opt :
| property-modifiers;
property-modifiers : property-modifier
| property-modifiers property-modifier ;
property-modifier : "new" | "public" | "protected" | "internal" |=20
"private" | "static" | "virtual" | "sealed" |=20
"override" | "abstract" ;
member-name : identifier
| interface-type "." identifier ;
accessor-declarations : get-accessor-declaration=20
set-accessor-declaration-opt
| set-accessor-declaration=20
get-accessor-declaration-opt ;
get-accessor-declaration-opt:
| get-accessor-declaration
get-accessor-declaration : attributes-opt "get" accessor-body ;
set-accessor-declaration-opt:
| set-accessor-declaration
set-accessor-declaration : attributes-opt "set" accessor-body ;
accessor-body : block ";" ;
-->
<!ELEMENT property (attributes?, get?, set?)>
<!ATTLIST property
name CDATA #REQUIRED
type CDATA #REQUIRED
modifiers CDATA #IMPLIED
>
<!ELEMENT get (attributes?)>
<!ELEMENT set (attributes?)>
<!-- Event:
event-declaration : attributes-opt event-modifiers-opt "event" type=20
variable-declarators ";"
| attributes-opt event-modifiers-opt "event" type=20
member-name "{" event-accessor-declarations "}" ;
event-modifiers-opt :
| event-modifiers ;
event-modifiers : event-modifier
| event-modifiers event-modifier ;
event-modifier : "new" | "public" | "protected" | "internal" | =
"private" |=20
"static" | "virtual" | "sealed" | "override" | "abstract" ;
=09
event-accessor-declarations: add-accessor-declaration=20
remove-accessor-declaration
| remove-accessor-declaration=20
add-accessor-declaration ;
add-accessor-declaration: attributes-opt "add" block ;
remove-accessor-declaration: attributes-opt "remove" block ;
-->
<!ELEMENT event (get?, set?)>
<!ATTLIST property
name CDATA #REQUIRED
type CDATA #REQUIRED
modifiers CDATA #IMPLIED
>
<!-- Indexer:
indexer-declaration : attributes-opt indexer-modifiers-opt=20
indexer-declarator "{" accessor-declarations "}" ;
=09
indexer-modifiers-opt :
| indexer-modifiers ;
indexer-modifier : "new" | "public" | "protected" | "internal" | =
"private"
| "virtual" | "sealed" | "override" | "abstract" ;
indexer-declarator : type this "[" formal-parameter-list "]" ;
| type interface-type "." "this" "[" formal-parameter-list "]" ;
-->
<!ELEMENT indexer (attributes?, get?, set?)>
<!ATTLIST indexer
type CDATA #REQUIRED
interface CDATA #IMPLIED
modifiers CDATA #IMPLIED
>
<!-- Operator:
operator-declaration : attributes-opt operator-modifiers=20
operator-declarator block ;
operator-modifiers : "public" "static"
| "static" "public" ;
operator-declarator : unary-operator-declarator
| binary-operator-declarator
| conversion-operator-declarator ;
unary-operator-declarator: type "operator" overloadable-unary-operator =
"("=20
type identifier ")" ;
overloadable-unary-operator: "+" | "-" | "!" | "~" | "++" | "-""-" |=20
"true" | "false" ;
binary-operator-declarator: type "operator" =
overloadable-binary-operator
"(" type identifier "," type identifier ")" ;
overloadable-binary-operator: "+" | "-" | "*" | "/" | "%" | "&" | "^" | =
"<<" | ">>" | "=3D=3D" | "!=3D" | ">" | "<" |=20
">=3D" | "<=3D" ;
=09
conversion-operator-declarator: "implicit" "operator" type "(" type=20
identifier ")"
| "explicit" "operator" type "(" type=20
identifier ")" ;
-->
<!ELEMENT operator (attributes?, parameter*)>
<!ATTLIST operator
name CDATA #REQUIRED
type CDATA #REQUIRED
modifiers CDATA #IMPLIED
conversion (implied | explicit) #IMPLIED
>
<!-- Constructor:
constructor-declaration : attributes-opt constructor-modifiers-opt=20
constructor-declarator block ;
constructor-modifiers-opt:
| constructor-modifiers ;
constructor-modifiers : constructor-modifier
| constructor-modifiers constructor-modifier ;
constructor-declarator : identifier "(" formal-parameter-list-opt ")"=20
constructor-initializer-opt
=09
constructor-initializer-opt:
| constructor-initializer ;
constructor-initializer : ":" "base" "(" argument-list-opt ")"
| ":" "this" "(" argument-list-opt ")" ;=09
-->
<!ELEMENT constructor (attributes?, (this_initializer | =
base_initializer),=20
parameter*, parameter_array?)>
<!ATTLIST constructor
modifiers CDATA #IMPLIED
>
<!ELEMENT this_initializer (argument*)>
<!ELEMENT base_initializer (argument*)>
<!-- Static-Constructor:
static-constructor-declaration: attributes-opt "static" identifier "(" =
")"=20
block ;
-->
<!ELEMENT static_constructor (attributes?)>
<!-- Destructor:
destructor-declaration : attributes-opt "~" identifier "(" ")" block;
-->
<!ELEMENT destructor (attributes?)>
<!-- EOF -->
------=_NextPart_000_0000_01C11C60.7BAEB590
Content-Type: text/xml;
name="Sample.XML"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="Sample.XML"
=EF=BB=BF<?xml version=3D"1.0" encoding=3D"UTF-8" standalone=3D"no"?>
<!DOCTYPE xsharp SYSTEM "file://c:/proj/mono/xsharp/XSharp.dtd">
<xsharp>
<namespaces>
<namespace name=3D"System">
<enum name=3D"AttributeTargets" modifiers=3D"public">
<value name=3D"All"/>
<value name=3D"Assembly"/>
<value name=3D"Class"/>
<value name=3D"ClassMembers"/>
<value name=3D"Constructor"/>
<value name=3D"Delegate"/>
<value name=3D"Enum"/>
<value name=3D"Event"/>
<value name=3D"Field"/>
<value name=3D"Interface"/>
<value name=3D"Method"/>
<value name=3D"Module"/>
<value name=3D"Parameter"/>
<value name=3D"Property"/>
<value name=3D"ReturnValue"/>
<value name=3D"Struct"/>
</enum>
<class name=3D"Object" base=3D"">
<method name=3D"Equals" type=3D"System.Boolean" =
modifiers=3D"public,virtual">
<parameter type=3D"System.Object"/>
</method>
<method name=3D"Finalize" type=3D"void" =
modifiers=3D"protected,virtual"/>
<method name=3D"GetHashCode" type=3D"System.Int32" =
modifiers=3D"public,virtual"/>
<method name=3D"GetType" type=3D"System.Type" modifiers=3D"public"/>
<method name=3D"MemberwiseClone" type=3D"System.Object" =
modifiers=3D"protected"/>
<method name=3D"ToString" type=3D"System.String" =
modifiers=3D"public,virtual"/>
</class>
<struct name=3D"Guid" interfaces=3D"IFormattable,IComparable" =
modifiers=3D"public">
<constructor modifiers=3D"public">
<parameter type=3D"System.Byte[]" name=3D"b"/>
</constructor>
<constructor modifiers=3D"public">
<parameter type=3D"System.String" name=3D"g"/>
</constructor>
<constructor modifiers=3D"public">
<parameter type=3D"System.Int32" name=3D"a"/>
<parameter type=3D"System.Int16" name=3D"b"/>
<parameter type=3D"System.Int16" name=3D"c"/>
<parameter type=3D"System.Byte[]" name=3D"d"/>
</constructor>
<constructor modifiers=3D"public">
<parameter type=3D"System.Int32" name=3D"a"/>
<parameter type=3D"System.Int16" name=3D"b"/>
<parameter type=3D"System.Int16" name=3D"c"/>
<parameter type=3D"System.Byte" name=3D"d"/>
<parameter type=3D"System.Byte" name=3D"e"/>
<parameter type=3D"System.Byte" name=3D"f"/>
<parameter type=3D"System.Byte" name=3D"g"/>
<parameter type=3D"System.Byte" name=3D"h"/>
<parameter type=3D"System.Byte" name=3D"i"/>
<parameter type=3D"System.Byte" name=3D"j"/>
<parameter type=3D"System.Byte" name=3D"k"/>
</constructor>
<constructor modifiers=3D"public">
<parameter type=3D"System.UInt32" name=3D"a"/>
<parameter type=3D"System.UInt16" name=3D"b"/>
<parameter type=3D"System.UInt16" name=3D"c"/>
<parameter type=3D"System.Byte" name=3D"d"/>
<parameter type=3D"System.Byte" name=3D"e"/>
<parameter type=3D"System.Byte" name=3D"f"/>
<parameter type=3D"System.Byte" name=3D"g"/>
<parameter type=3D"System.Byte" name=3D"h"/>
<parameter type=3D"System.Byte" name=3D"i"/>
<parameter type=3D"System.Byte" name=3D"j"/>
<parameter type=3D"System.Byte" name=3D"k"/>
</constructor>
<field name=3D"Empty" type=3D"System.Guid" =
modifiers=3D"public,static,readonly"/> =09
<method name=3D"CompareTo" type=3D"System.Int32" =
modifiers=3D"public">
<parameter type=3D"System.Object" name=3D"value"/>
</method>
<method name=3D"Equals" type=3D"System.Boolean" =
modifiers=3D"public,override">
<parameter type=3D"System.Object" name=3D"o"/>
</method>
<method name=3D"GetHashCode" type=3D"System.Int32" =
modifiers=3D"public,override"/>
<method name=3D"NewGuid" type=3D"System.Guid" =
modifiers=3D"public,static"/>
<method name=3D"ToByteArray" type=3D"System.Byte[]" =
modifiers=3D"public"/>
<method name=3D"ToString" type=3D"System.String" =
modifiers=3D"public,override"/>
<method name=3D"ToString" type=3D"System.String" =
modifiers=3D"public">
<parameter type=3D"System.String" name=3D"format"/>
</method>
<method name=3D"ToString" type=3D"System.String" =
modifiers=3D"public">
<parameter type=3D"System.String" name=3D"format"/>
<parameter type=3D"System.IFormatProvider" name=3D"provider"/>
</method>
<operator name=3D"Equality" type=3D"System.Boolean" =
modifiers=3D"public,static">
<parameter type=3D"System.Guid" name=3D"a"/>
<parameter type=3D"System.Guid" name=3D"b"/>
</operator>
<operator name=3D"Inequality" type=3D"System.Boolean" =
modifiers=3D"public,static">
<parameter type=3D"System.Guid" name=3D"a"/>
<parameter type=3D"System.Guid" name=3D"b"/>
</operator>
</struct>
<delegate name=3D"AssemblyLoadEventHandler" type=3D"void" =
modifiers=3D"public">
<parameter type=3D"System.Object" name=3D"sender"/>
<parameter type=3D"System.AssemblyLoadEventArgs" name=3D"args"/>
</delegate>
<interface name=3D"IAppDomainSetup" modifiers=3D"public">
<property name=3D"ApplicationBase" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"ApplicationName" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"CachePath" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"ConfigurationFile" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"DynamicBase" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"LicenseFile" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"PrivateBinPath" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"PrivateBinPathProbe" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"ShadowCopyDirectories" type=3D"System.String">
<get/>
<set/>
</property>
<property name=3D"ShadowCopyFiles" type=3D"System.String">
<get/>
<set/>
</property>
</interface>
</namespace>
</namespaces>
</xsharp>
------=_NextPart_000_0000_01C11C60.7BAEB590--