Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / XmlUtils / System / Xml / Xsl / Xslt / Compiler.cs / 1 / Compiler.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Xml.XPath;
using System.Xml.Xsl.Qil;
using System.Xml.Xsl.XPath;
namespace System.Xml.Xsl.Xslt {
using Res = System.Xml.Utils.Res;
using TypeFactory = XmlQueryTypeFactory;
using XmlILTrace = System.Xml.Xsl.IlGen.XmlILTrace;
internal enum XslVersion {
Version10 = 0,
ForwardsCompatible = 1,
Current = Version10,
}
internal class Compiler {
public XsltSettings Settings;
public bool IsDebug;
public string ScriptAssemblyPath;
public CompilerResults CompilerResults; // Results of the compilation
public Stylesheet PrincipalStylesheet; // Principal stylesheet module
public int CurrentPrecedence = 0; // Decreases by 1 with each import
public XslNode StartApplyTemplates;
public Scripts Scripts;
public Output Output = new Output();
public List ExternalPars = new List();
public List GlobalVars = new List();
public List WhitespaceRules = new List();
public DecimalFormats DecimalFormats = new DecimalFormats();
public Keys Keys = new Keys();
public List AllTemplates = new List();
public Dictionary AllGlobalVarPars = new Dictionary();
public Dictionary NamedTemplates = new Dictionary();
public Dictionary AttributeSets = new Dictionary();
public Dictionary NsAliases = new Dictionary();
public Dictionary ModeFlags = new Dictionary();
public Dictionary> ApplyTemplatesFunctions = new Dictionary>();
public Compiler(XsltSettings settings, bool debug, string scriptAssemblyPath) {
Debug.Assert(CompilerResults == null, "Compiler cannot be reused");
// Keep all intermediate files if tracing is enabled
TempFileCollection tempFiles = settings.TempFiles ?? new TempFileCollection();
if (XmlILTrace.IsEnabled) {
tempFiles.KeepFiles = true;
}
Settings = settings;
IsDebug = settings.IncludeDebugInformation | debug;
ScriptAssemblyPath = scriptAssemblyPath;
CompilerResults = new CompilerResults(tempFiles);
Scripts = new Scripts(this);
}
public CompilerResults Compile(object stylesheet, XmlResolver xmlResolver, out QilExpression qil) {
Debug.Assert(stylesheet != null);
Debug.Assert(PrincipalStylesheet == null, "Compiler cannot be reused");
new XsltLoader().Load(this, stylesheet, xmlResolver);
qil = QilGenerator.CompileStylesheet(this);
return CompilerResults;
}
public Stylesheet CreateStylesheet() {
Stylesheet sheet = new Stylesheet(this, CurrentPrecedence);
if (CurrentPrecedence-- == 0) {
PrincipalStylesheet = sheet;
}
return sheet;
}
public void ApplyNsAliases(ref string prefix, ref string nsUri) {
NsAlias alias;
if (NsAliases.TryGetValue(nsUri, out alias)) {
nsUri = alias.ResultNsUri;
prefix = alias.ResultPrefix;
}
}
// Returns true in case of redefinition
public bool SetNsAlias(string ssheetNsUri, string resultNsUri, string resultPrefix, int importPrecedence) {
NsAlias oldNsAlias;
if (NsAliases.TryGetValue(ssheetNsUri, out oldNsAlias)) {
// Namespace alias for this stylesheet namespace URI has already been defined
Debug.Assert(importPrecedence <= oldNsAlias.ImportPrecedence, "Stylesheets must be processed in the order of decreasing import precedence");
if (importPrecedence < oldNsAlias.ImportPrecedence || resultNsUri == oldNsAlias.ResultNsUri) {
// Either the identical definition or lower precedence - ignore it
return false;
}
// Recover by choosing the declaration that occurs later in the stylesheet
}
NsAliases[ssheetNsUri] = new NsAlias(resultNsUri, resultPrefix, importPrecedence);
return oldNsAlias != null;
}
private void MergeWhitespaceRules(Stylesheet sheet) {
for (int idx = 0; idx <= 2; idx++) {
sheet.WhitespaceRules[idx].Reverse();
this.WhitespaceRules.AddRange(sheet.WhitespaceRules[idx]);
}
sheet.WhitespaceRules = null;
}
private void MergeAttributeSets(Stylesheet sheet) {
foreach (QilName attSetName in sheet.AttributeSets.Keys) {
AttributeSet attSet;
if (!this.AttributeSets.TryGetValue(attSetName, out attSet)) {
this.AttributeSets[attSetName] = sheet.AttributeSets[attSetName];
} else {
// Lower import precedence - insert before all previous definitions
attSet.MergeContent(sheet.AttributeSets[attSetName]);
}
}
sheet.AttributeSets = null;
}
private void MergeGlobalVarPars(Stylesheet sheet) {
foreach (VarPar var in sheet.GlobalVarPars) {
Debug.Assert(var.NodeType == XslNodeType.Variable || var.NodeType == XslNodeType.Param);
if (!AllGlobalVarPars.ContainsKey(var.Name)) {
if (var.NodeType == XslNodeType.Variable) {
GlobalVars.Add(var);
} else {
ExternalPars.Add(var);
}
AllGlobalVarPars[var.Name] = var;
}
}
sheet.GlobalVarPars = null;
}
public void MergeWithStylesheet(Stylesheet sheet) {
MergeWhitespaceRules(sheet);
MergeAttributeSets(sheet);
MergeGlobalVarPars(sheet);
}
public static string ConstructQName(string prefix, string localName) {
if (prefix.Length == 0) {
return localName;
} else {
return prefix + ':' + localName;
}
}
public bool ParseQName(string qname, out string prefix, out string localName, IErrorHelper errorHelper) {
Debug.Assert(qname != null);
try {
ValidateNames.ParseQNameThrow(qname, out prefix, out localName);
return true;
}
catch (XmlException e) {
errorHelper.ReportError(/*[XT_042]*/e.Message, null);
prefix = PhantomNCName;
localName = PhantomNCName;
return false;
}
}
public bool ParseNameTest(string nameTest, out string prefix, out string localName, IErrorHelper errorHelper) {
Debug.Assert(nameTest != null);
try {
ValidateNames.ParseNameTestThrow(nameTest, out prefix, out localName);
return true;
}
catch (XmlException e) {
errorHelper.ReportError(/*[XT_043]*/e.Message, null);
prefix = PhantomNCName;
localName = PhantomNCName;
return false;
}
}
public void ValidatePiName(string name, IErrorHelper errorHelper) {
Debug.Assert(name != null);
try {
ValidateNames.ValidateNameThrow(
/*prefix:*/string.Empty, /*localName:*/name, /*ns:*/string.Empty,
XPathNodeType.ProcessingInstruction, ValidateNames.Flags.AllExceptPrefixMapping
);
}
catch (XmlException e) {
errorHelper.ReportError(/*[XT_044]*/e.Message, null);
}
}
public readonly string PhantomNCName = "error";
private int phantomNsCounter = 0;
public string CreatePhantomNamespace() {
// Prepend invalid XmlChar to ensure this name would not clash with any namespace name in the stylesheet
return "\0namespace" + phantomNsCounter++;
}
public bool IsPhantomNamespace(string namespaceName) {
return namespaceName.Length > 0 && namespaceName[0] == '\0';
}
public bool IsPhantomName(QilName qname) {
string nsUri = qname.NamespaceUri;
return nsUri.Length > 0 && nsUri[0] == '\0';
}
// -------------------------------- Error Handling --------------------------------
private int ErrorCount {
get {
return CompilerResults.Errors.Count;
}
set {
Debug.Assert(value <= ErrorCount);
for (int idx = ErrorCount - 1; idx >= value; idx--) {
CompilerResults.Errors.RemoveAt(idx);
}
}
}
private int savedErrorCount = -1;
public void EnterForwardsCompatible() {
Debug.Assert(savedErrorCount == -1, "Nested EnterForwardsCompatible calls");
savedErrorCount = ErrorCount;
}
// Returns true if no errors were suppressed
public bool ExitForwardsCompatible(bool fwdCompat) {
Debug.Assert(savedErrorCount != -1, "ExitForwardsCompatible without EnterForwardsCompatible");
if (fwdCompat && ErrorCount > savedErrorCount) {
ErrorCount = savedErrorCount;
Debug.Assert((savedErrorCount = -1) < 0);
return false;
}
Debug.Assert((savedErrorCount = -1) < 0);
return true;
}
public CompilerError CreateError(ISourceLineInfo lineInfo, string res, params string[] args) {
return new CompilerError(
lineInfo.Uri, lineInfo.StartLine, lineInfo.StartPos, /*errorNumber:*/string.Empty,
/*errorText:*/XslTransformException.CreateMessage(res, args)
);
}
public void ReportError(ISourceLineInfo lineInfo, string res, params string[] args) {
CompilerError error = CreateError(lineInfo, res, args);
CompilerResults.Errors.Add(error);
}
public void ReportWarning(ISourceLineInfo lineInfo, string res, params string[] args) {
int warningLevel = 1;
if (0 <= Settings.WarningLevel && Settings.WarningLevel < warningLevel) {
// Ignore warning
return;
}
CompilerError error = CreateError(lineInfo, res, args);
if (Settings.TreatWarningsAsErrors) {
error.ErrorText = XslTransformException.CreateMessage(Res.Xslt_WarningAsError, error.ErrorText);
CompilerResults.Errors.Add(error);
} else {
error.IsWarning = true;
CompilerResults.Errors.Add(error);
}
}
}
internal class Output {
public XmlWriterSettings Settings;
public string Version;
public string Encoding;
public XmlQualifiedName Method;
// All the xsl:output elements occurring in a stylesheet are merged into a single effective xsl:output element.
// We store the import precedence of each attribute value to catch redefinitions with the same import precedence.
public const int NeverDeclaredPrec = int.MinValue;
public int MethodPrec = NeverDeclaredPrec;
public int VersionPrec = NeverDeclaredPrec;
public int EncodingPrec = NeverDeclaredPrec;
public int OmitXmlDeclarationPrec = NeverDeclaredPrec;
public int StandalonePrec = NeverDeclaredPrec;
public int DocTypePublicPrec = NeverDeclaredPrec;
public int DocTypeSystemPrec = NeverDeclaredPrec;
public int IndentPrec = NeverDeclaredPrec;
public int MediaTypePrec = NeverDeclaredPrec;
public Output() {
Settings = new XmlWriterSettings();
Settings.OutputMethod = XmlOutputMethod.AutoDetect;
Settings.AutoXmlDeclaration = true;
Settings.ConformanceLevel = ConformanceLevel.Auto;
Settings.MergeCDataSections = true;
}
}
internal class DecimalFormats : KeyedCollection {
protected override XmlQualifiedName GetKeyForItem(DecimalFormatDecl format) {
return format.Name;
}
}
internal class DecimalFormatDecl {
public readonly XmlQualifiedName Name;
public readonly string InfinitySymbol;
public readonly string NanSymbol;
public readonly char[] Characters;
public static DecimalFormatDecl Default = new DecimalFormatDecl(new XmlQualifiedName(), "Infinity", "NaN", ".,%\u20300#;-");
public DecimalFormatDecl(XmlQualifiedName name, string infinitySymbol, string nanSymbol, string characters) {
Debug.Assert(characters.Length == 8);
this.Name = name;
this.InfinitySymbol = infinitySymbol;
this.NanSymbol = nanSymbol;
this.Characters = characters.ToCharArray();
}
}
internal class NsAlias {
public readonly string ResultNsUri;
public readonly string ResultPrefix;
public readonly int ImportPrecedence;
public NsAlias(string resultNsUri, string resultPrefix, int importPrecedence) {
this.ResultNsUri = resultNsUri;
this.ResultPrefix = resultPrefix;
this.ImportPrecedence = importPrecedence;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Xml.XPath;
using System.Xml.Xsl.Qil;
using System.Xml.Xsl.XPath;
namespace System.Xml.Xsl.Xslt {
using Res = System.Xml.Utils.Res;
using TypeFactory = XmlQueryTypeFactory;
using XmlILTrace = System.Xml.Xsl.IlGen.XmlILTrace;
internal enum XslVersion {
Version10 = 0,
ForwardsCompatible = 1,
Current = Version10,
}
internal class Compiler {
public XsltSettings Settings;
public bool IsDebug;
public string ScriptAssemblyPath;
public CompilerResults CompilerResults; // Results of the compilation
public Stylesheet PrincipalStylesheet; // Principal stylesheet module
public int CurrentPrecedence = 0; // Decreases by 1 with each import
public XslNode StartApplyTemplates;
public Scripts Scripts;
public Output Output = new Output();
public List ExternalPars = new List();
public List GlobalVars = new List();
public List WhitespaceRules = new List();
public DecimalFormats DecimalFormats = new DecimalFormats();
public Keys Keys = new Keys();
public List AllTemplates = new List();
public Dictionary AllGlobalVarPars = new Dictionary();
public Dictionary NamedTemplates = new Dictionary();
public Dictionary AttributeSets = new Dictionary();
public Dictionary NsAliases = new Dictionary();
public Dictionary ModeFlags = new Dictionary();
public Dictionary> ApplyTemplatesFunctions = new Dictionary>();
public Compiler(XsltSettings settings, bool debug, string scriptAssemblyPath) {
Debug.Assert(CompilerResults == null, "Compiler cannot be reused");
// Keep all intermediate files if tracing is enabled
TempFileCollection tempFiles = settings.TempFiles ?? new TempFileCollection();
if (XmlILTrace.IsEnabled) {
tempFiles.KeepFiles = true;
}
Settings = settings;
IsDebug = settings.IncludeDebugInformation | debug;
ScriptAssemblyPath = scriptAssemblyPath;
CompilerResults = new CompilerResults(tempFiles);
Scripts = new Scripts(this);
}
public CompilerResults Compile(object stylesheet, XmlResolver xmlResolver, out QilExpression qil) {
Debug.Assert(stylesheet != null);
Debug.Assert(PrincipalStylesheet == null, "Compiler cannot be reused");
new XsltLoader().Load(this, stylesheet, xmlResolver);
qil = QilGenerator.CompileStylesheet(this);
return CompilerResults;
}
public Stylesheet CreateStylesheet() {
Stylesheet sheet = new Stylesheet(this, CurrentPrecedence);
if (CurrentPrecedence-- == 0) {
PrincipalStylesheet = sheet;
}
return sheet;
}
public void ApplyNsAliases(ref string prefix, ref string nsUri) {
NsAlias alias;
if (NsAliases.TryGetValue(nsUri, out alias)) {
nsUri = alias.ResultNsUri;
prefix = alias.ResultPrefix;
}
}
// Returns true in case of redefinition
public bool SetNsAlias(string ssheetNsUri, string resultNsUri, string resultPrefix, int importPrecedence) {
NsAlias oldNsAlias;
if (NsAliases.TryGetValue(ssheetNsUri, out oldNsAlias)) {
// Namespace alias for this stylesheet namespace URI has already been defined
Debug.Assert(importPrecedence <= oldNsAlias.ImportPrecedence, "Stylesheets must be processed in the order of decreasing import precedence");
if (importPrecedence < oldNsAlias.ImportPrecedence || resultNsUri == oldNsAlias.ResultNsUri) {
// Either the identical definition or lower precedence - ignore it
return false;
}
// Recover by choosing the declaration that occurs later in the stylesheet
}
NsAliases[ssheetNsUri] = new NsAlias(resultNsUri, resultPrefix, importPrecedence);
return oldNsAlias != null;
}
private void MergeWhitespaceRules(Stylesheet sheet) {
for (int idx = 0; idx <= 2; idx++) {
sheet.WhitespaceRules[idx].Reverse();
this.WhitespaceRules.AddRange(sheet.WhitespaceRules[idx]);
}
sheet.WhitespaceRules = null;
}
private void MergeAttributeSets(Stylesheet sheet) {
foreach (QilName attSetName in sheet.AttributeSets.Keys) {
AttributeSet attSet;
if (!this.AttributeSets.TryGetValue(attSetName, out attSet)) {
this.AttributeSets[attSetName] = sheet.AttributeSets[attSetName];
} else {
// Lower import precedence - insert before all previous definitions
attSet.MergeContent(sheet.AttributeSets[attSetName]);
}
}
sheet.AttributeSets = null;
}
private void MergeGlobalVarPars(Stylesheet sheet) {
foreach (VarPar var in sheet.GlobalVarPars) {
Debug.Assert(var.NodeType == XslNodeType.Variable || var.NodeType == XslNodeType.Param);
if (!AllGlobalVarPars.ContainsKey(var.Name)) {
if (var.NodeType == XslNodeType.Variable) {
GlobalVars.Add(var);
} else {
ExternalPars.Add(var);
}
AllGlobalVarPars[var.Name] = var;
}
}
sheet.GlobalVarPars = null;
}
public void MergeWithStylesheet(Stylesheet sheet) {
MergeWhitespaceRules(sheet);
MergeAttributeSets(sheet);
MergeGlobalVarPars(sheet);
}
public static string ConstructQName(string prefix, string localName) {
if (prefix.Length == 0) {
return localName;
} else {
return prefix + ':' + localName;
}
}
public bool ParseQName(string qname, out string prefix, out string localName, IErrorHelper errorHelper) {
Debug.Assert(qname != null);
try {
ValidateNames.ParseQNameThrow(qname, out prefix, out localName);
return true;
}
catch (XmlException e) {
errorHelper.ReportError(/*[XT_042]*/e.Message, null);
prefix = PhantomNCName;
localName = PhantomNCName;
return false;
}
}
public bool ParseNameTest(string nameTest, out string prefix, out string localName, IErrorHelper errorHelper) {
Debug.Assert(nameTest != null);
try {
ValidateNames.ParseNameTestThrow(nameTest, out prefix, out localName);
return true;
}
catch (XmlException e) {
errorHelper.ReportError(/*[XT_043]*/e.Message, null);
prefix = PhantomNCName;
localName = PhantomNCName;
return false;
}
}
public void ValidatePiName(string name, IErrorHelper errorHelper) {
Debug.Assert(name != null);
try {
ValidateNames.ValidateNameThrow(
/*prefix:*/string.Empty, /*localName:*/name, /*ns:*/string.Empty,
XPathNodeType.ProcessingInstruction, ValidateNames.Flags.AllExceptPrefixMapping
);
}
catch (XmlException e) {
errorHelper.ReportError(/*[XT_044]*/e.Message, null);
}
}
public readonly string PhantomNCName = "error";
private int phantomNsCounter = 0;
public string CreatePhantomNamespace() {
// Prepend invalid XmlChar to ensure this name would not clash with any namespace name in the stylesheet
return "\0namespace" + phantomNsCounter++;
}
public bool IsPhantomNamespace(string namespaceName) {
return namespaceName.Length > 0 && namespaceName[0] == '\0';
}
public bool IsPhantomName(QilName qname) {
string nsUri = qname.NamespaceUri;
return nsUri.Length > 0 && nsUri[0] == '\0';
}
// -------------------------------- Error Handling --------------------------------
private int ErrorCount {
get {
return CompilerResults.Errors.Count;
}
set {
Debug.Assert(value <= ErrorCount);
for (int idx = ErrorCount - 1; idx >= value; idx--) {
CompilerResults.Errors.RemoveAt(idx);
}
}
}
private int savedErrorCount = -1;
public void EnterForwardsCompatible() {
Debug.Assert(savedErrorCount == -1, "Nested EnterForwardsCompatible calls");
savedErrorCount = ErrorCount;
}
// Returns true if no errors were suppressed
public bool ExitForwardsCompatible(bool fwdCompat) {
Debug.Assert(savedErrorCount != -1, "ExitForwardsCompatible without EnterForwardsCompatible");
if (fwdCompat && ErrorCount > savedErrorCount) {
ErrorCount = savedErrorCount;
Debug.Assert((savedErrorCount = -1) < 0);
return false;
}
Debug.Assert((savedErrorCount = -1) < 0);
return true;
}
public CompilerError CreateError(ISourceLineInfo lineInfo, string res, params string[] args) {
return new CompilerError(
lineInfo.Uri, lineInfo.StartLine, lineInfo.StartPos, /*errorNumber:*/string.Empty,
/*errorText:*/XslTransformException.CreateMessage(res, args)
);
}
public void ReportError(ISourceLineInfo lineInfo, string res, params string[] args) {
CompilerError error = CreateError(lineInfo, res, args);
CompilerResults.Errors.Add(error);
}
public void ReportWarning(ISourceLineInfo lineInfo, string res, params string[] args) {
int warningLevel = 1;
if (0 <= Settings.WarningLevel && Settings.WarningLevel < warningLevel) {
// Ignore warning
return;
}
CompilerError error = CreateError(lineInfo, res, args);
if (Settings.TreatWarningsAsErrors) {
error.ErrorText = XslTransformException.CreateMessage(Res.Xslt_WarningAsError, error.ErrorText);
CompilerResults.Errors.Add(error);
} else {
error.IsWarning = true;
CompilerResults.Errors.Add(error);
}
}
}
internal class Output {
public XmlWriterSettings Settings;
public string Version;
public string Encoding;
public XmlQualifiedName Method;
// All the xsl:output elements occurring in a stylesheet are merged into a single effective xsl:output element.
// We store the import precedence of each attribute value to catch redefinitions with the same import precedence.
public const int NeverDeclaredPrec = int.MinValue;
public int MethodPrec = NeverDeclaredPrec;
public int VersionPrec = NeverDeclaredPrec;
public int EncodingPrec = NeverDeclaredPrec;
public int OmitXmlDeclarationPrec = NeverDeclaredPrec;
public int StandalonePrec = NeverDeclaredPrec;
public int DocTypePublicPrec = NeverDeclaredPrec;
public int DocTypeSystemPrec = NeverDeclaredPrec;
public int IndentPrec = NeverDeclaredPrec;
public int MediaTypePrec = NeverDeclaredPrec;
public Output() {
Settings = new XmlWriterSettings();
Settings.OutputMethod = XmlOutputMethod.AutoDetect;
Settings.AutoXmlDeclaration = true;
Settings.ConformanceLevel = ConformanceLevel.Auto;
Settings.MergeCDataSections = true;
}
}
internal class DecimalFormats : KeyedCollection {
protected override XmlQualifiedName GetKeyForItem(DecimalFormatDecl format) {
return format.Name;
}
}
internal class DecimalFormatDecl {
public readonly XmlQualifiedName Name;
public readonly string InfinitySymbol;
public readonly string NanSymbol;
public readonly char[] Characters;
public static DecimalFormatDecl Default = new DecimalFormatDecl(new XmlQualifiedName(), "Infinity", "NaN", ".,%\u20300#;-");
public DecimalFormatDecl(XmlQualifiedName name, string infinitySymbol, string nanSymbol, string characters) {
Debug.Assert(characters.Length == 8);
this.Name = name;
this.InfinitySymbol = infinitySymbol;
this.NanSymbol = nanSymbol;
this.Characters = characters.ToCharArray();
}
}
internal class NsAlias {
public readonly string ResultNsUri;
public readonly string ResultPrefix;
public readonly int ImportPrecedence;
public NsAlias(string resultNsUri, string resultPrefix, int importPrecedence) {
this.ResultNsUri = resultNsUri;
this.ResultPrefix = resultPrefix;
this.ImportPrecedence = importPrecedence;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DesignTimeParseData.cs
- MimeReflector.cs
- SecurityTokenAuthenticator.cs
- DataTableReaderListener.cs
- unitconverter.cs
- ContentHostHelper.cs
- ChtmlFormAdapter.cs
- SequenceDesignerAccessibleObject.cs
- QueueProcessor.cs
- CustomPopupPlacement.cs
- FlowDocumentPaginator.cs
- Rotation3D.cs
- OdbcDataReader.cs
- XsdValidatingReader.cs
- SqlPersonalizationProvider.cs
- TextRange.cs
- IgnoreSectionHandler.cs
- FontFaceLayoutInfo.cs
- HitTestFilterBehavior.cs
- UnsafeNativeMethods.cs
- InputMethodStateChangeEventArgs.cs
- HttpCookieCollection.cs
- SearchExpression.cs
- FontConverter.cs
- KnownTypesHelper.cs
- Span.cs
- GridEntryCollection.cs
- UnsafeNativeMethods.cs
- SpinLock.cs
- LineInfo.cs
- XNodeValidator.cs
- AdornedElementPlaceholder.cs
- DetailsViewInsertEventArgs.cs
- SqlVisitor.cs
- RoleManagerModule.cs
- SuppressMergeCheckAttribute.cs
- Crc32Helper.cs
- ManifestResourceInfo.cs
- WindowsRebar.cs
- StructuredTypeInfo.cs
- RelationshipEnd.cs
- IndexingContentUnit.cs
- UInt16Converter.cs
- ObjectConverter.cs
- PropertyValidationContext.cs
- VisualBasic.cs
- XmlBaseWriter.cs
- HitTestParameters3D.cs
- RectangleHotSpot.cs
- Directory.cs
- MeasurementDCInfo.cs
- M3DUtil.cs
- ScrollItemProviderWrapper.cs
- WebPartVerbsEventArgs.cs
- WorkflowDesignerColors.cs
- VersionPair.cs
- ToolStripComboBox.cs
- DelegateSerializationHolder.cs
- BookmarkScope.cs
- SortQuery.cs
- BlurEffect.cs
- PenLineJoinValidation.cs
- CompositeTypefaceMetrics.cs
- MULTI_QI.cs
- PreviewKeyDownEventArgs.cs
- _SSPIWrapper.cs
- SecurityAccessDeniedException.cs
- ColumnReorderedEventArgs.cs
- AvTrace.cs
- Span.cs
- MsmqIntegrationBindingElement.cs
- WebBrowserEvent.cs
- RelationshipEnd.cs
- ReadOnlyTernaryTree.cs
- BatchParser.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- PropertyPathWorker.cs
- Attributes.cs
- TransactionProtocolConverter.cs
- EasingKeyFrames.cs
- OutputCacheEntry.cs
- InvokeMethodDesigner.xaml.cs
- WindowsToolbarAsMenu.cs
- DeclaredTypeElement.cs
- PrintPreviewDialog.cs
- HttpWebRequestElement.cs
- DataGridViewColumn.cs
- Message.cs
- SignedXmlDebugLog.cs
- SingleAnimation.cs
- UInt32Storage.cs
- LinkClickEvent.cs
- XsdDateTime.cs
- ConfigurationProperty.cs
- Roles.cs
- SyntaxCheck.cs
- ChannelEndpointElement.cs
- MLangCodePageEncoding.cs
- ApplicationTrust.cs
- AudioStateChangedEventArgs.cs