e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
132 lines
3.8 KiB
C#
132 lines
3.8 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="RegexCompilationInfo.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
#if !SILVERLIGHT
|
|
|
|
using System;
|
|
using System.Runtime.Serialization;
|
|
using System.Runtime.Versioning;
|
|
|
|
namespace System.Text.RegularExpressions {
|
|
|
|
/// <devdoc>
|
|
/// <para>
|
|
/// [To be supplied]
|
|
/// </para>
|
|
/// </devdoc>
|
|
[ Serializable() ]
|
|
public class RegexCompilationInfo {
|
|
private String pattern;
|
|
private RegexOptions options;
|
|
private String name;
|
|
private String nspace;
|
|
private bool isPublic;
|
|
|
|
[OptionalField(VersionAdded = 2)]
|
|
private TimeSpan matchTimeout;
|
|
|
|
[OnDeserializing]
|
|
private void InitMatchTimeoutDefaultForOldVersionDeserialization(StreamingContext unusedContext) {
|
|
matchTimeout = Regex.DefaultMatchTimeout;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// <para>
|
|
/// [To be supplied]
|
|
/// </para>
|
|
/// </devdoc>
|
|
public RegexCompilationInfo(String pattern, RegexOptions options, String name, String fullnamespace, bool ispublic)
|
|
: this(pattern, options, name, fullnamespace, ispublic, Regex.DefaultMatchTimeout) {
|
|
}
|
|
|
|
public RegexCompilationInfo(String pattern, RegexOptions options, String name, String fullnamespace, bool ispublic, TimeSpan matchTimeout) {
|
|
Pattern = pattern;
|
|
Name = name;
|
|
Namespace = fullnamespace;
|
|
this.options = options;
|
|
isPublic = ispublic;
|
|
MatchTimeout = matchTimeout;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// <para>
|
|
/// [To be supplied]
|
|
/// </para>
|
|
/// </devdoc>
|
|
public String Pattern {
|
|
get { return pattern; }
|
|
set {
|
|
if (value == null)
|
|
throw new ArgumentNullException("value");
|
|
pattern = value;
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// <para>
|
|
/// [To be supplied]
|
|
/// </para>
|
|
/// </devdoc>
|
|
public RegexOptions Options {
|
|
get { return options; }
|
|
set { options = value;}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// <para>
|
|
/// [To be supplied]
|
|
/// </para>
|
|
/// </devdoc>
|
|
public String Name {
|
|
get { return name; }
|
|
set {
|
|
if (value == null) {
|
|
throw new ArgumentNullException("value");
|
|
}
|
|
|
|
if (value.Length == 0) {
|
|
throw new ArgumentException(SR.GetString(SR.InvalidNullEmptyArgument, "value"), "value");
|
|
}
|
|
|
|
name = value;
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// <para>
|
|
/// [To be supplied]
|
|
/// </para>
|
|
/// </devdoc>
|
|
public String Namespace {
|
|
get { return nspace; }
|
|
set {
|
|
if (value == null)
|
|
throw new ArgumentNullException("value");
|
|
nspace = value;
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// <para>
|
|
/// [To be supplied]
|
|
/// </para>
|
|
/// </devdoc>
|
|
public bool IsPublic {
|
|
get { return isPublic; }
|
|
set { isPublic = value;}
|
|
}
|
|
|
|
public TimeSpan MatchTimeout {
|
|
get { return matchTimeout; }
|
|
set { Regex.ValidateMatchTimeout(value); matchTimeout = value; }
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
#endif
|
|
|