aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Functor2.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Functor2.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Functor2.cs17
1 files changed, 9 insertions, 8 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Functor2.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Functor2.cs
index 4ae325e..6817d11 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Functor2.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Functor2.cs
@@ -51,6 +51,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
51 { 51 {
52 } 52 }
53 53
54 // disable warning on l1, don't see how we can
55 // code this differently
56 #pragma warning disable 0168
57 /// If arg is another Functor2, then succeed (yield once) if this and arg have the
58 /// same name and all functor args unify, otherwise fail (don't yield).
59 /// If arg is a Variable, then call its unify to unify with this.
60 /// Otherwise fail (don't yield).
54 public IEnumerable<bool> unify(object arg) 61 public IEnumerable<bool> unify(object arg)
55 { 62 {
56 arg = YP.getValue(arg); 63 arg = YP.getValue(arg);
@@ -59,27 +66,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
59 Functor2 argFunctor = (Functor2)arg; 66 Functor2 argFunctor = (Functor2)arg;
60 if (_name.Equals(argFunctor._name)) 67 if (_name.Equals(argFunctor._name))
61 { 68 {
62// disable warning: don't see how we can code this differently short
63// of rewriting the whole thing
64#pragma warning disable 0168
65 foreach (bool l1 in YP.unify(_arg1, argFunctor._arg1)) 69 foreach (bool l1 in YP.unify(_arg1, argFunctor._arg1))
66 { 70 {
67 foreach (bool l2 in YP.unify(_arg2, argFunctor._arg2)) 71 foreach (bool l2 in YP.unify(_arg2, argFunctor._arg2))
68 yield return false; 72 yield return false;
69 } 73 }
70#pragma warning restore 0168
71 } 74 }
72 } 75 }
73 else if (arg is Variable) 76 else if (arg is Variable)
74 { 77 {
75// disable warning: don't see how we can code this differently short
76// of rewriting the whole thing
77#pragma warning disable 0168
78 foreach (bool l1 in ((Variable)arg).unify(this)) 78 foreach (bool l1 in ((Variable)arg).unify(this))
79 yield return false; 79 yield return false;
80#pragma warning restore 0168
81 } 80 }
82 } 81 }
82 #pragma warning restore 0168
83
83 84
84 public override string ToString() 85 public override string ToString()
85 { 86 {