* This method is internal virtual so the jit does not inline it.
*/
[
-#if !DISABLE_CAS_USE
+#if MONO_FEATURE_CAS
HostProtection(MayLeakOnAbort=true),
#endif
MethodImplAttribute(MethodImplOptions.NoInlining)
}
}
}
-
+
+ [CLSCompliant (false)]
+ protected IDictionary Caps
+ {
+ get
+ {
+ var dict = new Dictionary<int, int>();
+
+ foreach (int key in caps.Keys)
+ {
+ dict.Add (key, (int)caps[key]);
+ }
+
+ return dict;
+ }
+ set
+ {
+ if (value == null)
+ throw new ArgumentNullException("value");
+
+
+ caps = new Hashtable (value.Count);
+ foreach (DictionaryEntry entry in value)
+ {
+ caps[(int)entry.Key] = (int)entry.Value;
+ }
+ }
+ }
+
+ [CLSCompliant (false)]
+ protected IDictionary CapNames
+ {
+ get
+ {
+ var dict = new Dictionary<string, int>();
+
+ foreach (string key in capnames.Keys)
+ {
+ dict.Add (key, (int)capnames[key]);
+ }
+
+ return dict;
+ }
+ set
+ {
+ if (value == null)
+ throw new ArgumentNullException("value");
+
+ capnames = new Hashtable (value.Count);
+ foreach (DictionaryEntry entry in value)
+ {
+ capnames[(string)entry.Key] = (int)entry.Value;
+ }
+ }
+ }
+
/// <devdoc>
/// <para>
/// Returns the options passed into the constructor
#if !(SILVERLIGHT || FULL_AOT_RUNTIME)
/// <devdoc>
/// </devdoc>
-#if !DISABLE_CAS_USE
+#if MONO_FEATURE_CAS
[HostProtection(MayLeakOnAbort=true)]
#endif
[ResourceExposure(ResourceScope.Machine)] // The AssemblyName is interesting.
/// <devdoc>
/// </devdoc>
-#if !DISABLE_CAS_USE
+#if MONO_FEATURE_CAS
[HostProtection(MayLeakOnAbort=true)]
#endif
[ResourceExposure(ResourceScope.Machine)] // The AssemblyName is interesting.
CompileToAssemblyInternal(regexinfos, assemblyname, attributes, null);
}
-#if !DISABLE_CAS_USE
+#if MONO_FEATURE_CAS
[HostProtection(MayLeakOnAbort=true)]
#endif
[ResourceExposure(ResourceScope.Machine)]
return newcached;
}
-#if !(SILVERLIGHT||FULL_AOT_RUNTIME)
+#if !SILVERLIGHT
/*
* True if the O option was set
*/
/// <devdoc>
/// </devdoc>
protected bool UseOptionC() {
- /* Mono: Set to false until we investigate https://bugzilla.xamarin.com/show_bug.cgi?id=25671 */
- return false;
+#if FULL_AOT_RUNTIME
+ return false;
+#else
+
+#if MONO
+ /* Mono: Set to false until we investigate https://bugzilla.xamarin.com/show_bug.cgi?id=25671 */
+ return false;
+#else
return(roptions & RegexOptions.Compiled) != 0;
+#endif
+#endif
}
#endif