Example #1
0
 internal override bool Equals(Opcode op)
 {
     if (base.Equals(op))
     {
         StringEqualsOpcode opcode = (StringEqualsOpcode)op;
         return(opcode.literal == this.literal);
     }
     return(false);
 }
Example #2
0
        internal override LiteralRelationOpcode ValidateOpcode(Opcode opcode)
        {
            StringEqualsOpcode opcode2 = opcode as StringEqualsOpcode;

            if (opcode2 != null)
            {
                return(opcode2);
            }
            return(null);
        }
Example #3
0
        internal override LiteralRelationOpcode ValidateOpcode(Opcode opcode)
        {
            StringEqualsOpcode numOp = opcode as StringEqualsOpcode;

            if (null != numOp)
            {
                return(numOp);
            }

            return(null);
        }
Example #4
0
        internal override void Add(Opcode op)
        {
            StringEqualsOpcode opcode = op as StringEqualsOpcode;

            if (opcode == null)
            {
                base.Add(op);
            }
            else
            {
                StringEqualsBranchOpcode with = new StringEqualsBranchOpcode();
                base.prev.Replace(this, with);
                with.Add(this);
                with.Add(opcode);
            }
        }
Example #5
0
        internal override void Add(Opcode op)
        {
            StringEqualsOpcode strEqOp = op as StringEqualsOpcode;

            if (null == strEqOp)
            {
                base.Add(op);
                return;
            }
            Fx.Assert(null != this.prev, "");

            StringEqualsBranchOpcode branch = new StringEqualsBranchOpcode();

            this.prev.Replace(this, branch);
            branch.Add(this);
            branch.Add(strEqOp);
        }