public static new SCode Make(Primitive2 rator, SCode rand0, SCode rand1) { return ((rand0 is PrimitiveObjectType && Configuration.EnableObjectTypePrimitives) ? RewriteAsSameType((PrimitiveObjectType)rand0, rand1) : (rand0 is Quotation) ? PrimitiveIsObjectTypeQ.Make(rator, (Quotation)rand0, rand1) : //(rand1 is Quotation) ? PrimitiveIsObjectTypeSQ.Make (rator, rand0, (Quotation) rand1) : (rand1 is Argument) ? PrimitiveIsObjectTypeXA.Make(rator, rand0, (Argument)rand1) : new PrimitiveIsObjectType(rator, rand0, rand1)); }
public static SCode Make(PrimitiveIsObjectTypeQ predicate, SCode consequent, SCode alternative) { return //((TC) predicate.rand0Value == TC.BIG_FLONUM) ? PCondIsBigFlonum.Make (Flatten ((TC) predicate.rand0Value, Primitive.IsBigFlonum, predicate.Rand1), consequent, alternative) : //((TC) predicate.rand0Value == TC.RATNUM) ? PCondIsBigFlonum.Make (Flatten ((TC) predicate.rand0Value, Primitive.IsRatnum, predicate.Rand1), consequent, alternative) : //((TC) predicate.rand0Value == TC.VECTOR) ? PCondIsVector.Make (Flatten ((TC) predicate.rand0Value, Primitive.IsVector, predicate.Rand1), consequent, alternative) : //(predicate is PrimitiveIsObjectTypeQL) ? PCondIsObjectTypeQL.Make ((PrimitiveIsObjectTypeQL) predicate, consequent, alternative) : //(consequent is Quotation) ? Unimplemented() : //(alternative is Quotation) ? Unimplemented() : (new PCondIsObjectTypeQ(predicate, consequent, alternative)); }
public static SCode Make(PrimitiveIsObjectTypeQ predicate, SCode consequent, SCode alternative) { return //((TC) predicate.rand0Value == TC.BIG_FLONUM) ? PCondIsBigFlonum.Make (Flatten ((TC) predicate.rand0Value, Primitive.IsBigFlonum, predicate.Rand1), consequent, alternative) : //((TC) predicate.rand0Value == TC.RATNUM) ? PCondIsBigFlonum.Make (Flatten ((TC) predicate.rand0Value, Primitive.IsRatnum, predicate.Rand1), consequent, alternative) : //((TC) predicate.rand0Value == TC.VECTOR) ? PCondIsVector.Make (Flatten ((TC) predicate.rand0Value, Primitive.IsVector, predicate.Rand1), consequent, alternative) : //(predicate is PrimitiveIsObjectTypeQL) ? PCondIsObjectTypeQL.Make ((PrimitiveIsObjectTypeQL) predicate, consequent, alternative) : //(consequent is Quotation) ? Unimplemented() : //(alternative is Quotation) ? Unimplemented() : new PCondIsObjectTypeQ (predicate, consequent, alternative); }
protected PCondIsObjectTypeQ(PrimitiveIsObjectTypeQ predicate, SCode consequent, SCode alternative) : base(predicate, consequent, alternative) { this.rand0Value = predicate.rand0Value; }