public static Trigger TryToGetTrigger(ITerm t) { if (t.GetType() == typeof(Trigger)) { return((Trigger)t); } if (t.IsPlanBody()) { IPlanBody p = (IPlanBody)t; if (p.GetPlanSize() == 1) { TEOperator op = null; if (p.GetBodyType() == BodyType.Body_Type.addBel) { op = TEOperator.add; } else if (p.GetBodyType() == BodyType.Body_Type.delBel) { op = TEOperator.del; } if (op != null) { Literal l = ((Literal)p.GetBodyTerm().Clone()).ForceFullLiteralImpl(); l.DelAnnot(BeliefBase.TSelf); return(new Trigger(op, TEType.belief, l)); } } } if (t.IsString()) { return(AsSyntax.ParseTrigger(((IStringTerm)t).GetString())); } return(null); }
public Trigger(TEOperator op, TEType t, Literal l) : base("te", 0) { this.literal = l; this.op = op; this.type = t; SetTrigOp(op); SetSrcInfo(l.GetSrcInfo()); }
public void SetTrigOp(TEOperator o) { op = o; predicateIndicatorCache = null; }