- var cas = TypeManager.gen_interlocked_compare_exchange;
- if (cas == null) {
- TypeSpec t = TypeManager.CoreLookupType (Compiler, "System.Threading", "Interlocked", MemberKind.Class, true);
- if (t != null) {
- var p = new ParametersImported (
- new[] {
- new ParameterData (null, Parameter.Modifier.REF),
- new ParameterData (null, Parameter.Modifier.NONE),
- new ParameterData (null, Parameter.Modifier.NONE)
- },
- new [] {
- new TypeParameterSpec (0, null, SpecialConstraint.None, Variance.None, null),
- new TypeParameterSpec (0, null, SpecialConstraint.None, Variance.None, null),
- new TypeParameterSpec (0, null, SpecialConstraint.None, Variance.None, null),
- }, false);
-
- var filter = new MemberFilter ("CompareExchange", 1, MemberKind.Method, p, null);
- cas = TypeManager.gen_interlocked_compare_exchange = TypeManager.GetPredefinedMethod (t, filter, Location);
- }
- }
-