public static SCode Make(Primitive2 rator, Argument rand0, SCode rand1)
 {
     return
         ((rand0 is Argument0) ? PrimitiveIsObjectEqA0.Make(rator, (Argument0)rand0, rand1)
         : (rand0 is Argument1) ? PrimitiveIsObjectEqA1.Make(rator, (Argument1)rand0, rand1)
         : (rand1 is LexicalVariable) ? Unimplemented()
         : (rand1 is Quotation) ? PrimitiveIsObjectEqAQ.Make(rator, rand0, (Quotation)rand1)
         : new PrimitiveIsObjectEqA(rator, rand0, rand1));
 }
 PCondIsObjectEqAQSQ(PrimitiveIsObjectEqAQ predicate, SCode consequent, Quotation alternative)
     : base(predicate, consequent, alternative)
 {
     this.alternativeValue = alternative.Quoted;
 }
 public static SCode Make(PrimitiveIsObjectEqAQ predicate, SCode consequent, LexicalVariable alternative)
 {
     return
         (alternative is Argument) ? ((predicate.rand0Offset == alternative.Offset) ? PCondIsObjectEqAQSx.Make (predicate, consequent, (Argument) alternative) : PCondIsObjectEqAQSA.Make (predicate, consequent, (Argument) alternative)) :
         (alternative is LexicalVariable1) ? Unimplemented():
         new PCondIsObjectEqAQSL (predicate, consequent, alternative);
 }
 protected PCondIsObjectEqAQSL(PrimitiveIsObjectEqAQ predicate, SCode consequent, LexicalVariable alternative)
     : base(predicate, consequent, alternative)
 {
     this.alternativeName = alternative.Name;
     this.alternativeDepth = alternative.Depth;
     this.alternativeOffset = alternative.Offset;
 }
 public static SCode Make(PrimitiveIsObjectEqAQ predicate, SCode consequent, Argument alternative)
 {
     return
         (alternative is Argument0) ? Unimplemented() :
         (alternative is Argument1) ? Unimplemented () :
         new PCondIsObjectEqAQSA (predicate, consequent, alternative);
 }
 protected PCondIsObjectEqAQSA(PrimitiveIsObjectEqAQ predicate, SCode consequent, Argument alternative)
     : base(predicate, consequent, alternative)
 {
 }
 public static SCode Make(PrimitiveIsObjectEqAQ predicate, Quotation consequent, Argument alternative)
 {
     if (predicate.rand1Value == consequent.Quoted) Debugger.Break ();
     return
         new PCondIsObjectEqAQQx (predicate, consequent, alternative);
 }
 PCondIsObjectEqAQQx(PrimitiveIsObjectEqAQ predicate, Quotation consequent, Argument alternative)
     : base(predicate, consequent, alternative)
 {
 }
 public static SCode Make(PrimitiveIsObjectEqAQ predicate, Quotation consequent, Quotation alternative)
 {
     if (predicate.rand0Offset < 2) Debugger.Break ();
     return
         new PCondIsObjectEqAQQQ (predicate, consequent, alternative);
 }
 public static SCode Make(PrimitiveIsObjectEqAQ predicate, Quotation consequent, SCode alternative)
 {
     return
         (alternative is LexicalVariable) ? PCondIsObjectEqAQQL.Make (predicate, consequent, (LexicalVariable) alternative) :
         (alternative is Quotation) ? PCondIsObjectEqAQQQ.Make (predicate, consequent, (Quotation) alternative) :
         new PCondIsObjectEqAQQ (predicate, consequent, alternative);
 }
 protected PCondIsObjectEqAQQ(PrimitiveIsObjectEqAQ predicate, Quotation consequent, SCode alternative)
     : base(predicate, consequent, alternative)
 {
     this.consequentValue = consequent.Quoted;
 }
 public static SCode Make(PrimitiveIsObjectEqAQ predicate, LexicalVariable consequent, SCode alternative)
 {
     return
         (consequent is Argument) ? PCondIsObjectEqAQA.Make (predicate, (Argument) consequent, alternative):
         (consequent is LexicalVariable1) ? Unimplemented() :
         (alternative is LexicalVariable) ? Unimplemented () :
         (alternative is Quotation) ? Unimplemented() :
         new PCondIsObjectEqAQL (predicate, consequent, alternative);
 }
 protected PCondIsObjectEqAQL(PrimitiveIsObjectEqAQ predicate, LexicalVariable consequent, SCode alternative)
     : base(predicate, consequent, alternative)
 {
     this.consequentName = consequent.Name;
     this.consequentDepth = consequent.Depth;
     this.consequentOffset = consequent.Offset;
 }
 protected PCondIsObjectEqAQ(PrimitiveIsObjectEqAQ predicate, SCode consequent, SCode alternative)
     : base(predicate, consequent, alternative)
 {
     this.rand1Value = predicate.rand1Value;
 }
 public static SCode Make(PrimitiveIsObjectEqAQ predicate, SCode consequent, Argument alternative)
 {
     return
         new PCondIsObjectEqAQSx (predicate, consequent, alternative);
 }